终端设备广播消息的问题
时间:12-22
整理:3721RD
点击:
网路中现在有协调器、n个路由、1个终端
我用终端去广播一条消息,目的是测出其他路由节点接收到此消息的信号强度,广播时opinion设置为 AF_SKIP_ROUTING;
但是终端还会收到消息,消息源地址就是他自己,这可能是为什么?
父节点或者其他路由节点收到终端的广播后,还会再进行广播,或者回发吗?
谢谢大家解答。
另外,我还想问怎么在单跳范围内广播,AF_SKIP_ROUTING就可以了吗?
首先标准zigbee spec-2010中是没有SKIP_ROUTING 这个option的,这是TI的ZStack为方便使用做的扩展。且终端不支持广播是指的终端不存在neighbour table,不会进行广播重复转发等功能。但是只是把mac地址设为0xffff,这种功能还是有的,但也仅限于SKIP_ROUTING的用途下。
1. 但是终端还会收到消息,消息源地址就是他自己,这可能是为什么?
可能因为其父节点收到了广播的信息,发现地址是0xffff,即所有节点都应该收到这个消息,所以为其子终端保存了信息,等到终端poll的时候再把数据发了回去。
把radius设为1即可。
“为其子终端保存了信息,等到终端poll的时候再把数据发了回去”,恍然大悟,非常感谢!
Best regards