微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > ZigBee终端设备如何加入不同的协调器

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

时间:10-02 整理:3721RD 点击:

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

请问能否实现?

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

谢谢了!

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

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

您可以尝试以下步骤:

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

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

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

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

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

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

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

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

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 );

}

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top