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

ZigBee终端设备如何加入不同的协调器

在多个协调器(ZC1/ ZC2)网络中,若一个ZigBee终端设备成功加入一个协调器(ZC1)组建的网络后,不重启Zigbee终端设备,如何让终端从(ZC1)脱离,然后加入(ZC2)中?

请问能否实现?

如果能,怎么利用协议栈实现? 

谢谢了!

我用的是cc2530  , 协议栈是ZStack-CC2530-2.5.1a

gaoyang9992006:

没见过这种例程,不过可以试着通过软件复位系统的方式进行切换。

Susan Yang:

您可以尝试以下步骤:

1 使用ZDP_MgmtLeaveReq()函数来让已知短地址的终端退网

2 使用NLME_PermitJoiningRequest(0)禁止节点再次加入该网络

这样节点会搜索其他的协调器入网

zhen tang:

回复 Susan Yang:

这是在协调器上做修改吗?    这样节点是不是就永远不能加入刚刚退出的网络了?

我是想实现下面一个功能:

有两个房间A和B,房间A中有协调器 ZC1 建立的网络 NW1 ,房间B中有协调器 ZC2 建立的网络 NW2 ,终端节点进入房间A时能自动加入 NW1 ,进入房间B时能自动加入 NW2 。

能不能在终端节点上做代码修改来实现?

Susan Yang:

回复 zhen tang:

节点主动离开网络的话,可以使用以下代码

void Meter_Leave(void)

{

 NLME_LeaveReq_t leaveReq;

 osal_memset((uint8 *)&leaveReq,0,sizeof(NLME_LeaveReq_t));

 osal_memcpy(leaveReq.extAddr,NLME_GetExtAddr(),Z_EXTADDR_LEN);

 leaveReq.removeChildren = 1;

 leaveReq.rejoin = 0;

 leaveReq.silent = 0;

 NLME_LeaveReq( &leaveReq );

}

zhen tang:

回复 Susan Yang:

使用这个代码,节点主动离开网络后,节点是不是通过协议栈自动搜网加网? 还是要再写代码搜网加网?

赞(0)
未经允许不得转载:TI中文支持网 » ZigBee终端设备如何加入不同的协调器
分享到: 更多 (0)