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