センサー取得とデータ表示を試してみる
ここまでの設定、お疲れさまでした。センサー取得とデータ表示を試してみましょう。Wio NodeデバイスとNode-REDを実際に連携してみます。
温度データを7セグメント4桁ディスプレイに表示

このように、Watson IoT PlatformのQuickStartの温度データを発信するダミーアプリからNode-REDがWio Node APIに橋渡しをしてWio Nodeデバイスの7セグメント4桁ディスプレイに温度データを表示します。
こちらの記事を参考に以下アドレスにアクセスします。

アクセスすると、上図のように温度データを発信するのダミーアプリが表示されるので、右上のデバイスIDをコピーします。このデバイスIDの値はアクセスするたびにランダムに生成されます。今回はa142ca1532cdです。

Node-REDに戻り、アプリデータを受信するIBM IoT App InというIBM IoTノードをクリックします。

ノードの設定は以下のとおりです。
| タイトル | 設定内容 | 設定内容の補足 |
|---|---|---|
| Authentication | Quickstart | |
| Input Type | Device Event | |
| Device Id | 先ほどの控えていたデバイスID | 今回はa142ca1532cd |
| Name | IBM IoT App In |

設定を終えてデプロイします。

数秒待つと温度データが7セグメント4桁ディスプレイに表示に表示されます。

先ほどのテストセンサーアプリですと18度となっていたので、18と表示されます。

このセンサーアプリは下部の上下ボタンで温度が上下できるので、13度とすれば連動して変化します。
超音波距離センサモジュールの値をQuickStartのグラフで可視化する

Wio Nodeデバイスの超音波距離センサモジュールが測定している障害物との距離データをWio Node API経由でNode-REDが1秒ごと随時送信するようにWatson IoT Platformへ橋渡しをして、Watson IoT PlatformのQuickStartでグラフで可視化します。

Debug output payloadのデバッグノードをONにした状態にします。

超音波距離センサモジュールを手を近づけてみます。

そうすると、デバッグウィンドウで超音波距離センサモジュールの反応が確認できます。

手を最も近づけたときは1.67cmや2.4cmと表示され、話したときは部屋の天井が検知されて166.02となりました。
つづいて、超音波距離センサモジュールの値をNode-REDで連携できたのでQuickStartのグラフで可視化してみます。まずNode-REDをフローを作り変えていきます。

Wio sensorノードの後にFunctionノードを加えます。

ソースコードは以下のように記述します。
// Create MQTT message in JSON
msg = {
payload: JSON.stringify(
{
d:{
"range" : msg.payload // デバックログに出ていた超音波距離センサモジュールの値
}
}
)
};
return msg;

msg.payloadに先ほどデバックログに出ていた超音波距離センサモジュールの値が入っているので、QuickStartのグラフで可視化できるようなデータ構造に加工します。

つづいて、IBM IoT 送信ノードを加えます。

Watson IoT Platform QuickStartに接続できるように上記の設定にします。

| タイトル | 設定内容 | 設定内容の補足 |
|---|---|---|
| Authentication | Quickstart | |
| Device Id | WioNodeRange | QuickStartで監視するデバイスID |
| Event Type | update | イベントタイプはupdateにします |
| Data | range:10 | |
| Name | Send to IBM IoT Platform |

今回設定したノードを確認してNode-REDをデプロイします。
いよいよ、データを可視化してみます。Watson IoT Platform QuickStartにアクセスします。

デバイスIDの入力エリアに今回のデバイスID WioNodeRangeを入力し、進むボタンを押します。

しばらく待っていると、超音波距離センサモジュールの値が折れ線グラフで表示されます。
まとめ
このように、システムからデータをデバイスに表示したり、センサーデータをシステムで可視化したりの流れを、BluemixとWio Nodeでつかむことができました。
IoTは、デバイス制御にはじまり、サーバーによる収集やデータ蓄積、さらに展開する上でのセキュリティなど、個々の技術要素もさることながら、それぞれの技術が連携するという全体像を捉えることも大事です。
今回のWio NodeはWioアプリでデバイス制御のプログラムとAPIの構築は任せて、「データを取得した後にどう扱う?」「サーバー側からどういうきっかけでデバイスを動かす?」というその先の技術の連携に注力できます。
Wio Nodeに装着できるGroveパーツは多数あるので、センサーを光センサーや温度センサーに付け替えて測定するものを替えてグラフ可視化を行ったり、サーバーからきっかけを受け取るパーツをモーターやLEDに付け替えて適切なアクションを考えたりと触ってみると、より楽しみながら考えが深められるので、ぜひ試行錯誤してみてください。
