クラウドアダプタを使用してAWS IoTへデータを送信する(Node-RED版)

本ページでは、Kiwitec社のLoRaWANゲートウェイ機器「TLG3901シリーズ」上に搭載されているNode-REDを用い、クラウドアダプタを経由してAWS IoTへデータを送信する流れを説明します。

Kiwitec TLG3901のセットアップ

Kiwitec社のLoRaWANゲートウェイ機器「TLG3901シリーズ」のセットアップ方法は、以下のオンラインマニュアルに掲載されています。
「TLG3901シリーズ」にIoTサービス提供のSIMカードを挿入し、モバイル通信ができるまでセットアップを実施します。
https://manual.iij.jp/iot/tlg3901/

 

AWSの設定、IoTサービスコントロールパネルの設定

AWSの設定とIoTサービスコントロールパネルの設定は、以下のマニュアルの手順と同様となります。
クラウドアダプタを使用してAWS IoTへデータを送信する

また、TLG3901上のNode-RED画面へは、デバイスコントロール ビューア機能を利用してリモートアクセスすることも可能です。ビューア機能の使い方は、以下のマニュアルを参考にして下さい。
デバイスコントロール ビューア機能を用いたデバイスへのリモートアクセス

 

Kiwitec TLG3901からのデータ送信と受信確認

「TLG3901シリーズ」上に搭載されているNode-REDから、AWS IoTへのデータを送信する設定手順は以下のようになります。

Node-REDでMQTT接続する場合は、以下のノード設定を行います。
入力欄からLoRa、関数欄からfunction、出力欄からMQTT及びdebugノードをフローにドラックし、下記のように接続します。

MQTTノードをダブルクリックし、ポップアップが表示された設定フォームに下記のように入力し、MQTT接続先アダプターを設定します。

functionノードをダブルクリックし、ポップアップが表示された設定フォームに下記のように入力し、LoRaデータをパースするScriptを入力します。

var packet = JSON.parse(msg.payload);
var send_json = '{' +
    '"id":"' + packet.tmst + '",' + 
    '"timestamp":' + Date.now() + 
'}';
msg.payload = send_json;
return msg;

画面右上のデプロイをクリックします。

デプロイを実行するとDynamoDBの「項目」にデータが表示され、保存されたのが分かります。

 

以上で説明は終了です。

通常、Node-REDからAWS IoTへ接続する際は、専用の「ノード」が必要になりますが、IoTサービスクラウドアダプタを用いることでNode-RED標準の「MQTTノード」を利用することが可能です。
また、AWS認証情報をゲートウェイ機器ではなくIoTサービス上で管理できる管理性向上にもつながります。