LoginSignup
4
4

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-09-20

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

4
4
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
4
4