This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
终端节点设置为PowerSaving模式,也屏蔽了NWK_AUTO_POLL,实测在正常情况下终端节点能正常进入休眠状态,并定时唤醒发送采集数据。
但是在有些时候,终端节点掉线重连以后就一直在发Data Request。根据Sniffer探测的数据包可以看到终端节点确实重新Rejion了并发送Device Announce,但是之后一直在发送Data Request数据包,发送的频率为440ms跟REJOIN_POLL_RATE参数一样,不知道问题出在哪里了。
PS:(种情况出现的概率很低,大部分情况终端节点能过够掉线重连并进入正常休眠状态的。
可以看到第二张截图终端节点0X335B一直在发送Data Request,第一幅截图也说明了终端节点正常入网了,其中的Private CLuster数据包为自己在终端节点入网之后的一些参数同步数据。
这个问题有可能存在的,在Rejoin的时候,刚好切换到back off的状态。
最后代码就没法运行到,void ZDApp_ProcessNetworkJoin( void )函数中的
ZDApp_AnnounceNewAddress(); if ( ( (ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE) == 0 ) || ( (ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE) && (zgChildAgingEnable == TRUE) ) ) { NLME_SetPollRate( ZDApp_SavedPollRate ); }
导致poll rate没有修改过来了。
但是一般都会把Back off 设置的比较长,不希望节点不停的去搜网