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は文字データとしてきているので、これをタイムスタンプに変更します。
各パラメータについては下記のサイトを参考にしました
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など、各種プロトコル対応のセンサーや設備情報を時系列データとして見える化するサービスを行っております。
ご興味いただけましたり、同業だけど一緒になにかできるかも?と思った方は、ぜひ、気軽にご連絡ください。