データを可視化するAmbientのNode-REDノードを使ってlittleBitsと連携してみたメモ

データを可視化するAmbientというサービスを触ってみたく、Node-REDノードを使ってlittleBitsと連携してみたメモです。

インストール

RaspberryPiのNode-REDにインストールします。

ambient-node-red-littlebits-first-step_1

このように、littleBitsの光センサーモジュールの値をRaspberryPi内のNode-RED経由で送るようにしています。

こちらに従ってインストールします。

Library – Node-RED

cd ~/.node-red
npm install node-red-contrib-ambient

ambient-node-red-littlebits-first-step_2

無事、Ambientが登場しインストールされました。

また、littleBits Arduinoには、FirmataをインストールしてNode-REDのArduinoノードで制御するメモをベースにFirmataをインストールしておきます。

Node-REDのフローを作る

ambient-node-red-littlebits-first-step_3

このように、littleBitsの光センサーモジュールの値をRaspberryPi経由で送るようにしています。RaspberryPiNode-REDのフローを作っていきます。

  • Arduinoノード
    • littleBits Arduinoから値を取得し
  • トリガーノード
    • そのままだとリアルタイムに値が来て負荷をかけそうなので5秒おき動作
  • functionノード
    • Ambient用にデータの加工
  • Ambientノード
    • チャネルIDとライトキーを設定

という構成です。

ambient-node-red-littlebits-first-step_4

Arduinoノードは光センサーモジュールがつながっているA0ポートを指定。

ambient-node-red-littlebits-first-step_5

トリガーモジュールは値を5秒ごとに送る設定。

ambient-node-red-littlebits-first-step_6

functionノードは、データ1としてセンサー値 msg.payload をd1配下に加工するものです。

ambient-node-red-littlebits-first-step_7

AmbientノードではAmbientでのチャネルIDとライトキーを設定します。

実際にグラフ化してみる

ambient-node-red-littlebits-first-step_8

Myチャネルから、先ほどのNode-RED Ambientノードで送っているチャネルをクリック。

ambient-node-red-littlebits-first-step_9

グラフの設定画面に行くので、image.png (793 B) ボタンをクリック。

ambient-node-red-littlebits-first-step_10

グラフの詳細設定。今回はd1でデータが来るので左軸のチェックにして表示させます。表示件数は50。グラフサイズはlarge。

ambient-node-red-littlebits-first-step_11

というわけで、今回のネタに光センサーが光の明暗を感知させていきます。

ambient-node-red-littlebits-first-step_12

グラフが反映されていきます!

ちなみに、直近のゆらぎは、上記の撮影をしていたときの私自身の影の反応です笑

まとめ

Ambientサービス楽しいですね。

おかげさまで、Node-REDにノードがあったので、すんなり可視化できました。Ambientには、ドキュメントが豊富で事例もたくさんあるので、やってみようという気持ちになりやすくよいですね!

今回は、littleBits + Arduinoモジュールで試してみましたが、光センサーをボタンや圧力センサーなど変更することで、色々な可視化ができます。可視化によって、IoTの入口となる部分を伝えることができそうです。

それでは、よき Ambient & littleBits Lifeを!