センサー取得とデータ表示を試してみる
ここまでの設定、お疲れさまでした。センサー取得とデータ表示を試してみましょう。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に付け替えて適切なアクションを考えたりと触ってみると、より楽しみながら考えが深められるので、ぜひ試行錯誤してみてください。