TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2530: zstack home 1.2.2a 协调器如何判断节点是否离线?

Part Number:CC2530Other Parts Discussed in Thread:Z-STACK

zstack home 1.2.2a 协调器如何判断节点是否离线?

Kevin Qiu1:

参考这里类似的问题:https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/215657/cc2530-zigbee

,

YiKai Chen:

如果是router或是rx always on的节点,协调器可以定期對這些节点去做任何的zcl basic cluster/attribute read,看看有沒有回應來判斷节点是否离线;如果是sleeping end device 节点,就需要讓节点定期發送heart beat的訊號到协调器,如果协调器沒有收到定期發送的heart beat才來判定节点离线

,

zheng sun:

您好,  我尝试使能了 childaging 功能。 然后让协调器定期去查询关联表中的各个子设备相关信息。但是发现了几个问题:

1. 关联表中的 timeoutCounter 初始值是0x00003c00 ,不能通过 “  uint8 zgEndDeviceTimeoutValue = END_DEV_TIMEOUT_VALUE;   ” 进行变更;

2. timeoutCounter 一直在递减。 即使协调器收到了终端设备的Data request,timeoutCounter仍然还是在递减。

想请教一下, 这是什么原因呢?

,

YiKai Chen:

據我所知zstack home 1.2.2a的childaging 功能並不完整,如果要用childaging 功能,建議使用Z-Stack 3.0.2

,

zheng sun:

好的, 感谢您的建议。

另外我想咨询一下,协调器对sleeping end device 节点的heart beat 接收处理是在哪个地方呢?  我想尝试在收到heart beat时,手动将 相应的timeoutCounter 置为初始值,以弥补 问题 2 带来的困难。

,

YiKai Chen:

heart beat 如果是透過zcl report做的,就在你應用程序的zclXXX_ProcessIncomingMsg接收处理

,

zheng sun:

我的 heart beat 应该就是 Data request,  并且是可以通过 #define ZNWK_POLL_RATE 来更改其速率的。请教下,这样的话应该在哪个地方处理呢。

,

YiKai Chen:

Data request 應用程序是不知道的,你要另外發送heart beat而不是透過data request

,

zheng sun:

好的了解,  十分感谢!

赞(0)
未经允许不得转载:TI中文支持网 » CC2530: zstack home 1.2.2a 协调器如何判断节点是否离线?
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1