当前位置:首页 > zigbee入门经典
学习ZigBee入门-1 2010-07-17 01:49
http://qwrwrwet.blog.163.com/blog/static/270501072009102891235587/ 申明:学习zigbee入门,参考了零基础学zigbee文档资料等。 Zstack 情况:
采用 TI 的 Zstack1.4.3 协议, IAR7.30B版本 第一步:安装 Zstack
从 TI 官方网站上下载的 Zstack 为:swrc072c.zip,我想这个压缩包大家都认识。解压之后为:ZStack- CC2430-1.4.3.exe 文件。这个安装文件大家都会了。默认安装路径为:C:\\Texas Instruments\\ZStack-1.4.3。安装之后在 C:\\Texas Instruments\\ZStack-1.4.3 目录下有各 PDF 文档为:Getting Started
GuideCC2430.pdf,不用多说,这个肯定是要看的。既然把它放到这么前面,说明它是入门中的入门文档。下面就简单介绍下这个文档(注意哦,结合了我的开发套件): 1、 介绍了安装 ZStack-CC2430-1.4.3.exe 需要的硬件软件条件:需要电脑、操作系统为 Windows 2000 或 Windows XP。至于更高或更低版本的本人没有尝试。
2、 讲了安装流程。这个有点多余了,这年月哪个有电脑的没有安装上百上千次 的软件啊?但是需要强调的是安装路径----默认就好! 3、 接下来就是让我们看的第一个文档为:
Start->Programs->Texas Instruments->ZStack-1.4.3->Z-Stack User’s Guide, 第二步:Z-Stack 用户指导 这个文档的更新时间为:2007 年 12 月 21 日----应该还是比较新的版本。由于本人英文的却有限,就不翻译了,浏览一遍,把大概意思说下就可以了: 1、 介绍
1.1、 适用范围
本文档适用于 CC2430开发板(具体的板子不同也会有差别) 2、产品包描述 2.1、安装包内容
这个就是上面提到的的 ZStack-CC2430-1.4.3.exe 安装之后的所有内容了。说白了就是包含 Zstack 开发所需要的所有软件和文档资料等。 2.2、开发板介绍
C51RF-M套件,由一个网管,4个电池板(节点)组成一个zigbee硬件系统,当然了,还需要仿真板子,USB下载线,这样就OK了,可以玩zigbee了。 2.3、电缆
也就是包含开发包所需要的电缆,如 RS232 串口线,USB 线等等附属配件。 3、安装配置 3.1、主机配置
一台个人计算机,含有串口,USB接口就ok了 3.2、目标板需求
其实也是开发环境需求--- IAR EW8051。目前需要的版本为 7.30B 及以上。要想开发好点的话,就要弄一点上位机软件来配套使用,Z-TOOLS等(我就用了无线
龙公司的C51RF-WSN监控软件V3.00) 4、产品安装过程 4.1、安装 Z-Stack
这个也就是安装 ZStack-CC2430-1.4.3.exe 的过程。 4.2、IAR 安装
一般来说安装选择默认路径,但是自定义路径也不会出问题的。注意 IAR 版本 7.30B 及以上版本才可以运行 1.4.3 协议。 4.3、设备 IEEE 地址
每个 CC2430DB, CC2430EM,和 CC2431EM 都已经排列了一个唯一的 64 位物理地址(IEEE 地址),这个地址通过软件SmartRF04 Flash Programmer已经写到了CC2430 内部 FLASH 里面,用户也可以修改的,这个地址被写入到 FLASH 的 0x1FFF8 地址中,注意这个地址也可以更改的,通过些 FLASH 软件,一般xFFFFFFFFFFFFFFFF 地址被认为是无效地址。 5、配置并试用 Z-Stack 5.1、配置 Z-Stack 这个详见 5.3 节。 5.2、逻辑类型
这里主要是介绍了 ZIGBEE 协议中的三种设备类型:
ZigBee 协调者(ZC):这个设备被配置为初始化并建立一个 PAN 网络(注意PANID的分配)
ZigBee 路由器(ZR):该设备被配置为加入一个存在的网络,可以加入一个协调求或路由器,
然后允许其他设备加入它,在网络中路有数据信息。
ZigBee 终端节点 (ZED):该设备被配置为加入一个存在的网络,可以加入一个协调求或路由器。
5.3、建立样品应用设备:SampleApp
基本上就是采用 SampleApp 应用中的例子来演示整个流程,就是采用一个协调器和一个或多个路由器来形成一个 ZigBee 网络演示。在该例子中主要通过我手中的一套C51RF-M套件来完成,配合一点外围设备。 5.4、建立一个 SampleLight 协调器设备 首先要打开对应工程,C:\\Texas
Instruments\\ZStack-1.4.3-1.2.1\\Projects\\zstack\\Samples\\SampleApp\\CC2430DB \\SampleApp,在工作窗口中选择CoordinatorEB,然后选择工程菜单(Project)下的全部编译(Rebuild All)选项,
然后选择工程菜单(Project)下的调试(Debug)选项,下载完之后就可以退出调试状态,通过选中调试菜单下的停止调试选项,按照此种方法下载至少两个 RouterEB模块,就可以进行 演示了。 6、 Z-Stack 示范
详细的示范流程,这里先不说了,因为本人采用的硬件与原装有点差异,即使按照这个方法下载仍然不能演示,所以我必须进入程序把跳线判断程序进行简单必要的修改才能演示。该文档介绍的演示结果及现象都是基于 CHIPCON 原厂评估板。 7. PanID 和通道(Channel)选择
ZigBee 协议规范规定,一个 14 位的个域网标志符(PAN ID)来标识唯一的一个网络。Z-Stack 可以用两种方式由用户自己选择其 PAN ID,当
ZDAPP_CONFIG_PAN_ID 值设置不为 0xFFFF 时,那么设备建立或加入网络的 PAN ID 由 ZDAPP_CONFIG_PAN_ID 指定;如果设置 ZDAPP_CONFIG_PAN_ID 为 0xFFFF;那么设备就将建立或加入它发现网络中的“最好”的网络。关于这里提到的“最好”的网络,我觉得可能是有些参数评估,只不过这里没有详细的介绍,在后续文档中应该有介绍的。
在 2.4G 频段上,IEEE 802.15.4/ZIGBEE 规范规定了 16 各频道。用户可以通过选择 DEFAULT_CHANLIST 不同的值可以选择不同的频道,其频道如下所示。改协议默认-DDEFAULT_CHANLIST=0x00000800 // 11 - 0x0B /* 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
/* Define the default PAN ID.
* Setting this to a value other than 0xFFFF causes * ZDO_COORD to use this value as its PAN ID and * Routers and end devices to join PAN with this ID */
//-DZDAPP_CONFIG_PAN_ID=0xFFFF -DZDAPP_CONFIG_PAN_ID=0xFFFF
DEFAULT_CHANLIST 和 ZDAPP_CONFIG_PAN_ID 都作为 IAR IDE 中的编译选项可以进行设置,在应用文件中的?\\Projects\\Tools\\CC2430DB 目录下的 f8wConfig.cfg 文件中有相应设置。
学习ZigBee入门-2 2010-07-17 01:51 Sample 例子演示
上节基本上初步认识了 Zstack 的一些情况,今天继续我的学习,打开 Sample例子看看,究竟 ZIGBEE 是怎么回事。 毫无疑问:如果是第一次打开这个例子工程,肯定很迷糊,因为此时我迷糊了。很多的文件夹,很多层,这么多文件夹,打开之后又有那么多文件,从何看起?不要着急,特别是有些人拿到之后,啥都不知道的人第一个问题就是:我要实现 XXX,在哪修改或者在哪添加我的函数呢?凡是我遇到这样的客户,我就可以肯定他技术部咋的。就连我这个外行都知道,不把这些弄明白,就是实现 XXX 只需要修改一个字母,那也不知道在哪改啊?所以我不急,但是我也理解很多客户,因为有时候项目催的比较急,毕竟老板都是外行嘛! 两条路:1 就是先看主函数,2 就是看看 TI 提供例子说明文档没有。 我这里先看看主函数再说哈!因为我就知道从主函数看起. 没办法大概每个文件夹找啊,主函数的特征还是比较明明显的。 下面把主函数复制过来简单看下: ZSEG int main( void ) {
// Turn off interrupts --关闭中断 osal_int_disable( INTS_ALL );
// Initialize HAL --初始化HAL(硬件相关的) HAL_BOARD_INIT();
// Make sure supply voltage is high enough to run --电压检测,最好是能保证芯片能正常工作的电压 zmain_vdd_check();
// Initialize stack memory --初始化stack存储区 zmain_ram_init();
// Initialize board I/O --初始化板载的IO口 InitBoard( OB_COLD );
// Initialze HAL drivers --初始化HAL驱动 HalDriverInit();
// Initialize NV System --初始化NV条目 osal_nv_init( NULL );
// Determine the extended address 决定长地址 zmain_ext_addr();
// Initialize basic NV items --初始化NV系统 zgInit();
共分享92篇相关文档