Milesight LoRaWANゲートウェイUG65のNode-REDでLoRaWANセンサーデータを扱う方法

Milesight社のLoRaWANゲートウェイUG65にはNode-REDが内蔵されております。

前回の記事 MilesightLoRaWAN温湿度センサーEM300-THのデータをUG65で受信する でLoRaWANセンサーを受信する方法を紹介しましたが、今回はUG65のNode-REDで受信したセンサーのデータがどのように使用できるかを紹介します。

Node-REDフロー

UG65のNode-REDには上のようなカスタムNodeが追加されています。

この中から、LoRa Input、Decorderノードを選びDebugノードを追加。

UG65のDeviceとして紐づけたLoRaWANセンサーのデータが受信できるフローをつくります。

この時、debugノードはmsgオブジェクト全体を表示するにします。

受信できるデータ

このように受信されます。

この後、influxDBに入れてGrafanaで見える化することを考え、このデータを整理してみます。

objectをメインデータにして、これにsnr,rssi,time,fcnt,fportを追加するようにします。

また、timeは文字データとしてきているので、これをタイムスタンプに変更します。

各パラメータについては下記のサイトを参考にしました

 LoRaWANのフレームフォーマット

influxDBに入れるようにデータ修正というfunctionノードを追加

// データ修正 functionノードのコード

// timeをタイムスタンプに変更
let timestamp = new Date(msg.time).getTime();

// objectの内容をメインにして、それに、snr, rssi, fcnt, fportを追加
let newPayload = msg.object;
newPayload.timestamp = Math.floor(timestamp / 1000);  // 秒単位のUnixタイムスタンプ
newPayload.snr = msg.snr;
newPayload.rssi = msg.rssi;
newPayload.fcnt = msg.fcnt;
newPayload.fport = msg.fport;

// 新しいペイロードを設定
msg.payload = newPayload;
return msg;

こうすることでinfluxDBに格納するデータの形に修正できました。

EM500-PT100(熱電対温度センサー)

上記フローについて、熱電対温度センサーのデータも受信してみました。

このように無事に取得できました。

まとめ

以上、Milesight LoRaWANゲートウェイUG65のNode-REDでLoRaWANセンサーデータを扱う方法をご紹介しました。

あとは、ローカルに設置したLoRaWANゲートウェイUG65からクラウドサーバーにMQTTでデータを送り、influxDBに格納することでGrafanaを使って見える化できそうです。

弊社、スマートライト株式会社ではLoRaWANやBLE,KNX,DALI,BACnetなど、各種プロトコル対応のセンサーや設備情報を時系列データとして見える化するサービスを行っております。

ご興味いただけましたり、同業だけど一緒になにかできるかも?と思った方は、ぜひ、気軽にご連絡ください。