This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

zigbee 网络如何设置PANID?(转,技术分享)

如果在一个环境复杂的小区或者是工业现场中,存在各种用途的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中去;

  • 协调器如何选择信道?

    协调器是 网路的建立和启动者,那么他建立网络时是如何选择信道的?有的书上说是他自己选择相对空闲的信道,但是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