指定节点退网、防止未知节点误入网络的问题
时间:10-02
整理:3721RD
点击:
各位好,
我使用ZDP_MgmtLeaveReq()这个函数来让已知短地址的终端退网,代码如下:我这样使用的结果是,可以将节点退网,节点上也需要做一些配置。我在函数里禁止节点重连,但是节点退网后会获取到新的短地址重新入网,这个属于正常现象么?我使用NLME_PermitJoiningRequest(0)禁止后,节点才会不入网。我现在的问题是有没有什么接口,可以不需要管节点配置,直接指定节点退网?我是担心其他人配置的节点失误加入到我的网络里,开启加密功能是否能解决未知节点加入的问题?
zAddrType_t addr_delet;
addr_delet.addrMode = Addr16Bit;
addr_delet.addr.shortAddr =(UINT16)(SampleApp_RxBuf[1]<<8)+SampleApp_RxBuf[2];
AddrMgrExtAddrLookup(addr_delet.addr.shortAddr, IEEEbuf );
if(ZDP_MgmtLeaveReq((zAddrType_t *)&addr_delet,IEEEbuf ,0,0,0)== ZSuccess)
HalUARTWrite(0,"\nSucce\n",7);
对的是正常现象,因为你让节点禁止入网,是禁止节点rejoin到这个网络,
但是节点收到这个消息以后,会把自己的网络信息删除,因为禁止rejoin,然后节点就重新开始搜网,这个时候只要搜到permit join是enable的,并且信号强度可以的话,就会重新join到这个网络,那重新分配地址的话,可能就是不一样的地址了。