微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 查询设备状态

查询设备状态

时间:10-02 整理:3721RD 点击:

之前在哪里看过,有个API专门用来查看设备状态(入网,还是没入网)。

记得好像是NEME开头的,现在怎么找,都找不到。有谁知道,跪求

终端通过定时发送MAC地址请求或发送数据的结果来判断协议器是否还在网络中.如果连续数次mac地址请求失败或发送数据失败,则认为协调器已经不在网络.
检测次数通过f8wConfig.cfg中的宏MAX_POLL_FAILURE_RETRIES来定,默认值为2.当检测到协调器不在网络时,app会收到ZDO_STATE_CHANGE事件,通知
app,终端网络状态变为DEV_NWK_ORPHAN.

经实验,把协调器电断了,终端网络状态变为DEV_NWK_ORPHAN,然后再变为DEV_NWK_DISC, 终端一直在寻找网络.当再给协调器上电后,终端能自动加入网络.
终端能自动加入网络的这个功能不需要配置任何的编译选项.

这里的协调器也可以是路由器,是直接跟终端交互的父设备.

在协议栈里End Device是有Child Aging功能的,End Device会定期的发Data Request出来,当父节点连续多长时间没有收到以后,就认为节点掉线了。而Router没有加这样的功能,因为Router一直处于唤醒状态,您只要在Application加上类似的机制就可以了。

比较旧版本的zstack,您直接使用应用层的数据区查询节点状态,比如读下节点的IEEE地址之类的ZDO层命令。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top