##概要
Wio LTEを入手したので、土壌湿度センサーから取得した値をもとに、観葉植物の様子をTwitterに通知してくれるような仕組みを作ってみました。
##使用したモノやサービス
- Wio LTE JP Version(マイコンボード)
- SORACOM Air SIM
- GROVE 水分センサ
- enebular
- Milkcocoa
enebularを使ってマイコンモジュールからやってくるデータと、SNSやデータストアサービス間の連携をさせています。
まずWio LTEで取得した土壌センサーの値をenebularに向けてhttp postします。次にenebularではhttp postをトリガーに、Milkcocoaへのデータ蓄積とTwitterへのツイートを行っています。
##Wio LTEについて
Seeed社が開発しているマイコンモジュールで、下記のような特徴があります。
- Groveコネクタが搭載されているため、はんだ付け無しでGroveのセンサーやアクチュエーターを使用できる
- LTEモジュールが搭載されているため、SIMカードを挿入すればインターネットに接続できる
- Arduino IDEを使った開発ができる
ざっくりいうと、ハードの知識があまりなくても、インターネットにつながったプロトタイプが作れるといったウマウマなモジュールなのです。
####参考リンク
- Wio LTEについて https://soracom.jp/products/wio_lte/
- Groveシステムについて http://wiki.seeed.cc/Grove_System/
##enebularについて
enebularは株式会社ウフルのサービスで、Node-REDのフローをブラウザ上で編集し、さまざまな環境にデプロイして動かすことができるサービスです。
直感的にクラウドサイドの開発を進めることができるという、これもウマウマなサービスです。
####参考リンク
- enebularについて https://enebular.com/
##デバイス側(Wio LTE)の開発
Node-REDのアドベントカレンダーに投稿する用の記事なので、Arduinoのスケッチについては詳しく触れませんが、スケッチのサンプルが充実しているので特に迷うことなく実装できました。
スケッチのサンプルはWioLTEのGitHubのページから確認することができます。
今回は下記のスケッチのサンプルを見て、ライブラリの使い方やメソッドの使い方の参考にしました。
- grove/grove-rotary-angle-sensor
analog入力値を取得するAPIの使い方が確認できます。土壌湿度センサーの値を取得するための参考にしました。
- http/ifttt-webhook(http
http通信するためのライブラリの使い方が確認できます。enebularに取得データをhttp postするための参考にしました。
####参考リンク
- WioLTE(GitHub):https://github.com/SeeedJP/WioLTEforArduino/wiki/Home-ja
httpノードでWioLTEからのhttp postを受け取り、これをトリガーにしてフローが動き始めます。Milkcocoaノードで、受け取った土壌湿度データをMilkcocoaに保存しています。続いてswitchノードで土壌湿度の値に応じて分岐させ、functionノードで土壌湿度に応じたtwitter用のメッセージを編集しています。最後にTwitterノードを使用し編集したメッセージを呟きます。
結果
Wio LTEから30分に一回、データを送信させたところ、定期的にフローが動いてTwitterに連携することができました!またMilkcocoaにもデータを溜めることができました!
##はまったポイント
Wio LTEからhttp postする先はどこ?
WioLTEからどのURLにhttp postすればいいかをちょっと悩みました。
httpノードを含んだフローをデプロイするとherokuのURLがiマークから参照できるようになります。
今回はhttpノードのプロパティに/test
を設定しているので、Wio LTEからはURL+/test
にhttp postすればいいわけです。
###http postで受け取った値はどこに格納される?
httpノードにdebugノードを引っ付けてデバッグすると、http postに関する色々な値が表示されます。自分がbodyに格納したはずのオブジェクトがどこにあるかわかりませんでした。
実はhttpノードのinfoをみるとちゃんと書いてあり、msg.req.body
オブジェクトにbodyの値が格納されることが分かります。
##まとめ
- Wio LTEとenebularを組み合わせればサクッとIoTプロトタイピングができる。
- Wio LTEのサンプルスケッチを見ればたいていのことはわかる。
- ノードの使い方が分からないときはinfoタブの情報を読むようにしよう。
- これで水やりを忘れることはない。