7 LoRaWANデバイスのオペレーション
LoRaWANデバイスのオペレーション方法について、包括的な説明を提供します。この章では、デバイスの利用手順からATコマンドの応答まで、実際の運用に必要な情報を網羅的に解説します。
#
7.1 利用手順概要LoRaWANデバイスの利用は、通常以下の手順で行います。まず、デバイスの電源投入後、UARTインタフェースを介してATコマンドを送信し、必要な設定(ネットワークパラメータ、デバイス識別子など)を行います。その後、ネットワークへのJoin処理を実行し、接続が確立されたらデータの送信を開始します。また、必要に応じてデバイスの状態確認やパラメータの調整を行います。
#
7.2 リセット動作リセット動作は、デバイスを再起動するための機能で、ハードウェアリセットとソフトウェアリセットの2種類があります。
ハードウェアリセットは、デバイスのリセットピンを操作するか、電源の再投入により行います。ソフトウェアリセットは、ATコマンド(AT+IREBOOT)を使用して実行します。これにより、デバイスが再起動されます。
リセット後は、デバイスは最後に保存された設定で起動します。ネットワーク参加(Join)モードや動作クラス(Class A, Class C)などの重要な設定変更後は、AT+CSAVEコマンドを使用して設定を保存することを推奨します。
#
7.3 設定とデータ送受信(UART)LoRaWANモジュールの設定とデータ送信は、UARTインタフェースを介して行われます。本デバイスは、標準的なシリアル通信プロトコルを採用しており、デフォルト設定では9600 bpsのボーレート、8データビット、パリティなし、1ストップビットの設定で動作します。
設定プロセスは、ATコマンドを使用して行います。デバイス固有のパラメータ(DevEUI、AppEUI、AppKey)をAT+CDEVEUIコマンド、AT+CAPPEUIコマンド、AT+CAPPKEYコマンドを用いて次のように設定します。各コマンドの詳細に関しては第9章、第10章のコマンドリファレンスを参照してください。
Set command | AT+CDEVEUI=1234567890ABCDEF |
Response | OK |
Set command | AT+CAPPEUI=FEDCBA9876543210 |
Response | OK |
Set command | AT+CAPPKEY=00112233445566778899AABBCCDDEEFF |
Response | OK |
上記コマンドでは、DevEUIを「0x1234567890ABCDEF」、AppEUIを「0xFEDCBA9876543210」、AppKeyを「0x00112233445566778899AABBCCDDEEFF」に設定しています。
次に、AT+CCLASSコマンドでデバイスクラスを、AT+CJOINMODEコマンドでJoinモードを次のように設定します。
Set command | AT+CCLASS=0 |
Response | OK |
Set command | AT+CJOINMODE=0 |
Response | OK |
上記コマンドでは、クラスをClass Aに、JoinモードをOTAAに設定しています。
次に、AT+RREGIONコマンドでデバイスが動作する地域の周波数帯や規制要件に合わせたリージョン設定を行います。
Set command | AT+RREGION=3 |
Response | OK |
上記コマンドでは、リージョン設定をAS923-1-JPに設定しています。
これらの設定が完了したら、次のようにAT+DJOINコマンドを使用してLoRaWANネットワークへの参加プロセスを開始します。
Set command | AT+DJOIN=1,0,8,2 |
Response | OK |
上記コマンドでは、Joinプロセスの開始、自動Join設定オフ、Join間隔8秒、最大試行回数2回に設定しています。
ネットワークへの参加が成功すると、次のようにAT+DTRXコマンドを使用してデータ送信が可能になります。また、ダウンリンクメッセージの受信は、AT+DRX?コマンドで確認できます。
Set command | AT+DTRX=1,3,5,48656C6C6F |
Response | OK+SEND:05 OK+SENT:01 |
上記コマンドでは、データ送信設定として確認型メッセージ、再送回数3回、5byte長のペイロード0x48656C6C6F("Hello"の16進数表現)を送信しています。
Set command | AT+DRX? |
Response | +DRX=7,576F726C6421 OK |
上記コマンドの応答は、7byte長のペイロード0x576F726C6421("World!"の16進数表現) を受信したことを示しています。