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

终端恢复出厂后又自动连上协调器

3.0.2,ZC 2538,ZED 2530

终端入网后,1小时后对终端执行bdb_resetLocalAction

但是终端又自动加入协调器了,协调器并没有permit join

同时协调器里在permit join 180秒后执行了如下程序,结果终端恢复出厂后还是能自动加入

终端执行bdb_resetLocalAction后自动加入协调器的抓包文件见附件,帮忙看一下是不是协调器的permit join一直打开的着?

具体是什么原因导致终端bdb_resetLocalAction后依然能自动加入协调器

AddrType_t dstAddr;
dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVZCZR;
dstAddr.addrMode = AddrBroadcast;
NLME_PermitJoiningRequest(0);

ZDP_MgmtPermitJoinReq( &dstAddr, 0, TRUE, FALSE );

终端恢复出厂又自动加入.psd

Viki Shi:

数据包无法解析,请把key的交换过程也抓进去:

user5367314:

回复 Viki Shi:

对终端执行bdb_resetLocalAction后自动加入协调器这个过程不是有key的交换过程吗?
对终端执行bdb_resetLocalAction后为什么自动入网了?

YiKai Chen:

你的sniffer log顯示协调器permit join是打开的

user5367314:

回复 YiKai Chen:

@YiKai Chen
我的修改如下:
时间由180秒改为60秒如下
#define BDBC_MIN_COMMISSIONING_TIME60// 180 seconds
协调器每次permit join后开开启个定时器,65秒后再次关闭permit join
bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING);
osal_start_timerEx(zclSampleSw_TaskID,SAMPLEAPP_PERMIT_JOIN_EVT1,65000);//65S后关闭允许入网
定时器里的程序如下:
程序如下,是否有问题?还有没有什么好的建议?怎么协调器的permit join就关不掉呢?if ( events & SAMPLEAPP_PERMIT_JOIN_EVT1 ){zAddrType_t dstAddr;dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVZCZR;dstAddr.addrMode = AddrBroadcast;// Trust Center significance is always trueNLME_PermitJoiningRequest(0);ZDP_MgmtPermitJoinReq( &dstAddr, 0, TRUE, FALSE );return ( events ^ SAMPLEAPP_PERMIT_JOIN_EVT1 );}

YiKai Chen:

回复 user5367314:

你確定SAMPLEAPP_PERMIT_JOIN_EVT1有被執行到嗎

user5367314:

回复 YiKai Chen:

仿真来看,确实进了SAMPLEAPP_PERMIT_JOIN_EVT1,
这个现象也不是必现的(期间没有permit join)
能否周期性的执行SAMPLEAPP_PERMIT_JOIN_EVT1吗?
这样会导致已入网的终端加不进来吗?双方都开启了NV

YiKai Chen:

回复 user5367314:

可以周期性的执行SAMPLEAPP_PERMIT_JOIN_EVT1,不会导致已入网的终端加不进来

user5367314:

回复 YiKai Chen:

1.终端的BDBC_MIN_COMMISSIONING_TIME需要修改吗?默认的是180
2.终端执行bdb_resetLocalAction后会每隔一段时间重启一次是怎么回事?类似leave了,但实际上也没入网啊

YiKai Chen:

回复 user5367314:

1. 不用
2. bdb_resetLocalAction裏頭會設置ZDApp_ResetTimerStart或是發出NLME_LeaveReq,NLME_LeaveReq後也會reset

user5367314:

回复 YiKai Chen:

bdb_resetLocalAction裏頭會設置ZDApp_ResetTimerStart或是發出NLME_LeaveReq,NLME_LeaveReq後也會reset
我这边的现象是终端bdb_resetLocalAction后会每隔十几秒自动复位一次,一直这样,把网关断电了也是这样的
这可能是什么原因?

赞(0)
未经允许不得转载:TI中文支持网 » 终端恢复出厂后又自动连上协调器
分享到: 更多 (0)