PM2模式beacon为何频频失效,osal任务事件为何感觉像不起作用,欢迎大家走进今天的主题->揭秘那些协议栈中不为人知的秘密-求助篇
各位Zigbee的小伙伴们,在这金秋送爽,丹桂飘香的季节...不好意思,跑题了。
最近在进行 一个Zigbee项目的Beta版本的测试,节点程序逻辑如下:
测试环境: 一堵铁皮的墙,测试的节点与路由节点的直线距离约20米。rssi约 -90左右
节点数量:100个
测试结果:出现三个节点掉线后,一直没有发送beacon,通过sniffer抓包,等待了10分钟都没有发现掉线的这三个节点发送beacon帧,而按照我设计的逻辑,应该是掉网后20s发送3次beacon帧然后PM2,如此循环直到rejoin成功。同样的代码,其余的节点掉网后都能发送beacon帧,并且rejoin进来。
在我的节点上还有一个按键,用于擦除NV信息,我长按3s后,节点重启了并且进入了正常的加入网络的流程,说明节点程序是没有跑飞,电池电压也在正常工作范围类。(并且节点也添加了看门狗的)。
无辜少年求助......揭秘那些协议栈中不为人知的秘密
这是“睡死”的节奏,感觉定时器事件失效了,进入PM3模式!
放了N天,电池电量基本没变,肯定没有在beacon搜索网络。
程序跑飞了。或者是二楼说的,进入低功耗没能唤醒
我加了看门狗的。。。
睡眠模式下,狗不起作用的吧
是的,睡眠时看门狗就不起作用了,当设备在PM2或者PM3的时候,看门狗定时器就废了,如果唤醒了之后,狗又会开始跑,不过是从0开始的。所以基本上在搜索、加入网络,进入PM2或者PM3之前有用,之后就没用了。但是程序肯定是没有跑飞的,因为我的按键还可以正常的工作。
请问是在哪个协议栈版本上做的测试?如果是共性的问题,其他节点也应该出现这样的问题
Mesh1.0.0当时我总共有100个节点在测试,出现了3个节点这种现象。所有节点都是PM2模式,没有开轮训。