Milesight社のLoRaWANセンサーを利用する場合、スマートフォンの専用アプリからNFC書き込みでデータ送信間隔などの設定ができますが、今回検証しているDRAGINO社の温湿度センサーEM-ELHT01はアプリが無いので設定を変更するには、AT CommandsかDownlink commandを送る必要があります。
AT Commandで送る場合は専用のUSBケーブルが必要になりますが、Downlink commandであれば、ゲートウェイMS48-LRから送ることができます。
今回は、Downlink commandを使って送信間隔を60秒に変更する方法をご紹介します。
下記WiKiに方法は紹介されています。
http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/
ChirpstackからChirpstackのDownlinkコマンドを送る方法
下記を参照
http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H8.A0Downlink
ChirpStackのTenantからApplicationsでコマンドを送るデバイス(今回はELTH01-01)を選択。上のメニューからQueueをクリックします。
ここに送信するコマンドを入力することでDownlinkコマンドを送ることができます。
Downlinkを送るときの情報チェック
Downlinkを送るときに、デバイスのFPort番号とDonwlinkコマンドが必要になります。
まずはFPort番号ですが、
Applicationから該当のセンサーを選択しEventsから+upをクリック。
右側にJSONが表示されるので、その中のfPortの数字(この場合は2)を使います。
また、データ送信周期を変更するDownlinkコマンドですが、下記の通りです。(1Eや3Cは16進数)
Example 1: Downlink Payload: 0100001E // Set Transmit Interval (TDC) = 30 seconds
Example 2: Downlink Payload: 0100003C // Set Transmit Interval (TDC) = 60 seconds
Downlinkを送る
今回は120秒(2分)間隔で送るようにします。その場合のコマンドは01000078となります。
こちらで、Enqueueをおします。
これで次回送信のタイミングでDownlinkコマンドが送られます。
Downlinkコマンドが正しく送られたかの確認
DeviceのEventsタブでチェックして、2分ごとにデータがきたことが確認できました。
600秒(10分)間隔に戻す
うまく動いたので、10分間隔に変更します。600秒は16進数で258なので、コマンドは
01000258 をおくります。
GatewayのLoRaWAN framesにConfirmedDataDownがおくられました。
まとめ
LoRaWANが他のLPWANに比較してDownlinkという方法でデバイスにコマンドが送れることがあります。
この機能を利用してリモコンリレーの開閉などを行うことができるので、設備の制御にも活用する方法があります。
今後はデータを集めるだけではなく、Downlinkで設備を制御する方法についても検証をすすめていこうと考えおります。