Xbee 发送错误的 ZDO 响应

Xbee sending wrong ZDO responses

我正在玩两台 Xbees,一个定义为协调器,另一个定义为路由器。我想以互操作方式阅读有关网络的信息,所以我决定使用 ZDO 消息。

我发送这样的消息((配置文件 ID 0x00 00,集群 ID 0x 00 31)并从路由器收到例如以下响应:

7E 00 2D 91 00 13 A2 00 40 E5 F0 B4 FB CE 00 00 80 31 00 00 01 2C 00 01 00 01 58 CE C1 8D 7A 3F 2D 40 AB F0 E5 40 00 A2 13 00 00 00 04 02 00 FF 33

正确答案集群 ID:0x 80 31

关注射频数据,我有以下内容:

2C 00 01 00 01 58 CE C1 8D 7A 3F 2D 40 AB F0 E5 40 00 A2 13 00 00 00 04 02 00 FF

我现在尝试解码这个十六进制字符串并遇到一些问题。

从我的角度来看,这个字符串应该像 2012 年 ZigBee 规范中定义的那样编码,在 Table 2.126 和 2.127

不幸的是,这对我不起作用。如果我忽略,第一个字节应该是状态并取其中的前两个,我可以读出 NeighborTableEntries、StartIndex、NeighborTabelListCount。但是当涉及到NeighTableList时,我只能读出Extended PAN id、extended address和network address,其余字符串不符合标准。我是不是做错了什么,还是 xbee 不符合标准?

2C = Sequence Number
00 = Status (Success)
01 = 1 entry (total)
00 = starting at index 0
01 = 1 entry (in packet)
58 CE C1 8D 7A 3F 2D 40 = Extended Pan ID
AB F0 E5 40 00 A2 13 00 = IEEE address
00 00 = NodeId
04 = (Coordinator, RxOnWhenIdle)
02 = (Unknown Permit Join)
00 = (Coordinator)
FF = (LQI)

NodeId 后面的值是位掩码,不是字节。