首页  /  新游首发  /  第三部分:Z

第三部分:Z

新游首发 6407

1.1 Z-Stack 3.0.1 文件组织协议栈简介与安装文件组织Accessories目录Components目录Documents目录Projects目录其他目录2.2 Z-Stack 3.0.1 工程框架工程组织结构工程编译及链接

1.1 Z-Stack 3.0.1 文件组织

协议栈简介与安装Z-Stack 3.0 是TI(德州仪器)针对 ZigBee 3.0 协议而开发的技术方案,也称为TI ZigBee 3.0 协议栈。通俗地讲,Z-Stack 3.0就是TI根据 ZigBee 3.0 协议规范而编写的程序(库),开发者可以方便地调用Z-Stack 3.0中的各个API来进行基于ZigBee协议的数据通信。本节课需要用到TI Z-Stack 3.0 协议栈,读者可以到《第一部分》中根据提示安装。

文件组织默认安装Z-Stack 3.0 完成后可以在电脑C盘找到对应的文件夹,如图所示。

打开Z-Stack 3.0.1文件夹,如图所示。

Accessories目录存放了各种辅助工具,进入Accessories目录,如图所示。目录Accessories中的文件夹描述如下:(1)OtaServer:存放了OTA(Over The Air,空中升级)测试工具(2)SerialBootTool:存放了串口升级测试工具。

Components目录存放了Z-Stack核心源代码和链接库,进入Components目录,如图所示。目录Components中的文件夹描述如下:(1)bsp:板级支持包,用于适配TI官方开发板的硬件资源。(2)driverlib:驱动程序链接库,存放TI官方未开源驱动程序的链接库。(3) hal:硬件抽象层,存放各种驱动程序。(4)mac:媒体介质访问控制,实现物理层通信及IEEE 802.15.4协议。(5)mt:监视层,为监视协议栈各层的运行状态提供支持。(6)osal:操作系统抽象层,是Z-Stack 3.0的操作系统。(7)services:提供一些公共的、常用的功能。(8)stack:ZigBee协议的实现。(9)usblib:USB链接库,芯片支持USB(比如CC2538)时需要用到的功能。(10)zmac:属于mac层的内容。

Documents目录存放了Z-Stack开发辅助的相关文档,进入Documents目录,如图所示。目录Documents中的文件夹及文件描述如下:(1)API:存放Z-Stack 3.0 相关API的说明文档。(2)CC2530:存放适用于CC2530型号MCU的相关文档。(3)CC2538:存放适用于CC2538型号MCU的相关文档。(4)Z-Stack 3.0 Developer’s Guide.pdf:Z-Stack 3.0 开发指导。(5)Z-Stack 3.0 Sample Application User’s Guide.pdf:Z-Stack 3.0 应用例程指导。(6)Z-Stack OTA Upgrade User’s Guide.pdf:OTA(Over The Air)空中升级说明指导。

Projects目录存放了ZigBee应用例程的工程文件和源码文件,进入Projects目录,如图所示。目录Projects中的文件夹描述如下:(1)tools:存放与ZigBee例程应用相关的工具。(2)zstack:存放ZigBee相关例程。

进入zstack文件夹,如图所示。目录zstack中的文件夹描述如下:(1)HomeAutomation:面向家庭自动化领域的相关例程。(2)Libraries:存放链接库文件,TI不开放的源代码会被编译为链接库的形式提供给开发者使用。(3)OTA:OTA(Over The Air)空中升级例程。(4)Tools:存放工程配置相关的文件。(5)Utilities:公共文件夹。(6)ZMain:存放主函数所在的源代码文件及系统硬件启动相关的源代码文件。(7)ZNP:ZNP(ZigBee And Processor)例程。

进入HomeAutomation文件夹,如图所示。目录HomeAutomation中的文件夹描述如下:(1)GenericApp:通用的应用场景例程。(2)SampleDoorLock:ZigBee 3.0门锁例程。(3)SampleDoorLockController:ZigBee 3.0门锁控制器例程。(4)SampleLight:ZigBee 3.0灯例程。(5)SampleSwitch:ZigBee 3.0插座例程。(6)SampleTemperatureSensor:ZigBee 3.0温湿度传感器例程。(7)SampleThermostat:ZigBee 3.0温度控制器例程。(8)Source:存放公共代码的文件夹。

其他目录(1) Tools:存放开发调试相关的工具。(2) EULA.pdf:版权声明文件。(3)Getting Started Guide - CC2530.pdf:针对CC2530型号MCU的开始向导文件。(4)Getting Started Guide - CC2538.pdf:针对CC2538型号MCU的开始向导文件。(5)Z-Stack 3.0 Release Notes.txt:Z-Stack 3.0 发布描述文件。(6)Z-Stack 3.0 Software Development Kit Resource Guide.html:Z-Stack 3.0 开发资源向导链接文件。(7) Z-Stack Core Release Notes.txt:Z-Stack Core发布描述文件。(8)Z-Stack_3.0.1_Manifest.html:Z-Stack 3.0 关键信息描述清单。(9)_iss:此文件夹为隐藏文件夹,存放用于卸载Z-Stack 3.0 的相关文件。

2.2 Z-Stack 3.0.1 工程框架

工程组织结构本节内容将以SampleSwitch例程来讲解协议栈的工程文件结构。进入SampleSwitch工程所在文件夹,如图所示。

通过集成开发环境IAR 10.10.1打开工程文件SampleSwitch.eww,如图所示。

工程中的的各个组的说明如下:(1)App:存放应用程序相关源代码文件。(2)BDB:实现ZigBee BDB(Base Device Behavior,设备基础行为)功能。(3)GP:实现ZigBee GP(Green Power,绿色能源)功能。(4)HAL:硬件抽象层,存放各种驱动程序。(5)MAC:媒体介质访问控制,实现物理层通信及IEEE 802.15.4协议。(6)MT:监视层,为监视协议栈各层的运行状态提供支持。(7)NWK:ZigBee网络层。(8)OSAL:操作系统抽象层。(9)Profile:存放ZigBee标准化定义及相关功能实现的源代码文件。(10)Security:实现安全相关服务。(11)Services:提供一些公共的、常用的功能。(12)Tools:存放工程配置相关的文件。(13)ZDO:存放ZDO(ZigBee Device Object,ZigBee设备对象)相关源代码文件。(14)ZMac:属于mac层的内容。(15)ZMain:存放主函数所在的源代码文件及系统硬件启动相关的源代码文件。(16)Output:存放工程编译/链接时输出的文件。

在工程中可以选择不同的ZigBee网络设备类型。单击选项卡→选择网络设备类型,如图所示。

ZigBee网络设备类型有3种,分别是Coordinator(协调器),Router(路由器)和EndDevice(终端设备),图中选项卡选项的含义描述如下:(1)CoordinatorEB:ZigBee协调器。(2)RouterEB:ZigBee路由器。(3)EndDeviceEB:ZigBee终端设备。(4)EndDeviceEB-OTAClient:支持OTA(Over The Air)空中升级的ZigBee终端设备。(5)RouterEB-OTAClient:支持OTA(Over The Air)空中升级的ZigBee路由器。

在后续章节中,将会详细讲解这些设备类型的含义。

工程编译及链接选择CoordinatorEB,接着右击工程名称,然后选择选择Rebuild All,如图所示。

编译及链接过程无错误和警告,如图所示。