如果在一个环境复杂的小区或者是工业现场中,存在各种用途的zigbee设备;
如果每一个网络设置一个信道用于区分,可能16个信道不够使用; 如果两个网络设置在同一个默认信道,就有可能网络A的终端设备加入到网络B中去; 网络B的协调器控制了网络A 中的设备; 好比,你们家的遥控器控制了邻居家的灯开光;
解决这个问题的方法是; 使用PANID 给网络编号;范围是0X0001—-0XFFFF; 可以通过给不同的网络 指定不同的网络ID号来区分网络,避免干扰;
用户可在 f8wConfig.cfg 文件中配置PANID;
/* Define the default PAN ID.
*
* Setting this to a value other than 0xFFFF causes 设置这个值是一个非0XFFFF的值
* ZDO_COORD to use this value as its PAN ID and 协调器会使用这个值作为他的PANID
* Routers and end devices to join PAN with this ID 路由器和终端会加入到这个PANID中;
*/
-DZDAPP_CONFIG_PAN_ID=0xFFFF
如果这里设置为0XFFFF :
那么协调器则随机产生一个值作为自己的PANID; 路由器和终端设备则会在自己的默认信道上随机选择一个网路加入,加入之后协调器的PANID即为自己的PANID;
如过这里设置为不是0XFFFF的其他值:
如果设定的值为0x0001–0xffff 区间内 为合法的; 那么协调器会直接以他为PANID; 如果在建立网络的时候发现 默认信道内该PANID已经被占用,那么协调器会继续搜索其他的PANID使用; 这就带来问题了, 终端和路由器并不知道协调器 换PANID了; 还会加入到原来设定的PANID中去;
gaoyang9992006:
协调器如何选择信道?
协调器是 网路的建立和启动者,那么他建立网络时是如何选择信道的?有的书上说是他自己选择相对空闲的信道,但是TOOLS->f8config.cfg 文件中也有配置的选项;
所以我想知道,协调器到底是怎样配置信道? 用户应该如何配置?
tools->f8wConfig.cfg 该文件定义了11-26共16个信道。 可以任选其中一个作为自己的默认信道;也可以 定义多个默认信道,协调器将在其中选择一个最好的,干扰最小的信道建立自己网路;路由器和终端设备也是选择自己的一个默认信道加入网络;
/* Default channel is Channel 11 – 0x0B */// Channels are defined in the following:// 0 : 868 MHz 0x00000001// 1 – 10 : 915 MHz 0x000007FE// 11 – 26 : 2.4 GHz 0x07FFF800////-DMAX_CHANNELS_868MHZ 0x00000001//-DMAX_CHANNELS_915MHZ 0x000007FE//-DMAX_CHANNELS_24GHZ 0x07FFF800//-DDEFAULT_CHANLIST=0x04000000 // 26 – 0x1A//-DDEFAULT_CHANLIST=0x02000000 // 25 – 0x19//-DDEFAULT_CHANLIST=0x01000000 // 24 – 0x18//-DDEFAULT_CHANLIST=0x00800000 // 23 – 0x17//-DDEFAULT_CHANLIST=0x00400000 // 22 – 0x16//-DDEFAULT_CHANLIST=0x00200000 // 21 – 0x15//-DDEFAULT_CHANLIST=0x00100000 // 20 – 0x14//-DDEFAULT_CHANLIST=0x00080000 // 19 – 0x13//-DDEFAULT_CHANLIST=0x00040000 // 18 – 0x12//-DDEFAULT_CHANLIST=0x00020000 // 17 – 0x11//-DDEFAULT_CHANLIST=0x00010000 // 16 – 0x10//-DDEFAULT_CHANLIST=0x00008000 // 15 – 0x0F-DDEFAULT_CHANLIST=0x00004000 // 14 – 0x0E-DDEFAULT_CHANLIST=0x00002000 // 13 – 0x0D-DDEFAULT_CHANLIST=0x00001000 // 12 – 0x0C//-DDEFAULT_CHANLIST=0x00000800 // 11 – 0x0B