请教一下CLAA中 CLAAModeD/E 时 JoinAccept 参数定义与标准LORAWAN有什么不同?
标签:
#LoRaWAN#
A,CLAAMode 指示网络当前无线信道工作模式:
CLAAModeNo 作为网络通知 LoRa 终端的具体网络信道模式:
对于 CLAAModeD,CLAAModeNo = 3;
对于 CLAAModeE,CLAAModeNo = 4;
当前其他值保留。
B,CHMap 参数指示当前各信道的激活情况,其中 CHMap 从前向后共 6 个 Byte,每个
Bit 对应 1 个信道,0 表示未激活,1 表示激活:
CHMap[0]:指示信道 0~7,
CHMap[1]:指示信道 8~15,具体映射类似于 ChMap[0]
…
CHMap[5]:指示信道 40~47,具体映射类似于 ChMap[0];
各 CHMap[x]的比特和信道对应关系如下表:
C,ClassBCh 指示 ClassB 模式下行 Beacon 帧广播信道值。
BeaconCh 指示下行 Beacon 帧广播的信道,转入 ClassB 状态的终端需要在该信道上
守护,以获取 Beacon 帧和下行帧信息。
这样通过注册过程,EndNode 可以获取网络的信道工作模式和所有激活信道信息。
这种方法只对 OTA 型终端。
根据LoRaWAN specification 可知,join_accept message的格式如下:
MHDR | AppNonce | NetID | DevAddr | DLSettings | RxDelay | CFList(pad16) | MIC |
---|---|---|---|---|---|---|---|
1字节 | 3字节 | 3字节 | 4字节 | 4字节 | 1字节 | 0/16字节 | 4字节 |
其中
字段 | 描述 |
---|---|
MHDR | 数据包头,其中包含了数据包的类型,也就是说从这个包头可以知道,这是一个join_accept message |
AppNonce | 3字节的unique ID,服务器生成的,产生AppSKey/NwkSKey 会用到 |
NetID | 网络ID,产生AppSKey/NwkSKey 会用到 |
DevAddr | 设备的短地址 |
DLSettings | 设置RX1和RX2的下行接受串口的速率 |
RxDelay | 从发送完成到打开RX1接受串口的事件 |
CFList(pad16) | 我也不知道是什么,目前看到的都是0个字节 |
MIC | 4字节的校验 |
需要注意的是Join_accept message是加密的,需要使用APPKEY解密