微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > z-stack3.0 路由器断电恢复网络问题

z-stack3.0 路由器断电恢复网络问题

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

 这边目前在调试TI的z-stack3.0,在sampleSW的基础上改了一个节点作为路由器,但是发现;

1:设备加入网络后,设备断电在上电后,有时候无法保存网络状态,直接发送beacon requeset有时候可以恢复为路由。协调器用的是NXPzigbee3.0的。

2:设备入网时,会出现一直发送 association request,收到association response后,没有transport key,导致无法入网的情况

你好可以私信把你的抓包文件发给我么。

1,如果直接使用z-stack 3.0的原始的例程做测试,会有问题吗?

2, Transport key应该是协调器发出来的。

VV你好,第一个问题,我做了很多调试发现,第1种情况:先打开协调器允许设备加入,设备加入网络后,作为路由器,不管什么时候断电上电都会恢复为路由器。第2种情况:先触发设备开始寻网,再打开协调器允许加入,设备可以进入网络,但是断电再上电,无法恢复为路由器,而是变为了一个新节点,按键触发后,一直发送beacon request。只有调用bdb_resetLocalAction();  复位后,按照第一种情况加网,设备才可以实现断电恢复。这两者不同的操作顺序为什么结果不一样。

我路由器初始化调用的是bdb_StartCommissioning( 0 ); 然后按键触发 调用bdb_StartCommissioning(  BDB_COMMISSIONING_MODE_NWK_STEERING  ); 

我测试的时候使用了一个协调器+8个路由器,打开协调器,8个路由器同时触发开始入网,有时候会出现有个别设备无法加入,一直在连接,无transport key,把已经入网的路由器断电2-3个后,就能顺利加入

另外,zstack3.0中,想要增加install code key,设备端和协调器端需要调用哪个API,能指点下具体操作流程么

谢谢!

1、我觉得第2种情况,可能是错过了一些操作,导致router无法保存网络信息,也就是入网是成功了,但是NV没保存,重启之后就成孤立节点了。

2、设备多了之后入网不成功,有没有可能是key在传输过程中超时了或者什么原因,我还没试过多个设备同时入网的情况。

3、install code key 是要同时获取到对应的IEEE地址和TCLK的,然后把这两个信息发送给coordinator,然后coordinator决定是否入网,这种方式可能适应现在的扫一扫二维码自动加入网络的应用,每个router上附带一个二维码,里面包含IEEE地址和它自己的TCLK,在bdb_interface.h文件里面提供了多个install code key方式的API,其中之一bdb_addInstallCode就是。

1:两种情况,只是顺序不一样,代码都是一样的,不知道3.0的协议栈是否本身就对不同操作顺序有区别,还是我调用的函数参数有问题

2:这个问题,好像是协调器那边的问题,同时加入的设备多了,会出现个别设备没有收到key

3:设备端增加API接口是哪个啊,install code key可以自定义吧

VV你好:

1:我用zstack3.0做路由器,初始化调用bdb_StartCommissioning( 0 ),然后再BDB回调函数中 case BDB_COMMISSIONING_NWK_STEERING:  中else调用bdb_StartCommissioning( BDB_COMMISSIONING_MODE_NWK_STEERING );这样新设备上电后,一直发送beacon requeset,设备打开了看门狗。但是出现一个问题,设备经常出现复位,软件debug,发现没有跑到软件复位,怀疑是看门狗复位,看门狗初始化为WatchDogEnable( WDTIMX );,在

for(;;) // Forever Loop
#endif
{
osal_run_system();
WD_KICK();

喂狗。

我想知道发送beacon request 为什么会导致复位

haoran wen您好

      您图片中用的这个软件是什么?看着比TI官方的抓包工具好用啊,请赐教,我也在调3.0

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

网站地图

Top