AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を...
Transcript of AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を...
![Page 1: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/1.jpg)
AWS Lambda を使って、毎日の歩数をツィートしつつ、SORACOM Air の速度をアメとムチ的に変えるアプリを作ってみた話(仮)
![Page 2: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/2.jpg)
自己紹介名前:和田 健一郎職種:アプリエンジニア ( 元々 Java な人 )所属:アイレット株式会社 cloudpack 事業部 (まだ入社一月未満です。)Twitter : @Keni_W ( ガンダムネタ多め )好きな AWS のサービス :EC2 最近 Lambda に恋し始めました。
![Page 3: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/3.jpg)
話の元ネタ的なこと今年の 4 月に Yahoo! の MyThings というサービスを使い、 JAWBORN というブランドの活動量計のデータを取得して、歩数をツィートしつつ、 SORACOM Air の速度を変える簡単なアプリを作りました。
![Page 4: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/4.jpg)
設定は、歩数が 10000 歩以上だったら、 SORACOM Air の速度を s1.fast にするって仕組みにしていたのですが・・・大きな欠点がありました。
![Page 5: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/5.jpg)
あげたら、下げられないんです・・・orz 。
![Page 6: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/6.jpg)
設定画面こんな感じ
![Page 7: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/7.jpg)
いわゆる、 else if がないので、「この歩数だったら、この速度にする」ってことができませんでした。
![Page 8: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/8.jpg)
じゃあ、どーするよ。・・・ってことで考えました。
![Page 9: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/9.jpg)
AWS 、要は AWS Lambda を使って、自分で作ってしまおう。
![Page 10: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/10.jpg)
まあ、調べてみると、JAWBONE も API も公開されているので、できそうだなぁ・・・。
![Page 11: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/11.jpg)
仕組みスマートフォン
SORACOMAir SIM
API Call
API CallAPI Call
Lambda の起動は毎日 PM11 時。
Bluetooth アプリ
![Page 12: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/12.jpg)
・ AWS Lambda(Node.js) を利用。・ Jawbone API の Node.js 版のライブラリがあったので、それを利用。・ Jawbone API を叩いて、当日の歩数と前日の歩数を取得し、当日の歩数および前日差で、 SORACOM Airの速度を決定。・ SORACOM API を Node.js 上で叩いて速度変更。・歩数と変更後の速度をツイート。
![Page 13: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/13.jpg)
実際どーすんの?当初の仕組みを作っていたブログを書いていた段階では、速度変更対象の SIM を使っていない状況でした。例えば、・・・
![Page 14: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/14.jpg)
![Page 15: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/15.jpg)
つまり、歩けば歩くほど、回線速度があがる。快適にポケモン GO ができる。サボると回線速度が下がるから、頑張って歩くようになる。=>結果・・・健康になる・・・???
![Page 16: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/16.jpg)
デモ(時間があったら)実際は、23 時に cron 起動させる予定ですが、デモなので、実際の Lambda の画面で起動させます。
![Page 17: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/17.jpg)
まとめ実際の構築は、だいたい 3 時間ぐらい。API で値が取れたり、速度の変更ができれば、あとは簡単でした。なお、 SORACOM さんは、非常に公式ドキュメントが充実しているので、めちゃくちゃ助かりました。
![Page 18: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/18.jpg)
Lambda に関しては、業務的に使うものであれば、色々と考えないといけないのですが、ちょっとしたアプリなら、すぐにできてしまいます。また、 BluePoint もたくさん用意されています。
![Page 19: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/19.jpg)
アプリケーションエンジニアはもちろん、インフラエンジニアの方も一度はやってみるべきです。そんなにコストもかかりませんし。 リクエストのうち毎月最初の 1,000,000 件は無料 その後は 0.20 USD/1,000,000 件のリクエスト( 0.0000002 USD/ リクエスト)個人的には Java の例が少ないのが残念なところ。
![Page 20: AWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)](https://reader033.fdocument.pub/reader033/viewer/2022042605/586fb9971a28abe57d8b84a3/html5/thumbnails/20.jpg)
参考ページなど・ 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/