协议栈: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日深圳
Viki Shi:
最好抓包看一下出现问题的设备,是否发出orphan notification?
user3514461:
回复 Viki Shi:
正常切换父节点时,是可以看到这个orphan notification包的,因为监控周期长,也不一定会出现,即使有抓到,而且也可能数据都被淹没了,难从海量数据包中找出来。本贴问题,希望能有个排查的方向,或其它补救措施
Viki Shi:
回复 user3514461:
可能是芯片卡死,你加个看门狗程序
user3514461:
回复 Viki Shi:
芯片没有卡死的,因为按键还能识别,且能操作继电器,也就是应用层没卡死。难道底下的其它层卡死?
Viki Shi:
回复 user3514461:
RF卡死,有可能的,价格定时器看看
user3514461:
回复 Viki Shi:
嗯,是的。请问,我上面咨询的关于少量ED不能再入网的问题,必须复位网络,协调器再重组网才能入网的现象,可能会是什么原因?