TI中文支持网
TI专业的中文技术问题搜集分享网站

关于Z3.0 BDB NWK_STEERING的问题

我在使用CC2530 作为终端设备加入ZHA的网络,其中CC2530的

zgApsAllowR19Sec设置为TRUE,
初始化时候,先调用bdb_initialize(),然后按键后调用 bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING);
用抓包数据分析数据交互过程,
终端设备发送beacon,收到应答后,然后终端设备发送association request ,协调器应答association response ,然后终端设备发送几次 data request , 协调器发送data response ,这样交互几次之后,终端设备再次发送association request ,协调器再次应答association response。
直到BDB的回调函数返回BDB_COMMISSIONING_NO_NETWORK ,才会结束。
为什么会多次发送association request ,为什么收到association response后,BDB不返回SUCCESS???
问题2:
我让设备自己离开网络,调用如下函数:
 NLME_LeaveReq_t leaveReq;
   osal_memset((uint8 *)&leaveReq,0,sizeof(NLME_LeaveReq_t));
   osal_memcpy(leaveReq.extAddr,NLME_GetExtAddr(),Z_EXTADDR_LEN);
   leaveReq.removeChildren = 0;
   leaveReq.rejoin = 0;
   leaveReq.silent = 0;
   NLME_LeaveReq( &leaveReq );
为什么调用这个函数后,有时候设备重启,有时候设备不重启。
设备重启后,有时候会提示PARENT_LOST ,有时候不提示PARENT_LOST。
问题3:
当提示PARENT_LOST后,我调用了bdb_ZedAttemptRecoverNwk();
为什么调用ZedAttemptRecoverNwk()函数后,不能再次收到BDB的回调函数事件 , 我看手册是调用ZedAttemptRecoverNwk()后,不论是否入网成功,BDB的回调函数都应该被执行,来通知用户程序是否入网成功。
下图是入网时候多次association的抓包截图:

VV:

问题一,协调器在回复Associate Response以后,协调器有回复Transport Key没有解析出来的,请确认两边的Trust Center Link Key是否一样?

为什么要把zgApsAllowR19Sec设置成TRUE

问题二,如果终端节点要让自己离网,请把extAddr设置成NULL

问题三,在ZDO_STATE_CHANGE里面有收到状态改变么?

请问你们现在开发什么产品,是否需要过zb3.0的认证?

赞(0)
未经允许不得转载:TI中文支持网 » 关于Z3.0 BDB NWK_STEERING的问题
分享到: 更多 (0)