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