zigbee怎么实时获取设备的在线状态

2019-07-18 15:15发布

zigbee怎么实时获取设备的在线状态的 ?
我在应用层做了心跳包的功能,现在遇到一点问题想咨询下, 我让子节点上电入网后,定时的给协调器发送心跳包,1s一次,循环的上报心跳 然后我在协调器端起了个定时事件,每隔1s来check一下,看看上线的子设备的flag(收到子节点的心跳就设flag为5,没有收到就减1)有没有为0 的,有的话就说明该设备掉线了
问题1:我的这个思路有没有问题?
问题2:我在协调器端用了串口来1s一次循环的监测在线列表中的设备,看看是否有上下线的现象,结果就发现有设备掉一下,上一下的现象,而且间隔时间很短,不知道是不是我的代码上的问题(因为时间设置的都是1s)
问题3:如果有20个子节点同时向协调器发数据,会冲突而导致发送失败吗?还是zigbee的无线传输是有等待的机制的?
问题4:如果我的这个思路有误,那么用Child Aging这个功能的话,那个60分的时间能改吗?因为我需要相对实时一点获取设备的在线状态

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
广电总局
1楼-- · 2019-07-18 20:48
1, 思路没问题,但是你不用串口来查,你直接告诉串口也可以的

2,应该是代码逻辑的问题

3,会的,会有丢包

4,可以改,ChildAging的实时性会比较差,是一段时间的积累。
fdjslkjd
2楼-- · 2019-07-18 22:06
应该是丢包引起的,我们目前还是用的心跳包的机制,我把check时间变长了一点,现在问题就缓解了一点

一周热门 更多>