2016年6月18日土曜日

Node-RED+IchigoJam+Adafruit IOでIoT

 Node-RED+IchigoJam+Adafruit IOでデータ送受信を行う方法を説明します。


○データの送信
◇Adafruit IOの準備
 次にように操作して、Adafruit IOのフィード、ダッシュボード、ブロックを作成します。

1.Feed(フィード)の作成
 次のように操作して、データを取得するためのFeedを作成します。
①Adafruit IOにサインインし、「Welcome Dashboard」を表示します。
②[MY DASHBOARDS]をクリックします。
③「Your Feeds」→[CREATE FEED]をクリックします。
④「NAME」に「Temperature」と入力し、[CREATE FEED]をクリックします。

2.Dashboard(ダッシュボード)の作成
 次のように操作して、デバイスの制御に使用するDashboardを作成します。
①「Your Dashboards」→[CREATE DASHBOARD]をクリックします。
②「DASHBOARD NAME」にダッシュボードの名前を入力し、[CREATE DASHBOARD ]をクリックします。

3.blockの作成
 次のように操作して、データを表示するためのgauge(ゲージ)を作成します。
①右上の[+](Create a new block)をクリックします。
②ゲージの[CREATE]をクリックします。
③「Temperature」フィードの「CHOOSE」をクリックし、[NEXT STEP>]をクリックします。
④[CREATE BLOCK]をクリックします。
⑤右上の[DONE EDITING]ボタンをクリックします。

フローの作成
①次のように「serial」(input)、「mqtt」(output)ノードを接続し、フローを作成します。
 
②「serial」(input)ノードのプロパティを表示して通信に使用するポートを選択し、[鉛筆]ボタンをクリックし、「add split character to output messages」のチェックをオンにし、[Update]ボタンを」クリックします。
 
※他の項目が図の設定内容と異なる場合、図と同じになるように変更してください。

③「mqtt(output)ノードのプロパティを表示して[鉛筆]ボタンをクリックします。
④[Server]に「io.adafruit.com 」と入力します。
 

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

⑥[Topic]にトピック名を「<ユーザー名>/feeds/<フィード名>」の形式で入力し、[OK]ボタンをクリックします。
 

⑦「Deploy」をクリックし、フローをデプロイします。


BASICプログラムの入力
 IchigoJamに次のプログラムを入力し、実行します。

10 ?ANA(2)-860
20 WAIT 100
30 GOTO 10

※ここでは、温度センサーなどは接続せずに、「アナログ入力値-860」をデータとして送信することとします。

動作の確認
①ブラウザで作成したDashboard(ダッシュボード)を表示します。
②ゲージにデータが表示されることを確認します。
 


○データの受信(LEDの制御)
◇Adafruit IOの準備
 次にように操作して、Adafruit IOのフィード、ダッシュボード、ブロックを作成します。
1.Feed(フィード)の作成
 次のように操作して、デバイスの制御に使用するFeedを作成します。
①Adafruit IOにサインインし、「Welcome Dashboard」を表示します。
②[MY DASHBOARDS]をクリックします。
③「Your Feeds」→[CREATE FEED]をクリックします。
④「NAME」にフィード名(ここでは「LED」とします)を入力し、[CREATE FEED]をクリックします。

2.Dashboard(ダッシュボード)の作成
 次のように操作して、デバイスの制御に使用するDashboardを作成します。
①「Your Dashboards」→[CREATE DASHBOARD]をクリックします。
②「DASHBOARD NAME」にダッシュボードの名前を入力し、[CREATE DASHBOARD ]をクリックします。

3.blockの作成
 次のように操作して、デバイスの制御に使用するblock(トグルボタン)を作成します。
①右上の[+](Create a new block)をクリックします。
②トグルボタンの[CREATE]をクリックします。
③「LED」フィードの「CHOOSE」をクリックし、[NEXT STEP>]をクリックします。
④[CREATE BLOCK]をクリックします。


















 「BOTTON ON TEXT」と「BOTTON ON TEXT」は、オン/オフの状態を示す文字列と同時に、送信されるメッセージになります。この場合、オンにしたときには「ON」、オフにしたときは「OFF」という文字列が送信されます
⑤ページをリロードします。
フローの作成
①次のように「mqtt」(input)、「function」、「serial」(output)ノードを接続し、フローを作成します。
 
②「mqtt」(input)ノードのプロパティを表示して[鉛筆]ボタンをクリックします。
③[Server]に「io.adafruit.com 」と入力します。
④「Security」タブを選択し、「Username」のAdafruit IOのユーザー名を、「Password」のAIO KEYを入力し、[Update]ボタンをクリックします。AIO KEYは、ダッシュボード右上の鍵アイコン(Your secret AIO KEY)をクリックすると確認できます。
⑤[Topic]にトピック名を「<ユーザー名>/feeds/<フィード名>」の形式で入力し、[OK]ボタンをクリックします。
 

⑥「function」ノードのプロパティを表示し、次のコードを入力します。
if(msg.payload ==='ON'){
msg.payload = "LED1";
}else{
msg.payload = "LED0";
}
return msg;
view raw led_blink3.js hosted with ❤ by GitHub

 

⑦「serial」(output)ノードのプロパティを表示して通信に使用するポートを選択し、[鉛筆]ボタンをクリックし、「add split character to output messages」のチェックをオンにし、[Update]ボタンを」クリックします。
 
※他の項目が図の設定内容と異なる場合、図と同じになるように変更してください。

⑧「Deploy」をクリックし、フローをデプロイします。

動作の確認
①ブラウザで作成したDashboard(ダッシュボード)を表示します。
②トグルボタンのONでLEDが点灯、OFFでLEDが消灯することを確認します。

0 件のコメント:

コメントを投稿