中
A
1.zigbee 3.0中除了终端设备有心跳机制以外,路由设备是否也有心跳机制2.协调器是如何管理路由设备的,协调器内部是否有一张表,去实时更新路由的状态,当我某一个时间去查询的时候,协调器可以返回路由的最新状态(如是否在线、信号强度、对应的IEEE地址)
你好,
1、路由没有心跳机制的,可以自行应用层周期性的和他交互做为心跳。
2、 可以参考hci 命令ZBHCI_CMD_NODES_JOINED_GET_REQ 获取已经入网所有节点的信息。
改变思路,首先终端节点的MAC Data Request不是拿来做心跳的,而是拿来做数据同步的,父节点一般不需要去处理MAC Data Request,交给MAC层去处理就行。可以尝试用ZCL层的Attribute Report来做心跳包。不同类型的节点Attribute Report周期也是不一样的,而且都是可以设置的。协调器可以设置不同节点统一把Attribute Report报告给协调器自己就行了。
另外zigbee是Mesh网络,路由表里面是没法包含全部入网节点的信息的,比如路由器下面还有路由器,协调器是不知道的。唯一办法就是协调器把所有节点第一次入网的信息记录下来。
你好,
1、路由没有心跳机制的,可以自行应用层周期性的和他交互做为心跳。
2、 可以参考hci 命令ZBHCI_CMD_NODES_JOINED_GET_REQ 获取已经入网所有节点的信息。
改变思路,首先终端节点的MAC Data Request不是拿来做心跳的,而是拿来做数据同步的,父节点一般不需要去处理MAC Data Request,交给MAC层去处理就行。可以尝试用ZCL层的Attribute Report来做心跳包。不同类型的节点Attribute Report周期也是不一样的,而且都是可以设置的。协调器可以设置不同节点统一把Attribute Report报告给协调器自己就行了。
另外zigbee是Mesh网络,路由表里面是没法包含全部入网节点的信息的,比如路由器下面还有路由器,协调器是不知道的。唯一办法就是协调器把所有节点第一次入网的信息记录下来。