TI论坛
直播中

刘龙

7年用户 153经验值
私信 关注
[问答]

zigbee组网coordinator和router都断电后不正常通信的原因?

昨天拿到了两套CC2538的SmartRF06EB开发套件,用协议栈Z-Stack-Mesh-1.0.0中的GenericApp调试,其中一个板子烧成coordinator,PANid设成0x6018,channelid设为11,另外一个板子烧成router,同样PANid设成0x6018,channelid设为11,两个板子启动后,能正常互发数据通信。接下来就来事儿了,我把coordinator断电后重启,router不断电,coordinator的panid就变成0x6019了,这样就不能跟这个router正常通信了。
然后coordinator和router都断电后,coordinator先上电启动,嘿!pandi又变回0x6018了,router也上电后也是0x6018,就又可以正常通信了。这样就给人一个感觉,coordinator和router组网后,coordinator就必须先router上电才行。
不理解为什么会这样?

回帖(2)

江端淳

2020-5-1 06:16:01
协调器负责组网
一般建议协调器保存网络数据
当协调器重启之后他发现已经存在一个6018的网络了,所以他会加1这个panid,自然就是6019
举报

江孟琢

2020-5-1 06:25:10
路由加入到网络中后就能一直维持着网络,你先把协调器关掉后,协调器所建立的网络仍然由路由维持着,所以当你再次开启协调器后协调器会检测到所要建立的网络的panid已经存在,就会自动将panid加1来建立新的网络;而当你将这两个设备都关掉后,原网络就没有设备来维持了,因此此时你再开启协调器后协调器就能根据所设定的panid来建立网络了。如果你想实现协调器断电重启后仍能回到原网络的话就加入NV_RESTORE的编译选项,这样的话协调器在重启后就不会执行建立新的网络这一步骤,而是执行加入原网络的步骤了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分