协议栈:zigbee 1.2.2a
设备数量:一个协调器,30多个route类型节点,50个enddevice类型节点。
设置:
1,协调器、route节点 uint8 zgChildAgingEnable = TRUE; uint8 zgRouterOffAssocCleanup = TRUE;
2,end device节点 uint8 zgChildAgingEnable = TRUE; NLME_SetPollRate(6000); -DNV_RESTORE -DNV_INIT -DPOWER_SAVING
现象:
1,协调器发送NLME_PermitJoiningRequest(oxfe)组网成功后,经过一段时间(约7天、或短或更长15天)运行,有时会出现1-2个end device 不在网的现象, 即不发送6秒周期的 data request。
2,协调器重新发起NLME_PermitJoiningRequest(oxfe)也不能恢复入网。曾发现偶尔也有恢复再入网,接着发送data request。
3,如果实在不能入网的,如在end device节点执行 zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);复位网络后,协调器重新发起NLME_PermitJoiningRequest(oxfe),end device 必定 能重新进入网络。
4,我们在应用层有让end device有控制节点搜网的频率以省电,新的end device没入网的节点,只在按键唤醒内30秒内可入网,即发送beacon request最多30秒时长还没入后进入PM2休眠。如已入过网的end device 在丢失父节点后,每1分钟搜网一次,每次持续约3秒,正常运行时都是按上述流程运行,通过空中数据抓包也是如此。 但是,对于丢失网络的节点,曾发现,极少的概率的end device,它没走上述流程,竟然像route类型节点一直搜网发送beacon request ,不会停止,直至电池耗尽。
5,总的节点减少,也会出现以上问题,视乎和节点数量不相关。
以上问题,不知哪位曾碰到过?盼求回复,谢谢!
2019年10月22日深圳