開始: LoRaWAN仕様。 はじめに 端末の基本概念とクラス
LoRaWANに参加するには、エンドデバイスはエンドデバイスのアクティベーション手順を実行する必要があります。 この仕様では、デバイスのアクティベーションに2つのオプションを提供しています。
- OTAA、無線アクティベーション (セッション暗号化キーとDevAddrアドレスが生成される参加手順を実行する必要があります)。
- ABP、パーソナライゼーションによるアクティベーション (接続手順を実行する必要はありません。暗号化キーとDevAddrアドレスは事前にデバイスに書き込まれます(デバイスパーソナライゼーション))
アクティベーション後、デバイスには次の値が含まれているはずです。
- エンドデバイスアドレス(DevAddr) -このネットワーク上のデバイスのローカルアドレス[32ビット]。 DevAddrは、NwkID(ネットワーク識別子、ビット31 ... 25)とNwkAddr(ネットワークアドレス、ビット24 ... 0)の2つのフィールドで構成されています。
- ネットワークセッションキー(NwkSKey) -端末デバイスとネットワークサーバー(ネットワークサーバー)間の通信中のメッセージのMIC(メッセージ整合性コード)フィールドの計算と検証、およびMACレベルのメッセージ暗号化に使用されるネットワークセッションキー[128ビット]。
- アプリケーションセッションキー(AppSKey) -アプリケーションレベル(端末デバイスとアプリケーションサーバー間)でデータを暗号化するために使用されるセッションキー[128ビット]。
- また、デバイスにはアプリケーション識別子[64ビット]が必要です。これは事前に書き込まれます - アプリケーション識別子(AppEUI)
エアアクティベーション-無線アクティベーション
OTAAがアクティブになっている場合、端末デバイスは、デバイスにセッション情報(ローカルDevAddrアドレス、NwkSKey、AppSKeyキー)が存在しないか無関係であるたびにネットワーク接続手順を実行する必要があります。 接続手順の前に、以下をデバイスに記録する必要があります。
- エンドデバイス識別子(DevEUI) -生産中にデバイスに割り当てられる一意の識別子[64ビット]。
- アプリケーション識別子(AppEUI) -アプリケーションの一意の識別子[64ビット](前述)。
- アプリケーションキー(AppKey) -セッションキーNwkSKeyおよびAppSKeyを取得するためにネットワークに参加するプロセスで使用されるキー[128ビット]。
OTAAアクティベーションの追加手順
接続手順は常に端末デバイスによって開始され、端末デバイスとネットワークサーバー間で交換される2つのメッセージで構成されます。 参加要求 (デバイス→サーバー)と参加受け入れ (サーバー→デバイス)です。
参加要求メッセージには、AppEUI、DevEUI、およびランダムなDevNonceが含まれます。
8バイト | 8バイト | 2バイト |
AppEUI | DevEUI | デヴォンス |
ネットワークサーバーは、各端末デバイスについて、以前に使用されたDevNonce値を記憶し、重複するDevNonce値を含む要求を無視します。
参加要求への応答で、サーバーは参加許可メッセージを送信します。
3バイト | 3バイト | 4バイト | 1バイト | 1バイト | 16バイト |
見習い | NetID | Devaddr | Dlsettings | Rxdelay | CFList |
ここで:
AppNonceは乱数です。
NetID-ネットワーク識別子。
DevAddr-ネットワーク上のデバイスアドレス。
DLSettings-ダウンストリームメッセージに使用されるパラメーター(サーバー->デバイス)。
RxDelay-端末デバイスの送信終了からRx1受信ウィンドウの開始までの遅延(受信ウィンドウとは-LoRaWAN仕様を参照してください。はじめに。端末デバイスの基本概念とクラス )。
CFList-端末デバイスで使用できる追加の周波数チャネルのリスト。
DLSettings [8ビット]フィールドの形式は次のとおりです。
7ビット目 | ビット6 ... 4 | ビット3 ... 0 |
RFU | RX1DRoffset | RX2データレート |
ここで:
RFU-将来の使用のために予約されており、使用されていません。
RX1DRoffset-最初のRx1受信ウィンドウに使用されるアップリンクとダウンリンクのデータレートの差。 デフォルトは0です。
RX2データレート -2番目のRx2受信ウィンドウに使用される速度。
乱数DevNonceおよびAppNonceは、 NwkSKeyおよびAppSKeyセッションキーの計算に使用されます。
パーソナライゼーションアクティベーション-パーソナライゼーションによるアクティベーション
「パーソナライズによるアクティベーション」とは、値DevAddr 、 NwkSKeyおよびAppSKeyがデバイスに直接書き込まれることを意味します(デバイスはパーソナライズされます)。 仕様によると、各デバイスには一意のNwkSKeyおよびAppSKeyセッションキー値が含まれている必要があります。これにより、1つのデバイスに含まれるこれらの値の侵害が他のネットワークデバイスを侵害しません。
このアクティベーション方法を使用すると、端末の電源を入れてデータ転送の準備ができた直後に、端末デバイスはネットワーク接続手順を実行する必要がありません。
関連リンク: