AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を...

20
AWS Lambda をををををををををををををををををSORACOM Air をををを をををををををををををををを をををををを をを ()

Transcript of AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を...

Page 1: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

AWS Lambda を使って、毎日の歩数をツィートしつつ、SORACOM Air の速度をアメとムチ的に変えるアプリを作ってみた話(仮)

Page 2: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

自己紹介名前:和田 健一郎職種:アプリエンジニア ( 元々 Java な人 )所属:アイレット株式会社 cloudpack 事業部 (まだ入社一月未満です。)Twitter : @Keni_W ( ガンダムネタ多め )好きな AWS のサービス :EC2 最近 Lambda に恋し始めました。

Page 3: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

話の元ネタ的なこと今年の 4 月に Yahoo! の MyThings というサービスを使い、 JAWBORN というブランドの活動量計のデータを取得して、歩数をツィートしつつ、 SORACOM Air の速度を変える簡単なアプリを作りました。

Page 4: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

設定は、歩数が 10000 歩以上だったら、 SORACOM Air の速度を s1.fast にするって仕組みにしていたのですが・・・大きな欠点がありました。

Page 5: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

あげたら、下げられないんです・・・orz 。

Page 6: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

設定画面こんな感じ

Page 7: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

いわゆる、 else if がないので、「この歩数だったら、この速度にする」ってことができませんでした。

Page 8: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

じゃあ、どーするよ。・・・ってことで考えました。

Page 9: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

AWS 、要は AWS Lambda を使って、自分で作ってしまおう。

Page 10: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

まあ、調べてみると、JAWBONE も API も公開されているので、できそうだなぁ・・・。

Page 11: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

仕組みスマートフォン

SORACOMAir SIM

API Call

API CallAPI Call

Lambda の起動は毎日 PM11 時。

Bluetooth アプリ

Page 12: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

・ AWS Lambda(Node.js) を利用。・ Jawbone API の Node.js 版のライブラリがあったので、それを利用。・ Jawbone API を叩いて、当日の歩数と前日の歩数を取得し、当日の歩数および前日差で、 SORACOM Airの速度を決定。・ SORACOM API を Node.js 上で叩いて速度変更。・歩数と変更後の速度をツイート。

Page 13: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

実際どーすんの?当初の仕組みを作っていたブログを書いていた段階では、速度変更対象の SIM を使っていない状況でした。例えば、・・・

Page 14: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)
Page 15: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

つまり、歩けば歩くほど、回線速度があがる。快適にポケモン GO ができる。サボると回線速度が下がるから、頑張って歩くようになる。=>結果・・・健康になる・・・???

Page 16: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

デモ(時間があったら)実際は、23 時に cron 起動させる予定ですが、デモなので、実際の Lambda の画面で起動させます。

Page 17: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

まとめ実際の構築は、だいたい 3 時間ぐらい。API で値が取れたり、速度の変更ができれば、あとは簡単でした。なお、 SORACOM さんは、非常に公式ドキュメントが充実しているので、めちゃくちゃ助かりました。

Page 18: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

Lambda に関しては、業務的に使うものであれば、色々と考えないといけないのですが、ちょっとしたアプリなら、すぐにできてしまいます。また、 BluePoint もたくさん用意されています。

Page 19: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

アプリケーションエンジニアはもちろん、インフラエンジニアの方も一度はやってみるべきです。そんなにコストもかかりませんし。 リクエストのうち毎月最初の 1,000,000 件は無料 その後は 0.20 USD/1,000,000 件のリクエスト( 0.0000002 USD/ リクエスト)個人的には Java の例が少ないのが残念なところ。

Page 20: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)

参考ページなど・ UP for Developers: Home - Jawbone

https://jawbone.com/up/developer

・橋本商会 » Jawbone Up の API で睡眠時間などを取得する - shokai.org

http://shokai.org/blog/archives/8742

・ UP by jawbone の API を触ってみた - rela1470 のブログ http://rela1470.hatenablog.jp/entry/2016/03/28/200440

・ node-jawbone-up

https://github.com/ryanseys/node-jawbone-up

・ node.js + express-generator + passport で Jawbone UP フィットネスデータをグラフ表示http://qiita.com/daiki7nohe/items/415837ca9cf093a87bd7

・ SORACOM API Reference

https://dev.soracom.io/jp/docs/api/

・ AWS Lambda で Twitter Bot を作る Part1 | SENAN

http://senan.main.jp/2015/12/25/aws-lambda%E3%81%A7twitter-bot%E3%82%92%E4%BD%9C%E3%82%8B-part1/