微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 求大神指点-ZSTACK 路由设备失去父节点后如何重新选择父节点

求大神指点-ZSTACK 路由设备失去父节点后如何重新选择父节点

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

ZSTACK 路由设备失去父节点后如何重新选择父节点:

协议栈使用的是 ZStack-CC2530-2.5.1a,  工程里边打开了NV_RESTORE

请问:如何在路由设备 丢失 父节点(也是路由设备)后,如何重新连接周边的路由设备作为新的父节点。    

尝试过使用以下方法:

在发现与父节点失去联系后调用:

nwkNeighborInitTable();
ZDApp_SendMsg( ZDAppTaskID, ZDO_NWK_JOIN_REQ, sizeof(osal_event_hdr_t), NULL );

路由设备确实是已经重新入网,但是PANID,网络ID,父节点都没有变化。是不是开启了NV_RESTORE的原因,绕过了入网过程,直接的从NV里边恢复了网络?

zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);
SystemResetSoft();

这种方法可以让路由设备重新入网,父节点也重新选择了,但PANID,网络ID也同样改变了。原因可能是因为我擦除了NV里边的数据,重启设备后,设备在NV里边没找到信息,重而进行了一次新的入网。所以三者都改变了。

但是实际应用中NV_RESTORE我一定要开着,因为我要保证设备断电重启后还要保持原来的网络状态,但是现在问题来了:

请问如何可以做到:在路由设备失去父节点后如何重新选择父节点, 而且PANID,网络ID不变,求各路兄弟,大神指点迷津,小弟不胜感激?

路由设备只有在第一次入网的时候会选择一个父设备,等入网以后就不依赖与父设备了,也不存在跟父设备断开这一说法。

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

网站地图

Top