了解硬件和更多资料可点击:点击了解
新建一个物联网行业交流学习QQ群,感兴趣可加:928840648
=====CUT=====
本章目的:
1)了解Z-Stack3.0的文件组织形式。
2)了解Z-Stack3.0的框架结构。
如果大家按照默认的位置安装了Z-Stack3.0,那么可以在C盘下找到相应的文件目录:
ZStack 3.0.1就是TI提供的ZigBee解决方案软件支持包(SDK),SDK并不是全开源的,没有开源的部分是以链接库的形式提供,非常稳定,我们也基本不会修改到。注:我们开发一个项目的时候,可以复制安装目录下的SDK到其他目录进行使用,进入Z-Stack 3.0.1目录下:
Accessories目录:
这个目录用来存放“附件”,也就是一些辅助的工具,后面课程使用到会进行讲解;进入该目录:
Components目录:
这个目录用来存放协议栈的“组件”,基本上包含了协议栈的所有重要的组成部分。进入该目录:
bsp(板级支持包):为上层的驱动程序提供访问硬件设备寄存器的函数包。
driverlib(驱动链接库): 为上层提供驱动程序API。
hal(硬件设配层): 适配下层不同硬件的驱动程序,为上层提供统一API。
mac(数据链路层):实现IEEE802.15.4协议、射频收发控制等。
mt(监视器):为监视协议栈各层的运行状态提供支持。
osal(操作系统抽象层):实现系统调度、内存管理,存储管理等功能。
services(服务):提供一些公共的、常用的API,比如复制MAC地址等。
stack(ZigBee协议堆栈):实现ZigBee相关的功能和服务,这个目录和ZigBee协议的内容密切相关,我们暂时不展开,到ZigBee3.0应用篇我们会进行详细讲解。下图是ZigBee协议的结构图,其实就是在这个目录实现的:
usblib(USB链接库):如果芯片支持USB(比如CC2538),就需要USB链接库的支持了。
zmac(数据链路子层):mac层的支持子层,属于mac层的一部分!
Documents目录:
Documents目录下提供的是针对Z-Stack开发的辅助文档,比如开发者指导和应用例程指导、也有API的接口说明文档、OTA指导,这部分内容对于开发者非常有参考价值。
Projects目录:
tools目录下存放的是应用例程会使用到的工具,比如OTA工具;我们重点关注zstack目录,这里面有ZigBee的应用例程,打开该目录:
HomeAutomation(简称ZHA):家居自动化,是ZigBee面向智能家居自动化控制的应用,比如智能插座、温湿度传感器、灯等等。
LIbraries(动态链接库):TI不开放的那部分源代码会被编译为链接库的形式进行使用。
OTA(空中升级):针对ZigBee设备空中升级的例子。
Tools(配置工具):这里面存放的是相关工程的配置文件,比如配置FLASH中多少空间用来存放程序等。
Utilities(公共目录):存放共用使用的内容,比如BootLoader例程。
ZMain(main入口函数):这里面存放和系统启动相关的内容,包括main入口函数。
ZNP(ZigBee And Processor):Z-Stack支持CC253x/CC2538 + MCU的方案,比如CC2530+QCA4531(Wifi芯片),也就是ZNP方案!
Tools目录:
存放的是配合Z-Stack使用的工具,配置文件等,比如ZigBee网络信息的配置,程序启动位置地址配置等等。
文件:
EULA是版权说明的文档,不展开。
Getting Started Guide也就是“入门指南”,用于一开始导读用的。
Z-Stack 3.0 Release Note.txt是Z-Stack当前版本的说明信息。
Z-Stack Core Release Note.txt,我们知道Z-Stack是有内核的,这个文档用来说明当前所用内核的信息。
Z-Stack 3.0 Software Development Kit Resource Guide.html,提供通过网页来查看相关帮助文档的链接。
Z-Stack_3.0.1_Manifest.html,SDK的清单,比如软件版本信息等。
...\Z-Stack 3.0.1\Projects\zstack\HomeAutomation,上节课我们讲到,这个目录下存放的是ZigBee面向家居自动化(智能家居)的应用工程,我们打开该目录可以看到:
不同应用只是在应用层上不同,工程的框架结构是一模一样的,我们这里以:
SampleSwitch工程为例子进行讲解,这是一个ZigBee插座的应用例程:
由于我们的板子是CC2530,所以打开CC2530DB目录:
注:Z-Stack 3.0.1针对CC2530的工程需要用到IAR EW8051 10.10.1以上的IAR版本打开。这里工作空间以及工程管理和我们基础篇学习的多工程管理是一样的,我们通过IAR 10.10.1打开SampleSwitch.eww,工程打开后:
红色圈内的内容和ZigBee协议的实现密切相关,我们放在后面的篇章进行讲解;其他有文字说明的工程组和上节课的内容一对照很容易发现其实是一致的,App是应用层的开发,可以理解为是基于ZigBee的应用设备开发,大部分的开发工作是在APP应用程序上展开的,首先我们可以对工程进行一次完整的编译过程:
编译完成,无错误和警告:
ZigBee有3种设备类型,分别是:协调器,路由器和终端设备,协调器是网络的中心节点(起到建立网络的作用,同时承担路由设备数据中转服务的角色),路由器是数据报文的中转站,终端设备一般是对耗电敏感的传感器设备;我们可以在工程中对这三种设备做切换:
由于我们这个篇章不会涉及ZigBee具体内容的讲解,所以我们按照工程打开后的默认即可,也就是协调器(Coordinator),下节课我们将进入具体的内容讲解!
了解硬件和更多资料可点击:点击了解
新建一个物联网行业交流学习QQ群,感兴趣可加:928840648