Xbee节点发现响应

时间:2014-10-31 14:56:31

标签: arduino xbee arduino-ide

我试图从我的网络中的协调员那里发现设备。 所以我向协调员发送了一个ND命令,我正确地收到了来自其他Xbee的响应。

下一步是存储我在网络应用程序中收到的信息,以便发送命令和数据。

然而,我仍然缺少的是框架中的某些部分。到目前为止,我已经映射了这样的框架:

1     7E                  start frame    
===== =================== MESSAGE LENGHT
2-3   0x00 0x19           -> 25
===== =================== PACKET TYPE
4     88                  -> response to a remote AT command
5     02                  frame ID
===== =================== AT COMMAND
6-7   0x4E 0x44           "ND"
8     00                  status byte (00 -> OK)

===== =================== MY - Remote Address
9-10  0x17 0x85
===== =================== SH - SERIAL NUMBER HIGH
11-14 0x00 0x13 0xA2 0x00
===== =================== SL - SERIAL NUMBER LOW    
15-18 0x40 0xB4 0x50 0x23
===== =================== SIGNAL     
19    20
= ======== NI - Node Identifier
20 00 
21 FF     
22 FE     
23 01   
24 00          
25 C1     
26 05
27 10     
28 1E     
===== ===== CHECKSUM (25th bytes from MESSAGE LENGHT)
29 19  

那么,我在这个响应中可以找到设备的地址? 我的猜测是在消息的NI部分,但我还没有找到有关数据如何组织的任何示例/信息。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

正如有人在dig.com论坛上告诉我的那样

NI<CR>                 (Variable length)
PARENT_NETWORK ADDRESS (2 Bytes)<CR>
DEVICE_TYPE            (1 Byte: 0=Coord, 1=Router, 2=End Device)
STATUS                 (1 Byte: Reserved)
PROFILE_ID             (2 Bytes)
MANUFACTURER_ID        (2 Bytes

所以,加入我的帧响应:

00   --- Node Identifier variable, (here 1 byte = 00 because no value is set up).
FFFE --- parent network address (2 bytes)
01   --- device type  
00   --- status
C105 --- profile id
101E --- manufacturing id

这个,afaik,意味着在帧的最后部分,没有给出关于设备地址的信息。只有信息是SL和SH。

答案 1 :(得分:0)

16位网络地址是您标记为“MY”(0x1785)的地方,64位MAC地址是SH / SL(00 13 A2 00 40 B4 50 23)的组合。