zigbee路由选择问题
ti的工程师你好,我们现在有个项目需求,需要画出某个节点到协调器的路径图。看你们的文档,某个设备要想发数据到某个地址,先看邻居表中是否有这个目的地址,若是有的话,直接发给目的节点,若是没有的话,查询路由表,根据路由表下一跳跳到相应的节点,若是路由表中没有,则进行路由发现。我现在有个问题,通过抓包发现,当邻居表中有这个地址时,有时是直接发给这个目的地址,有时是根据路由表发给下一跳。我想知道,当数据发送的时候,是根据什么条件选择是否使用邻居表中的信息。
很抱歉,由于假期未能及时回复您的帖子,敬请原谅!
ZigBee网络中的每个节点都保存一张邻居节点列表,用来存储此节点传输范围内其它节点的信息。其相关说明如下:
PANId:邻节点PAN标识符;
Extended address:邻节点的64-bit IEEE扩展地址,邻节点与本节点存在父子关系时记录此条信息;
Network address:邻节点16一bit网络地址;
Device type:邻节点类型(0x00=ZigBee协调点,0x01=ZigBee路由节点,0x02= ZigBee终端节点);
Relationship:邻节点与当前节点的关系(0x00=父节点,OxOI=子节点,0x02=其 它)
简单来说,邻居表就是用来保存邻居设备信息的。当发送数据的目的地址是在邻居表内的,就会使用表内的信息。
希望对您有所帮助,谢谢!
上面是我抓到包,0x4726到0x00的路径,按照路由表下一跳应该是0x46b0,为什么实际路径是0x4726->0xe2ec->0x00,这是为什么呢
上面是我抓到包,0x4726到0x00的路径,按照路由表下一跳应该是0x46b0,为什么实际路径是0x4726->0xe2ec->0x00,这是为什么呢