この記事は、SORACOM Advent Calendar 2017の14日目の記事です。
IoT初心者が12月に発売されたGrove IoT スターターキット for SORACOMで色々とやってみた記事です。
Grove IoT スターターキット for SORACOM やってみた
12月1日の発売開始後、購入し、翌2日に到着。あまりの早さにびっくり。
- 当日(12月1日)
ソラコムさん、仕事早いなー。 Grove IoT スターターキット for SORACOMの出荷準備出来たらしい。#soracom
— Kenichiro Wada (@Keni_W) 2017年12月1日
- 翌日(12月2日)到着!
うおー。もう届いたぞ。ありがとうございます!これはこいつを試してSORACOM Advent Calendarに書くというのが必須な流れですな。#soracom https://t.co/bTJ2BWNyn3
— Kenichiro Wada (@Keni_W) 2017年12月2日
12月3日には、値の取得&SORACOM Air経由で、SORACOM Funnelでデータを格納し、参照するところまで完了。
- ケースを開けたところ
- 説明書に従って、DHT11を繋いだところ
- PC上でデータ確認
初心者なのですが、あまり悩まずできました。多分これのおかげ!
ほんと素晴らしい説明書です。
やっていた中で、以下の点で苦戦しました。
- SIMがうまく入らない
- 入れて、コンソールみたら、オフラインだったので、???。
- 答えは・・・・MicroSDカードスロットに差し込んでました。
- 入れて、コンソールみたら、オフラインだったので、???。
- WinLTEにプログラムを書き込めない
- 毎回DFUモードにしないとダメでした。
- ここはもしかしたら、やり方間違っていただけかも・・・
- 毎回DFUモードにしないとダメでした。
・・・苦戦というほど、苦戦していません。
さて、ここでふと思ったのは、こんなに簡単にできてしまっては、やってみました記事は書けないのでは・・・(汗)
どうしようかと、考えていたところ、ふと目に入ったのは、家にあったAmazon Echo。
そうだ!Amazon Echoにデータを話させてみよう!
Echoに話させてみる
ということで、やったことは以下。
- Alexa Skill Kit(ASK)でカスタムスキルを作成
- スキルから呼び出すLambdaを作成
- Lambda内で、SORACOM APIをコール
実際の作業としては、
- ASKのintentでパターンを何個か定義
- 色々作ってみたものの、なかなか認識してくれない悲しみに遭遇。
- slotでSIMの名前、データの種類(とりあえず気温と湿度)、日付を定義
- SIMの名前はオプションのIDにSORACOMで登録してある名前を定義して、Lambda側で変換処理を不要にしました。
- AlexaからLambdaを呼ぶところは、LambdaのBluePointの「alexa-skills-kit-color-expert」をベースに作成。
- SORACOMのAPI呼び出しは、前にAWS Lambdaを使って、 毎日の歩数をツィートしつつ、 Soracom Airの速度を アメとムチ的に変えるアプリを 作ってみた話(仮)で、認証部分とかは作っていたので、それをカスタマイズして使いました。
- 余談ですが、開発は、re:invent 2017で発表されたCloud9を利用しました。
- 開発・テスト・デプロイまでできるので、結構便利。
2日間ぐらい夜な夜なTry & Errorを繰り返し(エラーになるというよりは、そもそもEchoが認識してくれないことが大半)て、なんとか完成!
多分、リビングでEchoに指示出しては、「わかりません」とか「ごめんなさい」とか言われていたので、端から見ればかなりやばかったかも。。。
ということで、話している動画(呼び出しの部分は録画し忘れました。)です。
感想
- Grove IoT スターターキット for SORACOMですが、ブレッドボードとか抵抗とかいらず、ケーブルを繋げばできるので、非常に初心者向きのキットだと思いました。
- 付属のセンサーでも楽しめるはず(まだ試してないですが)ですし、Groveのセンサー自体は、他にも色々あるので、それを買ってきて、拡張して、できそうだなと思いました。
- SORACOM APIはドキュメントが整っているので、非常に使いやすいです。
参考にした記事など
Grove IoT
@kuronyankotan さんのGrove IoT スターターキット for SORACOM の開封の儀 - kuronyankotan.com
SORACOM DevelopersのLTEモデム搭載プロトタイプ向けデバイス Wio LTE をセットアップする
SeeedJP のWio LTE for Arduinoのwiki
Alexa Skill Kit
Amazon DeveloperのAlexa Skills Kitによるスキルの作成
@chroju さんのAmazon Echo (Alexa) のSkillの開発に必要な基本概念を押さえる
@ryo_naka さんのAmazon EchoのSkillで何かを作ってみて申請してみる
この場を借りて御礼申し上げます。
今後
- Grove IoTでもっと遊びます。
- まだまだ改善できると思うので、ロジックも見直します。
- 仮のタイトルで一度出しましたが、Alexaで速度変更とか、有効・無効の処理を実装してみたいと思います。
- SIMの登録は・・・IMSI等を認識させられる自信がないのでなしの予定。
おまけ
Echoと会話するのは、滑舌良くないとダメですね。認識率1割ぐらいかなーと。。。