らずらいと姫の挑戦日記(第33回)~Node-redでAmbient♪~
2016-12-14
今回は超簡単に使えるAmbientというグラフツールの紹介です。
Ambientというのは無料で使用することが出来て、簡単に数値をグラフ化することが出来るクラウドです。今回は、このクラウドの使い方の紹介です。
サーバー側の設定
AmbientのTOPページはこちらです
まず、「公開チャネル」というのがあるので見てみましょう。色々な人がモニタリングを行っていますね。
さて早速ですが、使用してみましょう。
まずは「ユーザ登録」です。
シンプルな画面ですね!
登録が完了したら、ログインしてMyチャネルに移動します。
「チャネルを作る」ボタンを押します。今回は「電流センサー」というチャネルを作りました。
ここで生成されたキーを使用してNode-REDからデータを送信します。
Raspberry Pi側の設定
初期設定
今回も初期設定が完了しているところからのスタートとさせて頂きます。Node-REDの設定はこちらをご覧ください。
node-red-contrib-ambientのインストール
Raspberry Piを起動したら、
[bash]
cd ~/.node-red
sudo npm install node-red-contrib-ambient
[/bash]
を実行してAmbientのライブラリをインストールします。
メニュー画面からNode-REDを起動し、ブラウザーを起動して、「http://127.0.0.1:1880」にアクセスすると、「Advanced」にAmbientのノードがあるのが解ります。
そして、「Lazurite Rx」、「Function」、「Ambient」、「debug」のノードをこのように並べて線で繋ぎます。
Lazuriteの設定は、このようにしました。
- ch = 36
- panid = 0xabcd
- rate = 100kbps
- pwr = 20mW
- 1秒間隔でデータを更新
- 最後のデータのみ取得
Ambientのノードをダブルクリックすると、このような画面が開きましたので、先ほど登録したチャンネルのIDとライトキーを入力していきます。
また、このとき右側の画面にデータの書式が記載されていますので、これに従ってデータを作成してみます。
Functionをダブルクリックし、次のプログラムを書きこんで、Deployをクリックします。
[java]
var newMsg;
newMsg = {"payload":{"d1":parseFloat(msg.payload.split(",")[0])}}
return newMsg;
[/java]
そうすると、数値がサーバーに入りグラフ化することが出来ました!
冒頭にも掲載したこちらのグラフは、パソコンやモニターの電源に電流センサーを付けて1日値を取得した結果になります。
本当に簡単ですね~♪なので、ぜひ皆様もチャレンジしてみてください!!