微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于zigbee组网的一个费解的问题

关于zigbee组网的一个费解的问题

时间:10-02 整理:3721RD 点击:

昨天拿到了两套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上电才行。

不理解为什么会这样?

协调器负责组网

一般建议协调器保存网络数据

当协调器重启之后他发现已经存在一个6018的网络了,所以他会加1这个panid,自然就是6019

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top