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

终端节点奇怪的重入网现象

芯片:CC2530
协议栈:zigbee1.2.2a

硬件环境:1个协调器,1个电池终端节点。

软件部分配置

-DNV_RESTORE

协调器上电后没有允许入网

case ZDO_STATE_CHANGE:
        zclDevice_NwkState = (devStates_t)(pMsg->status);

if (zclDevice_NwkState == DEV_ZB_COORD) {
          zAddrType_t dstAddr;
          dstAddr.addrMode = Addr16Bit;
          dstAddr.addr.shortAddr = 0x00;
          ZDP_MgmtPermitJoinReq(&dstAddr, 0x00, 0, TRUE);

}

实际现象:

1,协调器组网后,终端节点正常入网。

2,拿掉终端节点电池。查看协调器关联表AssociatedDevList,协调器关联表中有这个终端节点的shortAddr。

3,通过烧录器,给协调器再烧录一次程序。(选择Erase and program),之后,协调器上电组建新的PANID,再查看关联表,已无前面的那个终端节点的shortAddr

4,电池节点上电,发现这个电池节点竟然会加入到这个新的PANID中,而且shortAddr还是原来的shortAddr

5,反复测试好多次了,都是如此。为何入网后的终端会这么随便的加入其它的网络?

谢谢解答!

Kevin Qiu1:

协调器创建网络后会分配给终端一个16位的PANID,重新烧写程序等于协调器重新创建网络了,你说的随便加入其他网络是什么意思?
它重新加入了协调器创建的网络?

user3514461:

回复 Kevin Qiu1:

是的,协调器重新烧录程序后上电,那个本来还在原来PANID的ED节点,竟然加入到这个新烧录的协调器网络中,在新的网络中还可以正常发送数据。

user3514461:

回复 user3514461:

哦,网络中,是否和加密选项有关?
我的是如此设置的
-DSECURE=0//1
-DZG_SECURE_DYNAMIC=0

Kevin Qiu1:

回复 user3514461:

和加密应该没关系,重新烧写协调器程序,等于重新进行了网络初始化,这个能连接是正常的呀。可以换个信道或短地址看一下

user3514461:

回复 user3514461:

感觉电池终端节点会被原来的曾加入的协调器记住,尽管这个协调器重新烧录了程序,但是不能清除所有数据,导致了原来的电池终端节点先发送orphan notification,接着reioin新的PANID,不知道这个是否是TI的BUG?

Kevin Qiu1:

回复 user3514461:

你可以升级到Z-Stack 3.0.2再试试,或者在协调器重新烧录程序后,终端节点按下复位

赞(0)
未经允许不得转载:TI中文支持网 » 终端节点奇怪的重入网现象
分享到: 更多 (0)