完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-5-31 09:53 编辑
终端节点设置为PowerSaving模式,也屏蔽了NWK_AUTO_POLL,实测在正常情况下终端节点能正常进入休眠状态,并定时唤醒发送采集数据。 但是在有些时候,终端节点掉线重连以后就一直在发Data Request。根据Sniffer探测的数据包可以看到终端节点确实重新Rejion了并发送Device Announce,但是之后一直在发送Data Request数据包,发送的频率为440ms跟REJOIN_POLL_RATE参数一样,不知道问题出在哪里了。 PS:(种情况出现的概率很低,大部分情况终端节点能过够掉线重连并进入正常休眠状态的。 可以看到第二张截图终端节点0X335B一直在发送Data Request,第一幅截图也说明了终端节点正常入网了,其中的Private CLuster数据包为自己在终端节点入网之后的一些参数同步数据。 |
|
相关推荐
7个回答
|
|
|
|
|
|
2.1测试抓包.cubx.zip 谢谢大大的回复,我的完整抓包数据在附件,第1433个数据包开始,终端地址为0X335B。您看一下整个重新入网的数据有什么问题? |
|
|
|
yysdywerw 发表于 2018-5-31 08:39 这个问题我出现过,你可以参考一下。 设置的REJOIN_POLL_RATE是休眠节点发送rejoinrequest 到datarequest请求回应的间隔。 在这个时间间隔内,如果配置了ZDO_REJOIN_BACKOFF的功能,刚好把devState状态变为DEV_NWK_BACKOFF,就会导致你说的情况。你把REJOIN_POLL_RATE设置的很长,REJOIN_SCAN设置很短,就一定会出现 |
|
|
|
wznnzw 发表于 2018-5-31 08:52 这个问题有可能存在的,在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 设置的比较长,不希望节点不停的去搜网 |
|
|
|
wznnzw 发表于 2018-5-31 08:52 嗯,我设置的Rejion_POLL_RATE为5min,REJION_SCAN为5S,这样做是为了让终端在掉线重新搜索网络的时候不回去去频繁的发送Beacon Request,节省电池电量。如果按照你这个说法,应该怎么设置这两个参数解决这种情况呢? |
|
|
|
wenlonghbo 发表于 2018-5-31 08:57 那这样的话是否可以在ZDO_STATE_CHANGE事件中,判断poll rate是否为0(我设置不定时发送data request),如果不为0直接修改为0就可以修复这个Bug么? |
|
|
|
yysdywerw 发表于 2018-5-31 09:15 你好,我说的那样设置只是放了让你复现问题。如果你正常用的话,Rejion_POLL_RATE保持440ms就可以。我在ZDApp_ProcessNetworkJoin()中 else if ( devState == DEV_NWK_ORPHAN || devState == DEV_NWK_SEC_REJOIN_CURR_CHANNEL || devState == DEV_NWK_TC_REJOIN_CURR_CHANNEL || devState == DEV_NWK_TC_REJOIN_ALL_CHANNEL || devState == DEV_NWK_SEC_REJOIN_ALL_CHANNEL || +++ devState == DEV_NWK_BACKOFF) 并入了对 devState == DEV_NWK_BACKOFF的处理 |
|
|
|
只有小组成员才能发言,加入小组>>
315 浏览 1 评论
518 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
758 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
643 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1115 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
9浏览 28评论
18浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
232浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
191浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
51浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 19:57 , Processed in 1.096101 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号