10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Node-REDAdvent Calendar 2017

Day 12

WioLTEで取得したデータをenebular経由でごにょごにょする

Last updated at Posted at 2017-12-17

##概要
Wio LTEを入手したので、土壌湿度センサーから取得した値をもとに、観葉植物の様子をTwitterに通知してくれるような仕組みを作ってみました。

image.png

##使用したモノやサービス

  • Wio LTE JP Version(マイコンボード)
  • SORACOM Air SIM
  • GROVE 水分センサ
  • enebular
  • Milkcocoa
  • Twitter

##システムの全体像
image.png

enebularを使ってマイコンモジュールからやってくるデータと、SNSやデータストアサービス間の連携をさせています。

まずWio LTEで取得した土壌センサーの値をenebularに向けてhttp postします。次にenebularではhttp postをトリガーに、Milkcocoaへのデータ蓄積とTwitterへのツイートを行っています。

##Wio LTEについて
Seeed社が開発しているマイコンモジュールで、下記のような特徴があります。

  1. Groveコネクタが搭載されているため、はんだ付け無しでGroveのセンサーやアクチュエーターを使用できる
  2. LTEモジュールが搭載されているため、SIMカードを挿入すればインターネットに接続できる
  3. Arduino IDEを使った開発ができる

ざっくりいうと、ハードの知識があまりなくても、インターネットにつながったプロトタイプが作れるといったウマウマなモジュールなのです。

####参考リンク

##enebularについて
enebularは株式会社ウフルのサービスで、Node-REDのフローをブラウザ上で編集し、さまざまな環境にデプロイして動かすことができるサービスです。
直感的にクラウドサイドの開発を進めることができるという、これもウマウマなサービスです。

####参考リンク

##デバイス側(Wio LTE)の開発
Node-REDのアドベントカレンダーに投稿する用の記事なので、Arduinoのスケッチについては詳しく触れませんが、スケッチのサンプルが充実しているので特に迷うことなく実装できました。
スケッチのサンプルはWioLTEのGitHubのページから確認することができます。

今回は下記のスケッチのサンプルを見て、ライブラリの使い方やメソッドの使い方の参考にしました。

  • grove/grove-rotary-angle-sensor

analog入力値を取得するAPIの使い方が確認できます。土壌湿度センサーの値を取得するための参考にしました。

  • http/ifttt-webhook(http

http通信するためのライブラリの使い方が確認できます。enebularに取得データをhttp postするための参考にしました。

####参考リンク

##クラウド側(enebular)の開発
image.png

httpノードでWioLTEからのhttp postを受け取り、これをトリガーにしてフローが動き始めます。Milkcocoaノードで、受け取った土壌湿度データをMilkcocoaに保存しています。続いてswitchノードで土壌湿度の値に応じて分岐させ、functionノードで土壌湿度に応じたtwitter用のメッセージを編集しています。最後にTwitterノードを使用し編集したメッセージを呟きます。

結果

Wio LTEから30分に一回、データを送信させたところ、定期的にフローが動いてTwitterに連携することができました!またMilkcocoaにもデータを溜めることができました!

###Twitterのタイムライン
image.png

###Milkcocoaのデータストア
image.png

##はまったポイント

Wio LTEからhttp postする先はどこ?

image.png

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の値が格納されることが分かります。

image.png

##まとめ

  • Wio LTEとenebularを組み合わせればサクッとIoTプロトタイピングができる。
  • Wio LTEのサンプルスケッチを見ればたいていのことはわかる。
  • ノードの使い方が分からないときはinfoタブの情報を読むようにしよう。
  • これで水やりを忘れることはない。
10
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?