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

Zigbee小范围内存在多个协调器

TI工程师:

      您好,现在我在使用的是CC2530芯片,软件使用的是zstack 2007.

      我想咨询下,在一个小的区域内同时存在多个协调器时,使用协议栈如何控制多个设备加入到对应的网络中呢?

      我现在做的是智能家居方面的东西,如何在所有的协调器程序都一样的情况下,不会将邻居的设备添加到我家里。

kai liu3:

回复 VV:

按照您的方法,我尝试了一下,但是可能还是不是我要的效果。想请问您这个permit join这个方法的具体函数是哪一个呢?有可能是我的方法使用不当。谢谢

Aries Lord:

回复 kai liu3:

直接在函数ZDO_JoinIndicationCB里面做文章吧

kai liu3:

回复 Aries Lord:

您好,您能再描述的清晰一些吗?还是没搞清楚,谢谢

VV:

回复 kai liu3:

关于“permit join”的实现问题,你可以用NLME_PermitJoiningRequest( byte PermitDuration )函数来实现

关于你的问题“在咨询您一下 如果我打开了开关,并且加入了一个设备。那么当我把coordinator重新上电时候(启动了恢复网络功能)不打开加入功能,刚刚加入的设备是否还能加入到这个coordinator里面呢? 谢谢”

不打开就没法加入。因为当节点重新搜索网络的时候,收到的beacon里面,permit join位是No的,所以节点不会执行后续的入网过程。

alok chen:

回复 VV:

我在协调器上,执行NLME_PermitJoiningRequest(0),也执行StartOption= ZCD_STARTOPT_CLEAR_STATE|ZCD_STARTOPT_CLEAR_CONFIG;osal_nv_write(ZCD_NV_STARTUP_OPTION,0,sizeof(uint8), &StartOption);终端还是能加入网络,请教还需要什么条件,谢谢

VV:

回复 alok chen:

@alok

应该开启了NV RESTORE对吧。

使能Permit Join只对新入网的设备有效果,如果是已经入网的设备,即便Permit Join禁止了,也没关系,因为已经入网了。

你通过抓包就看的比较清楚了。节点不是通过Associate Request来加网的?

Aries Lord:

我们用的白名单管理机制,家庭主机向协调器输入设备的MAC地址,设备才能连入协调器。

赞(0)
未经允许不得转载:TI中文支持网 » Zigbee小范围内存在多个协调器
分享到: 更多 (0)