Posted at
Node-REDDay 10

デバイスもクラウドもNode-REDを使ってIoTしてみる

More than 1 year has passed since last update.

Raspberry PiとクラウドのNode-REDを利用して、

簡単なIoTプロトタイピングを楽にやってみよう、というコンセプトの記事です。


概要

家に置いたRaspberry Piに繋いだ人感センサーで検知したデータを、

外にいながらウォッチするというシステムを作りました。

Watson IoT Platformを間に挟んで、

デバイス側とクラウド側の両方をNode-REDで構成します。

image2.PNG

デバイスはこちら。

DSC_1707.jpg

Raspberry Pi Zeroに人感センサーを接続しています。

USBハブの先についているドングルは、WiFi子機です。

自宅の無線LANに繋がっています。


メリット


  • プログラミング(コーディング)はゼロあるいは最小限で実現できる

  • 短時間で設定して試して遊べる


使用したもの


  • Raspberry Pi

  • センサー類

  • Bluemix(IBM Cloud)のアカウント


なんでIBM Cloud(Bluemix)?

他のクラウドでも同様の環境を構築できますが、

Node-REDをワンボタンでデプロイできることや、

Raspberry Piから、Watson IoTに接続するノードを

すぐ使うことができるので、一番楽だという理由です。


つくってみよう


クラウド側の準備

IBM Cloudから、Watson IoT Platformと

Node-REDを利用開始します。

まず、Node-REDをデプロイします。ここでつけた名前がURLになります。

02_LI.jpg

Watson IoT Platformでは、

デバイスを登録して、認証情報を取得します。

はじめて利用する場合は、

デバイスタイプの作成⇒デバイスの登録

という順で実施します。

IoTサービスの開始。

06.PNG

新しいデバイスタイプを設定します。

101.PNG

Raspberry Piというデバイスタイプを作りました。

102.PNG

続いて、デバイスの登録をします。

104.PNG

先ほどのデバイスタイプを選択し、デバイスを登録

105.PNG

自動生成トークンで発行します。

107.PNG

自動生成された認証情報が表示されます。

この認証情報は、Raspberry Pi側のNode-REDの設定を行う場合に利用します。

110.PNG

これで、Raspberry PiとWatson IoT Platformの

接続準備はできました。

次に、Watson IoT Platformとクラウド側のNode-REDを

連携する設定を行います。

IoTの画面の接続から、

クラウド側のNode-REDと「接続」を設定します。

114.PNG

これだけです。Watson IoT Platformの設定はできました。


クラウド側のNode-REDの設定

Node-REDのアプリURLにアクセスします。

00.PNG

Raspberry Piから飛ばしたデータを、Web画面で表示するため、

データのビジュアライゼーションとして

Dashboardノードを使用します。

(Dashboardノードは、@dz_さんから教えてもらいました!)

Dashboardノードは、ノードを追加する設定を行う必要があります。

Node-RED右上のメニューからパレットの管理で、dashboardノードを検索します。

17.PNG

今回、時刻処理をするため、momentノードも一緒に追加しました。

17.PNG

Raspberry Piからきた情報を処理するため、IBM IoTノードを設定します。

120.PNG

できたフローはこのようになりました。

19.PNG

途中で行っているデータ型の変換は

IBM IoTから引っ張ってきたデータの構成をそのまま画面に流しこんでも

うまく動作しなかったため、いれています。

処理としては、JSONデータであがってきたデータを、payload直下に配置しなおしています。

audio outは生成したメッセージを再生するのに使っているのですが、

今回の用途では不要でした。。。

これでクラウド側の設定も完了です。


デバイス側のNode-REDの設定

最後にデバイスを設定します。

Raspberry PiにNode-REDがプリインストールされているので、起動します。

今回、人感センサーを接続し、それをインプット情報として

Watson IoT Platformに送ります。

14.PNG

Watson IoT Platformへの接続は、

1でメモした認証情報を設定します。

13.PNG

最終的にできたフローはこのようになりました。

switchでは、pin40が1(人感センサー)が検知したときだけ、

クラウドに情報を送信するという設定をしています。

21.PNG

あとは、これを自宅の玄関に設置して、完成です!


できたもの

玄関の出入りの時間を、記録します。

ダッシュボードのURLにアクセスすれば、

外出先からも参照可能です。

20.PNG

Node-REDたーのしー!

なお、1週間ほど設置していたのですが、

自分以外のタイムスタンプが記録されていたらどうしようかと

ドキドキしていたことを付け加え、締めさせていただきます。