zstack如何实现协调器扫网,如果区域内没有协调器,则作为协调器启动,如果存在网络,在作为路由器加入现有网络。
时间:10-02
整理:3721RD
点击:
ZStack-1.4.3-1.2.1这个版本编译soft_start即可实现该功能,为什么后面的版本不支持了?现在使用zstark-2.5.1a,没有找到该功能如何实现。发现协调器在扫网后,如果空间内具有相同id的网络,则自动把panid+1后建网,尝试在这里改变器件角色,重新发起ZDOInitDevice,但是程序不能进入ZDO_NetworkDiscoveryConfirmCB(),求解答
ZStack-1.4.3-1.2.1这个版本的说明文件里,还有这样一句话,It is possible to create an image with both Coordinator and Router functionality and choose the device type at runtime. See the SOFT_START compile option for more details.
但是后面版本的同一位置就没有这句话了,这个功能是被删掉了,还是可以通过其他的方式实现呢?
建议在初始状态的时候选择路由或者终端设备进行搜网,在搜到网络的情况下进行加网,否则建立网络。
建立网络的话,需要重新初始化,并且设备类型选择zigbee coord。ZDO_StartDevice( byte logicalType
另外在编译的时候,选择的库文件需要是AllDevice-Pro.lib,加上BUILD_ALL_DEVICES宏定义