2016年6月17日金曜日

Node-REDでIchigoJamを制御する

 Node-REDでIchigoJamを制御する方法を説明します。
 Node-REDを使うことで、Adafruit IO、IFTTT、M2XなどのIoTプラットフォームとのデータの送受信が簡単にできるようになります。
 
 Node-REDのインストール方法は、次の記事の①②手順を参照してください。

○PCとIchigoJamの接続
 Node-REDでIchigoJamを制御するには、シリアル通信を使います。USBシリアル変換ケーブルなどで、PCとIchigoJamを接続します。


 上記ケーブルを使用した場合は、次のように接続します。

ケーブル
IchigoJam
RXD(白)
TXD
TXD(緑)
RXD
VCC(赤)
CN5の1ピン
GND(黒)
CN5の5ピン


















○LEDの制御その1
 まず、基本として、IchigoJamのオンボードのLEDをオン・オフするフローを作成します。

①「inject」ノードを2つ、「serial」ノード(output)を次のように配置、接続します。
 
②1つ目の「inject」ノードのダブルクリックし、プロパティを表示します。
③「string」を選択します。
 
④「Payload」に「LED1」と入力し、[OK]ボタンをクリックします。
 
Payload(msg.payload)は、Node-REDで処理するデータを格納するプロパティ(変数)です。ここでは、IchigoJamのBASIC命令の「LED1」を格納しています。

⑤2つ目の「inject」ノードのダブルクリックしてプロパティを表示し、「string」を選択し、「Payload」に「LED0」と入力し、[OK]ボタンをクリックします。
「serial」ノード(output)のダブルクリックしてプロパティを表示し、通信に使用するポートを選択し、[鉛筆]ボタンをクリックします。
 
⑦「add split character to output messages」のチェックをオンにし、[Update]ボタンを」クリックします。
 
※他の項目が図の設定内容と異なる場合、図と同じになるように変更してください。
「Deploy」をクリックし、フローをデプロイします。
 
⑨「inject」ノードの「LED1」の左側のボタンをクリックしてLEDが点灯、inject」ノードの「LED0」の左側のボタンをクリックしてLEDが消灯することを確認します。
 


○LEDの制御その2
 LEDを5秒間隔で点滅させるフローを作成します。
①「inject」「function」「serial」(output)「debug」ノードを次のように配置、接続します。
 
「debug」ノードは無くても構いません。
②「inject」ノードのプロパティを表示し、[Repeat]を「interval」に設定し、[every]を「5」「seconds」に設定します。
 
③「function」ノードのプロパティを表示し、[Function]に次のコードを入力します。
context.led = !context.led || false;
var cont;
if (context.led) {
cont = 0;
}else{
cont = 1;
}
msg.payload="LED"+cont;
return msg;
view raw led_blink1.js hosted with ❤ by GitHub


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

⑤「Deploy」をクリックし、フローをデプロイします。
※デプロイすると、5秒間隔でLEDが点滅します。

0 件のコメント:

コメントを投稿