17
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Node-REDAdvent Calendar 2017

Day 10

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

Posted at

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週間ほど設置していたのですが、
自分以外のタイムスタンプが記録されていたらどうしようかと
ドキドキしていたことを付け加え、締めさせていただきます。

17
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?