enebularのアンケートにご協力いただきありがとうございました。一つ一つ読ませていただいておりますが、その中でAmbientやLINEと連携についてのご要望などがありました。今回の記事ではAmbientノードを使ったフローをご紹介します。
Ambientとは
IoTデータの可視化サービスで、アカウント登録と数ステップの設定でデータをすぐに可視化することができます。
AmbientはIoTデータの可視化サービスです。マイコンなどから送られるセンサデータを受信し、蓄積し、可視化(グラフ化)します。
https://ambidata.io/
Ambientノード
Ambientにデータを送信するためのNode-REDノードが公開されています。
早速、enebular editorのパレットの管理から追加してみましょう。


サンプルフロー
0-99のランダムな整数をAmbientに送信して、グラフを作ってみたいと思います。

Ambientの設定
チャネルを作ります。

空のボードができますので、ギアアイコンの左横にあるグラフのボタンをクリックします。

チャートの設定を「散布図」にして、d1をx軸、d2をy軸にします。

設定を保存します。
ノードのプロパティ
enebular editorのフローに戻ります。
Change ノード
changeノードを使ってランダムな整数を作ります。
JSONataを使うと簡単です。
$random() → 0以上、1未満の疑似乱数を返します。
$floor(number) → number の値を number 以下の最も近い整数値へ切り捨てた値を返します。
$floor($random()*100)
と書けば、0-99迄のランダムな整数を2つ返します。これをd1とd2の2つに設定したいので、
msg.d1とmsg.d2にJSONata式を記載します。

Template ノード
payloadのデータを作るには、Templateノードを使うと便利です。Ambientに送る形式に従ってテンプレートを設定します。
“Ambientにデーターを送信する時は、データーを次のようなJSON形式でmsg.payloadにセットします。
{“d1”:データー1, “d2”:データー2, “d3”:データー3, …}データーは8種類、”d1″から”d8″まで送ることができます。Ambientはデーターを受信すると、受信時刻と合わせてデーターを蓄積します。”
https://ambidata.io/samples/dataprocess/node-red/

Ambient ノード
ノードのプロパティを開いて、チャネルIDとライトキーを入力します。

完成
フローができたら、一番左のInjectノードのボタンをクリックしてフローを起動します。Ambientは5秒毎にデータを受け入れるので、連続してクリックするときは、注意してください。

ボードに追加したチャート「散布図」にデータが表示されました。

まとめ
IoTデータ可視化サービスAmbientとNode-REDを使ったサンプルをご紹介しました。
ぜひAmbientとenebularを使ってIoTにチャレンジしてみてください。