[Zigbee] ZigBee终端怎样检测协调器或路由器已不在网络中

[复制链接]
1110|5
 楼主| 八层楼 发表于 2020-8-5 16:48 | 显示全部楼层 |阅读模式
使用TI Z-STACK, 终端与协调器中间没有路由.



终端通过定时发送MAC地址请求或发送数据的结果来判断协议器是否还在网络中.如果连续数次mac地址请求失败或发送数据失败,则认为协调器已经不在网络.

检测次数通过f8wConfig.cfg中的宏MAX_POLL_FAILURE_RETRIES来定,默认值为2.当检测到协调器不在网络时,app会收到ZDO_STATE_CHANGE事件,通知

app,终端网络状态变为DEV_NWK_ORPHAN.



经实验,把协调器电断了,终端网络状态变为DEV_NWK_ORPHAN,然后再变为DEV_NWK_DISC, 终端一直在寻找网络.当再给协调器上电后,终端能自动加入网络.

终端能自动加入网络的这个功能不需要配置任何的编译选项.



这里的协调器也可以是路由器,是直接跟终端交互的父设备.
zljiu 发表于 2020-9-2 12:48 | 显示全部楼层
非常感谢楼主分享
coshi 发表于 2020-9-2 12:48 | 显示全部楼层
楼组辛苦了
aoyi 发表于 2020-9-2 12:48 | 显示全部楼层
宝贵的经验
drer 发表于 2020-9-2 12:49 | 显示全部楼层
不错的分享
gwsan 发表于 2020-9-2 12:49 | 显示全部楼层
学习了  谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

125

主题

4370

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部