4.2.2. Node-RED 例: LoRa®パケットの送信

このセクションではNode-REDによるLoRa®パケットの送信例を紹介します。

この例ではinject入力ノードを作成し、injectノードの左部分をクリックすると、図4‐9に示すようにゲートウェイを介して送信されるパケットがトリガーされます。


 図4‐9 LoRa®パケットの送信例

 

最初に入力からinject、関数からfunction、出力からdebugおよびloraを[フロー 1]にドラッグし、これらのノードを図4‐9のように接続します。

次にinjectノードをダブルクリックすると、図4‐10のダイアログがポップアップ表示されます。データ型として文字列を選択し、[Payload]フィールドに実際の文字列(ここでは「Hello LoRa」)を入力します。


 図4‐10 injectノードの編集

 

次のステップでは図4-11に示すようにfunctionノードをダブルクリックしノードにJavaScriptコードに従って入力します。

次にこのフローをデプロイし、injectノードの左側をクリックすると毎回送信されるパケットがトリガーされます。

 

var send_string = new Buffer(msg.payload).toString('Base64');
var send_json = '{' +
	'"imme":true, ' +
	'"freq": 915.5, ' +
	'"rfch": 0, ' +
	'"powe": 14, ' +
	'"modu": "LORA", ' +
	'"datr": "SF11BW125", ' +
	'"codr": "4/6", ' +
	'"ipol": false, ' +
	'"size": ' + msg.payload.length + ', ' +
	'"data": "' + send_string + '"' +
	'}';
msg.payload = send_json;
return msg;

 

 図4-11 functionノードの編集