nodeという小型マイコンボードがあります。Groveセンサーが二つ繋げられて、WiFiで通信できます。nodeに繋いだセンサーデーターをNode-RED経由でAmbientに送ってグラフ化しました。手軽にIoTのプロトタイプシステムが作れます。Studio社が開発したマイコンボードです(上の写真。右は大きさの比較に置いた単3乾電池)。ESP8266というマイコンチップを搭載し、Groveセンサーが二つ繋げられ、WiFiで通信ができます。今回、センサーとしては温湿度センサーと光センサーを接続しました。nodeとGroveセンサーの設定は[こちらのページ](http://codezine.jp/article/detail/9654)を参考にしました。nodeをNode-REDで扱う方法は[こちらのページ](http://codezine.jp/article/detail/9624)を参考にしました。全体の構成と流れ全体の構成は次の図のようになっています。Mluemix上でも動かしてみました。全体の大まかな流れは次のようになっています。nodeのsensorノードは温湿度センサーのように複数のデーターを返すセンサーであっても、そのうちのどれか一つの値を返すように作られています。そこで三つのsensorノードを置き、それぞれで温度、湿度、明るさデーターを取得し、その後にjoin関数で三つのデーターが揃うのを待つようにしました。nodeとの通信処理が含まれます。通信がエラーになった場合を考慮し、join関数ではただ待つのではなく、タイムアウトを設定し、一定時間以内に三つのデーターが揃わなかった場合、タイムアウトして一つまたは二つのデーターで処理を継続するようにしました。sensorノードは次のように設定しています。Objectに設定しました。三つのsensorノードの出力はそれぞれ次のような形式になります。...}という形式なので、データー形式を変換する次のような関数を書きました。nodeのセンサーで測定した温度、湿度、明るさがAmbientサイトでグラフでみることができます。左のグラフに温度と湿度を、右のグラフに明るさを表示しています。動かすここまでは、Node-REDはMac上で動かしていました。このシステムを常時動かすにはNode-REDをクラウドで動かしたほうが便利です。Bluemixは高機能なクラウドサービスで、コンポーネントの一つとしてNode-REDが用意されているので、今回のシステムをBluemixで動かしてみました。nodeノードやAmbientノードをインストールする方法は少し分かりにくかったのでメモを残します。BluemixのNode-REDにサードパーティー・ノードをインストールするBluemixのダッシュボードで「Gitの追加」をクリックする。ダイアローグが現れるので、「継続」「閉じる」をクリックするとGitリポジトリーが作られる。「コードの編集」をクリックする。package.jsonを選択し、その中のdependenciesに追加したいサードパーティー・ノードを追加する。今回は次の2行を追加しました。"node-red-contrib-ambient":"0.0.x"「BUILD&DEPLOY」をクリックする。Gitのcommitとpushを促されるので、commitしてpushすると、BUILDされ、DEPLOYされる。nodeノードとambientノードが追加されているまとめGroveセンサーには豊富な種類のセンサーが用意されているので、アイデア次第で様々なIoTシステムを短時間に組み立てることができます。Sleepさせて低消費電力で待つといった使い方ができません。バッテリーで長時間動かすのは厳しく、実験やプロトタイプなどで使うのに適しているようです。