IoT
node-red
Ambient

Node-REDでAmbientにデーター送信して可視化する

More than 1 year has passed since last update.

Node-REDからAmbientにデーターを送信して、可視化(グラフ化)する方法を説明します。


Ambient

Ambientは、マイコンから送られるセンサーデーターなどを受信し、蓄積し、可視化(グラフ化)するIoTデーター可視化サービスです。

Ambient structure

Ambientを使うにはユーザー登録(無料)が必要です。ユーザー登録し、ログイン後のページで「チャネルを作る」ボタンをクリックするとチャネルが生成され、「チャネルId」と「ライトキー」が設定されます。Ambientにデーターを送信する時は、この「チャネルId」と「ライトキー」を使います。

channel create

Ambientの使い方の大まかな流れは「Ambientを使ってみる」をご覧ください。


Ambientノードのインストールと初期設定

Node-REDのルートディレクトリーで次のようにAmbientパッケージをインストールします。

$ cd $HOME/.node-red

$ npm install node-red-contrib-ambient

インストールすると、Node-REDのパレットの「advanced」カテゴリーにAmbientノードが追加されます。

Ambientにデーターを送信するために、まずAmbientノードをパレットからワークスペースにドラッグし、パレット上でAmbientノードをダブルクリックして、データーを送信するチャネルの「チャネルId」と「ライトキー」を設定します。

edit node


擬似データーを送って動作確認

Ambientにデーターを送信する時は、データーを次のようなJSON形式でmsg.payloadにセットします。

{"d1":データー1, "d2":データー2, "d3":データー3, ...}

データーは8種類、"d1"から"d8"まで送ることができます。Ambientはデーターを受信すると、受信時刻と合わせてデーターを蓄積します。Ambientサイトを見ると送信したデーターをグラフ化して見ることができます。グラフはデーターを受信するとリアルタイムに更新されます。

擬似データーを使ってAmbientの動作確認をしてみます。次のような簡単なflowを作りました。

sample flow

Functionノードで次のように"d1"、"d2"それぞれに0から99までの乱数をセットして次に送る関数を書きました。

msg.payload={

"d1": Math.floor(Math.random()*100),
"d2": Math.floor(Math.random()*100)
};
return msg;

Injectノードをクリックすると"d1"と"d2"に乱数がセットされ、Ambientに送られてグラフ化されます。ただし、Ambientの最短受信間隔は5秒ですので、5秒未満で次のデーターを送っても受信されません。

Ambientサイトで見ると、このようにグラフ化されるのが確認できます。

chart