Part Number:CC2530Other 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大神解答,谢谢!
Galaxy Yue:
您好,
zigbee3.0使用的Base Device Behavior(BDB)来进行网络的初始化和设备的配置。
ZDOInitDevice( );被更为bdb_StartCommissioning
,
Galaxy Yue:
您可以参考Z-Stack API.pdf 的3.4.1章节
,
user3514461:
您好,谢谢回复!在Z-Stack API.pdf的3.4.1没有看到关于这方面的说明。这个3.0的ZNP默认不是协调器吗?默认不会建立网络吗?企业微信截图_17020061089135.zip
,
Galaxy Yue:
不好意思,是3.1.4章节
是
利用BDB进行初始化的说明
,
Galaxy Yue:
您将设备设置为协调器模式并设置了网络建立的方式之后,
ZNP才会开始创建zigbee网络
需要正确初始化
,
user3514461:
您好,我在初始化最后直接增加了:
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以协调器跑起来,谢谢!
,
user3514461:
补充一下,最开始的初始化是这个函数:void znpInit(uint8 taskId)
,
user3514461:
说明一下,信道被设在CH=12, 编译后的文件的程序是在跑的,LED可亮,串口也可收发数据
,
user3514461:
bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING|BDB_COMMISSIONING_MODE_NWK_STEERING); 是被放在函数void znpInit(uint8 taskId)最后。
,
user3514461:
问题如何解决,麻烦TI大神指导一下,谢谢!
,
Galaxy Yue:
有没有考虑过这一点:
Zigbee 堆栈完成初始化后,终端设备现在将立即进入睡眠状态,同时等待应用程序将设备调试到网络中。
,
Galaxy Yue:
你把这个znp的初始化 放在bdb之后试试
,
Galaxy Yue:
现在有一种可能性,是CC2530的设备被错误地设置为路由器或者是终端设备而不是协调器
user3514461 说:BDB_COMMISSIONING_MODE_NWK_STEERING)
这一项使得设备将本机和其他具有相同PAN ID的设备连接到网络,而不是会创建新的网络
user3514461 说:编译后的文件的程序是在跑的,LED可亮,串口也可收发数据
所以会出现以下情况
,
Galaxy Yue:
您用的是CCS还是IAR?
,
YiKai Chen:
ZNP原本的用途就是要透過外部CPU/MCU利用ZNP/MT command创建zigbee网络,需要让CC2530直接作为一个协调器建立一个zigbee网络的話,建議直接使用samplelight例程
,
Galaxy Yue:
可以根据YiKai的建议进行尝试,会更为有效