データを可視化するAmbientというサービスを触ってみたく、Node-REDノードを使ってlittleBitsと連携してみたメモです。
インストール
RaspberryPiのNode-REDにインストールします。
このように、littleBitsの光センサーモジュールの値をRaspberryPi内のNode-RED経由で送るようにしています。
こちらに従ってインストールします。
cd ~/.node-red npm install node-red-contrib-ambient
無事、Ambientが登場しインストールされました。
また、littleBits Arduinoには、FirmataをインストールしてNode-REDのArduinoノードで制御するメモをベースにFirmataをインストールしておきます。
Node-REDのフローを作る
このように、littleBitsの光センサーモジュールの値をRaspberryPi経由で送るようにしています。RaspberryPiNode-REDのフローを作っていきます。
- Arduinoノード
- littleBits Arduinoから値を取得し
- トリガーノード
- そのままだとリアルタイムに値が来て負荷をかけそうなので5秒おき動作
- functionノード
- Ambient用にデータの加工
- Ambientノード
- チャネルIDとライトキーを設定
という構成です。
Arduinoノードは光センサーモジュールがつながっているA0ポートを指定。
トリガーモジュールは値を5秒ごとに送る設定。
functionノードは、データ1としてセンサー値 msg.payload をd1配下に加工するものです。
AmbientノードではAmbientでのチャネルIDとライトキーを設定します。
実際にグラフ化してみる
Myチャネルから、先ほどのNode-RED Ambientノードで送っているチャネルをクリック。
グラフの設定画面に行くので、 ボタンをクリック。
グラフの詳細設定。今回はd1でデータが来るので左軸のチェックにして表示させます。表示件数は50。グラフサイズはlarge。
というわけで、今回のネタに光センサーが光の明暗を感知させていきます。
グラフが反映されていきます!
ちなみに、直近のゆらぎは、上記の撮影をしていたときの私自身の影の反応です笑
まとめ
Ambientサービス楽しいですね。
おかげさまで、Node-REDにノードがあったので、すんなり可視化できました。Ambientには、ドキュメントが豊富で事例もたくさんあるので、やってみようという気持ちになりやすくよいですね!
今回は、littleBits + Arduinoモジュールで試してみましたが、光センサーをボタンや圧力センサーなど変更することで、色々な可視化ができます。可視化によって、IoTの入口となる部分を伝えることができそうです。
それでは、よき Ambient & littleBits Lifeを!