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

ZC没有permit join,ZED自动入网了

zstack 3.0.2,

#define BDBC_MIN_COMMISSIONING_TIME 60 // 180 seconds

ZC上电一天以后,没有执行permit join,新的终端一上电就自动入网了,抓包文件如附件

另外按说过了BDBC_MIN_COMMISSIONING_TIME 时间会自动关闭permit join,

我为了确保关闭了permit join,还在BDBC_MIN_COMMISSIONING_TIME 时间到达之后执行了如下代码,

结果还是permit join无法关闭,请问到底应该怎么关闭permit join?

AddrType_t dstAddr;

dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVZCZR;

dstAddr.addrMode = AddrBroadcast;

NLME_PermitJoiningRequest(0);

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

没有permit join自动加进去.psd

Viki Shi:

你的包还是解析不了啊,但是有看到后面network open了

user5367314:

回复 Viki Shi:

请问可能是什么原因导致permit join一直关不掉呢?
按说过了BDBC_MIN_COMMISSIONING_TIME 时间会自动关闭permit join,

我为了确保关闭了permit join,还在BDBC_MIN_COMMISSIONING_TIME 时间到达之后执行了如下代码,

结果还是permit join无法关闭,请问到底应该怎么关闭permit join?

AddrType_t dstAddr;

dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVZCZR;

dstAddr.addrMode = AddrBroadcast;

NLME_PermitJoiningRequest(0);

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

Viki Shi:

回复 user5367314:

就抓包来看,是有反复关闭/打开permit join的操作,你关闭以后,后面有没有再打开?
“新的终端一上电就自动入网了” 请问在第几行?照理说把入网过程抓进去的话,我这里能解析数据的,但是目前看到的,没有成功入网的设备,只是在发送beacon request

user5367314:

回复 Viki Shi:

关闭之后没有打开,只是放在那测试的,
感觉哪里又自动打开了permit join,现在只能周期性的去关闭permit join了
请问ZC不允许新的ZED加入,
用哪个API最合适?我看到关闭permit join至少有五六种指令,不知道该用哪一种最合适?
列举如下
ZDO_MGMT_PERMIT_JOIN_REQ
NLME_PermitJoiningRequest
ZDP_MgmtPermitJoinReq
ZDSecMgrPermitJoining
……………………

Viki Shi:

回复 user5367314:

ZDP_MgmtPermitJoinReq就可以

YiKai Chen:

你关闭permit join的方法是正確的 , 你要不要先用原始例程驗證是否有這個問題?

user5367314:

回复 YiKai Chen:

请问在ZC这边能不能读到当前的permit join是打开的还是关闭的?
有没有标志位或者API可以读取permit join是enable还是disable?

YiKai Chen:

回复 user5367314:

據我所知Z-Stack 没有标志位或者API可以读取permit join是enable还是disable

user5367314:

回复 YiKai Chen:

你好,ZC端我现在每分钟执行一次NLME_PermitJoiningRequest(0);
通过打断点发现确实执行了,但是对终端bdb_resetLocalAction后终端还是能加进来,
抓包看permit join是打开的,不知道怎么打开的,周期性的去关闭都关不掉
zcl_SendReportCmd命令会自动打开permit join吗?
zcl_SendReportCmd(SAMPLESW_ENDPOINT, &zclSampleSw_DstAddr,ZCL_CLUSTER_ID_GEN_ON_OFF,pReportCmd, ZCL_FRAME_CLIENT_SERVER_DIR, TRUE, bdb_getZCLFrameCounter());

YiKai Chen:

回复 user5367314:

你有先試過重裝Z-Stack 3.0.2然後用原始例程還會不會發生這個現象嗎?

赞(0)
未经允许不得转载:TI中文支持网 » ZC没有permit join,ZED自动入网了
分享到: 更多 (0)