Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

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タブの情報を読むようにしよう。
  • これで水やりを忘れることはない。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした