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.

CC2530: Z-Stack 3.0.2协议栈 CC2530的ZNP不能创建网络

Part Number: CC2530
Other Parts Discussed in Thread: Z-STACK,

下载Z-Stack 3.0.2后,打开目录下的D:\Texas Instruments\Z-Stack 3.0.2\Projects\zstack\ZNP\CC253x 的znp.eww后,修改linker  ---option----output,   可编译生成hex文件,烧录后,上电程序可以运行(加了一个LED灯和串口),但是通过空中抓包工具Ubiqua, 发现这个ZNP没有创建网络,不知为何?

以前用的ZHA1.2.2a是没问题的。

查看程序发现zigbee3.0的void ZDApp_Init( uint8 task_id )函数中无   ZDOInitDevice(  );

知道zigbee3.0新增了BDB,但是这个ZNP怎么不能创建zigbee网络,需要怎样让它作为一个协调器建立一个zigbee网络。

希望得到TI大神解答,谢谢!

  • 您好,

    zigbee3.0使用的Base  Device Behavior(BDB)来进行网络的初始化和设备的配置。

     ZDOInitDevice(  );被更为bdb_StartCommissioning

  • 您可以参考Z-Stack API.pdf 的3.4.1章节

  • 您好,谢谢回复!在Z-Stack API.pdf的3.4.1没有看到关于这方面的说明。这个3.0的ZNP默认不是协调器吗?默认不会建立网络吗?企业微信截图_17020061089135.zip

  • 不好意思,是3.1.4章节

    利用BDB进行初始化的说明

  • 您将设备设置为协调器模式并设置了网络建立的方式之后,

    ZNP才会开始创建zigbee网络

    需要正确初始化

  • 您好,我在初始化最后直接增加了:

    bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING|BDB_COMMISSIONING_MODE_NWK_STEERING);

    2,把znp.cfg 文件修改为:

    /* Generic All-in-One Settings */
    //-DZSTACK_DEVICE_BUILD="(DEVICE_BUILD_COORDINATOR | DEVICE_BUILD_ROUTER | DEVICE_BUILD_ENDDEVICE)"
    -DZSTACK_DEVICE_BUILD="(DEVICE_BUILD_COORDINATOR )"

    ZNP还是不能建立网络,要如何解决?谢谢

    3,不知道是否还要把f8wCoord.cfg文件add 到tools中,也测试了,加入后,也没用。

    /*
    * f8wCoord.cfg
    *
    * Compiler command-line options used to define a TI Z-Stack
    * Coordinator device. To move an option from here to the project
    * file, comment out or delete the option from this file and
    * enter it into the "Define Symbols" box under the Preprocessor
    * tab of the C/C++ Compiler Project Options. New user defined
    * options may be added to this file, as necessary.
    *
    */

    /* Common To All Applications */
    -DCPU32MHZ // CC2530s Run at 32MHz
    -DROOT=__near_func // MAC/ZMAC code in NEAR

    /* MAC Settings */
    -DMAC_CFG_APP_PENDING_QUEUE=TRUE
    -DMAC_CFG_TX_DATA_MAX=5
    -DMAC_CFG_TX_MAX=8
    -DMAC_CFG_RX_MAX=5

    /* Coordinator Settings */
    -DZDO_COORDINATOR // Coordinator Functions
    -DRTR_NWK // Router Functions

    4,怎么能让这个ZNP以协调器跑起来,谢谢!

  • 补充一下,最开始的初始化是这个函数:void znpInit(uint8 taskId)

  • 说明一下,信道被设在CH=12, 编译后的文件的程序是在跑的,LED可亮,串口也可收发数据

  • bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING|BDB_COMMISSIONING_MODE_NWK_STEERING);   是被放在函数void znpInit(uint8 taskId)最后。

  • 问题如何解决,麻烦TI大神指导一下,谢谢!

  • 有没有考虑过这一点:

    Zigbee 堆栈完成初始化后,终端设备现在将立即进入睡眠状态,同时等待应用程序将设备调试到网络中。

  • 你把这个znp的初始化 放在bdb之后试试

  • 现在有一种可能性,是CC2530的设备被错误地设置为路由器或者是终端设备而不是协调器

    BDB_COMMISSIONING_MODE_NWK_STEERING)

    这一项使得设备将本机和其他具有相同PAN ID的设备连接到网络,而不是会创建新的网络

    编译后的文件的程序是在跑的,LED可亮,串口也可收发数据

    所以会出现以下情况

  • 您用的是CCS还是IAR?

  • ZNP原本的用途就是要透過外部CPU/MCU利用ZNP/MT command创建zigbee网络,需要让CC2530直接作为一个协调器建立一个zigbee网络的話,建議直接使用samplelight例程

  • 可以根据YiKai的建议进行尝试,会更为有效

x 出现错误。请重试或与管理员联系。