記事一覧

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Arduino+Node-RED+Adafruit IOでIoT

 Node-REDとAdafruit IOを使用して、Arduinoで計測したセンサ・データの収集、およびデバイスを制御する方法を説明します。

 ※Adafruit IOのアカウントは作成済みのこととします。

■センサー・データの収集
 センサーデータを計測するためのArduinoのセットアップ、および回路については、「Adafruit IO+Arduino+MQTTでIoT‐センサー・データの収集」を参照してください。

1.フロー(flow)の作成
 次のように「arduino in」「fuinction」「mqtt out」ノードを接続し、フローを作成します。
2016010501.png

「debug」ノードは確認のために入れています。

2.プロパティの設定
 各ノードのプロパティを次のように設定します。

・arduino in
2016010502.png

・function
2016010503.png

次のコードを入力します。

msg.payload= msg.payload * 5 / 1024 * 100;
return msg;

・mqtt out
2016010504.png
 「Topic」には、トピック名を「<ユーザー名>/feeds/<フィード名>」の形式で指定します。「Welcome Dashboard」の各ブロックは、「Welcome Feed」フィードに紐づけされているので、ユーザー名が「taro」なら、「taro/feeds/Welcome Feed」になります。

 「Server」の設定は、「鉛筆」アイコンのボタンをクリックし、「Connection」タブと「Security」タブで次のように設定します。
2016010505.png
2016010506.png

 「Username」のAdafruit IOのユーザー名を、「Password」のAIO KEYを入力します。AIO KEYは、ダッシュボード右上の鍵アイコン(Your secret AIO KEY)をクリックすると確認できます。

3.フローのデプロイ
 「Deploy」をクリックします。

4.動作の確認
 ブラウザでAdafruit IOのWelcome Dashboardを開きます。
2016010507.png

■センサー・データの監視と通知
 温度が30℃より大きくなったら、Gmailで通知するようにフローを作成します。

1,次のように、「switch」「template」「email」ノードを追加します。
2016010514.png

2.プロパティの設定
 各ノードのプロパティを次のように設定します。

・switch
2016010515.png

・template
2016010516.png

・email
2016010517.png

「To」に送信先のメールアドレスを、「Userid」にGoogleアカウントのユーザー名(通常はGmailのアドレスと同じ、「Password」にGoogleアカウントのパスワードを入力します。

注意点:Googleアカウントの設定
 Googleアカウントの「ログインとセキュリティ」の設定で、「安全性の低いアプリの許可」を「有効」にします。この設定が有効でないと、ログインエラーは発生します。
2016010518.png


■デバイスの制御
 Arudinoのセットアップと制御回路、およびデバイスを制御するのためのAdafruit IOのフィード、ダッシュボード、ブロックの作成方法については、「Adafruit IO+Arduino+MQTTでIoT‐デバイスの制御」を参照してください。

1.フロー(flow)の作成
 次のように「mqtt in」「fuinction」「arduino out」ノードを接続し、フローを作成します。
2016010508.png

2.プロパティの設定
 各ノードのプロパティを次のように設定します。

・mqtt in
2016010509.png
 「Topic」には、トピック名を「<ユーザー名>/feeds/<フィード名>」の形式で指定します。今回は、「LED」フィードを使用するので、ユーザー名が「taro」なら、「taro/feeds/LED」となります。

 「Server」の設定は、「鉛筆」アイコンのボタンをクリックし、「Connection」タブと「Security」タブで次のように設定します。
2016010510.png
2016010511.png

・function
2016010512.png

次のコードを入力します。

if(msg.payload === 'ON') {
msg.payload = 1;
} else {
msg.payload = 0;
}
return msg;

・arduino out
2016010513.png

3.フローのデプロイ
 「Deploy」をクリックします。

4.動作の確認
ダッシュボードのスイッチを操作し、LEDがオン/オフすることを確認ます。

2016010418.png
スポンサーサイト

コメント

コメントの投稿

非公開コメント

ads

プロフィール

部員3号

Author:部員3号
FC2ブログへようこそ!

kindle本

最新コメント

温度計

ads

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。