无线传感器网络技术与应用 项目四 Z-Stack无线通信技术应用设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双击ZStack-CC2530-2.5.1a.exe文件,即可进行协议栈的安装,如图所示,默认是安装到C盘根目录下。
安装完成之后,在C:\Texas Instruments\ZStack-CC2530-2.5.1a目录下有4个文件夹,分别是 Documents、Projects、Tools和Components。
(1) Documents文件夹 该文件夹内有很多PDF文档,主要是对整个协议栈的进行说明,用户可以根据需要进行查阅。 (2) Projects文件夹 该文件夹内包括用于Z-Stack功能演示的各个项目的例程,用户可以在这些例程的基础进行开 发。 (3) Tools文件夹 该文件夹内包括TI公司提供的一些工具。 (4) Components文件夹 Components是一个非常重要的文件夹,其内包括Z-Stack协议栈的各个功能函数,具体如下: 1)hal文件夹。为硬件平台的抽象层。 2)mac文件夹。包括IEEE802.15.4物理协议所需要的头文件,TI公司没有给出这部分的具体 源代码,而是以库文件的形式存在。 3)mt文件夹。包括Z-tools调试功能所需要的源文件。 4)osal文件夹。包括操作系统抽象层所需要的文件。 5)services文件夹。包括Z-Stack提供的两种服务所需要的文件,即寻址服务和数据服务。 6)stack文件夹。其是Components文件夹最核心的部分,是ZigBee协议栈的具体实现部分, 在该文件夹下,包括7个文件夹,分别是af(应用框架)、nwk(网络层)、sapi(简单应用 接口)、sec(安全)、sys(系统头文件)、zcl(ZigBee簇库)和zdo(ZigBee设备对象)。 7)zmac文件夹。包括Z-Stack MAC导出层文件。
/*********************************************

贴士Biblioteka ******************************************/
协议栈是协议的实现,可以理解为代码,函数库,供上层应用调用,协议较底下的层与 应用是相互独立的。商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给 你一个功能模块给你调用。你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存 储,处理;还有系统里的设备之间的通信顺序什么的,当你的应用需要数据通信时,调用 组网函数给你组建你想要的网络;当你想从一个设备发数据到另一个设备时,调用无线数 据发送函数;当然,接收端就调用接收函数;当你的设备没事干的时候,你就调用睡眠函 数;要干活的时候就调用唤醒函数。所以当你做具体应用时,不需要关心协议栈是怎么写 的,里面的每条代码是什么意思。除非你要做协议研究。每个厂商的协议栈有区别,也就 是函数名称和参数可能有区别,这个要看具体的例子、说明文档。
【任务环境】 硬件:NewLab平台2套、zigbee节点板2块、CC2530仿真
器1组、PC机1台。 软件:Windows 7/10, IAR 集成开发环境。 【必备知识点】 1. Z-Stack协议栈概念; 2. Z-Stack协议栈的安装与说明。
4.1.1 Z-Stack协议栈概念
(3)终端设备(终端节点)的作用
① 终端设备是Zigbee实现低功耗的核心,它的入网过程和路由器是一样的。终端设 备没有维持网络结构的职责,所以它并不是时刻都处在接收状态的,大部分情况下它 都将处于IDLE或者低功耗休眠模式。因此,它可以由电池供电。
② 终端设备会定时同自己的父节点进行通信,询问是否有发给自己的消息,这个过程 被形象地成为“心跳”。心跳周期也是在f8wConfig.cfg里配置的:DPOLL_RATE=1000。Zstack默认的心跳周期为1000ms,终端节点每1s会同自己的 父节点进行一次通信,处理属于自己的信息。
项目四 ZigBee协议栈应用与组网
2019/12/26
【技能目标】
1. 掌握Z-Stack协议栈的结构、基本概念; 2. 掌握协调器、路由器、终端节点的基本概念; 3. 掌握Z-Stack协议栈实时操作系统,理解OSAL运行机理、任务调
试、API函数等; 4. 掌握Z-Stack协议栈的串口、中断等接口函数; 5. 掌握单播、组播和广播基本原理与基本概念; 6. 掌握Z-Stack协议栈的LED和KEY驱动函数的工作原理; 7. 掌握Z-Stack协议栈的绑定工作原理; 8. 了解Z-Stack协议栈的网络地址分配机制,掌握Z-Stack协议栈的
图4-7 移除SampleApp.h
2.添加源文件
单击File,在弹出的下拉菜单中选择New,然后选择File,将文件保存 为Coordinator.h,然后以同样的方法新建一个Coordinator.c和 Enddevice.c文件,文件的保存路径为“C:\Texas Instruments\ZStack-CC2530-2.5.1a\Projects \zstack \Samples\SampleApp\Source”。
4.1.3 任务实训步骤
第1步,打开Z-Stack的SampleApp.eww工程。
在路径C:\Texas Instruments\ZStack-CC25302.5.1a\Projects\zstack\Samples \SampleApp\CC2530DB目录下找 到SampleApp.eww工程,如左图所示。打开该工程后,可以看到 SampleApp.eww工程文件布局,如右图所示。
任务4.1 基于Z-Stack的点对点通信
【任务要求】
采用两个ZigBee模块,一个作为协调器(ZigBee节点1),另一 个作为终端节点或路由器(ZigBee节点2)。ZigBee节点2发送 “NEWLab”字符,ZigBee节点1收到数据后,对接收到的数据进行 判断,如果收到的数据正确,则使ZigBee节点1的LED2闪烁;如果不 正确,则点亮ZigBee节点1的LED2。数据传输模型如图所示。
一旦Zigbee网络建立完成后,整个网络的操作就不再依赖协调器是否存在, 与普通的路由器没有什么区别。 (2)路由器的作用 1) 允许其他设备加入网络,多跳路由协助由终端设备通信。 2) 一般情况,路由器需要一直处于工作状态,必须使用电力电源供电。但是当 使用树型网络拓扑结构时,允许路由器间隔一定的周期操作一次,则路由器 可以使用电池供电。
网络管理。
【技能目标】
1. 能熟练安装与使用Z- Stack、Z- Sensor Mintor、Packet Sniffer等软件 2. 在Z- Stack协议栈中,能熟练添加新事件、新任务; 3. 能熟练实现ZigBee无线网络的点对点通信、串口通信、串口透传、绑定等 4. 能获取网络拓扑结构、ZigBee无线网络的传感器数据采集与远程监控 5. 能采用周期事件循环采集、发送数据 6. 熟练Z- Stack协议栈的各层文件,尤其是应用与驱动层的文件
1.Z-Stack协议栈结构
Z-Stack协议栈由物理层(PHY)、介质访问控制层(MAC)、网络层( NWK)和应用层 (APS)组成,如图所示。其中应用层包括应用程序支持子层、应用程序框架和ZigBee 设备对象(ZDO)。在协议栈中,上层实现的功能对下层来说是未知的,上层可以调用 下层提供的函数来实现某些功能。Z-Stack协议栈由TI公司开发,具体实现了这5个层 次。
/********************************************************************************* *************/
2. Z-Stack协议栈的设备组成
在ZigBee网络中存在三种设备类型:协调器(Coordinator)、路由器 (Router)和终端设备(End-Device)。ZigBee网络中只能有一个协调器,可 以有多个路由器和多个终端设备。如图4-3所示,黑色节点(Coordinator)为 协调器,深色节点(Router)为路由器,浅色节点(End Device)为终端设备。
2. 信道
ZigBee采用的是免执照的工业科学医疗(ISM)频段,所以ZigBee使用了3个频段, 分别为:868MHz(欧洲)、915MHz(美国)、2.4GHz(全球)。
3. PANID
PANID其全称是Personal Area Network ID,一个网络只有一个PANID,主要用于 区分不同的网络,从而允许同一地区可以同时存在多个不同PANID的ZigBee网络。
第2步,编写协调器程序。 1.移除SampleApp工程中文件
将SampleApp工程中的SampleApp.h移除,移除方法为:选择SampleApp.h单击右 键,在弹出的下拉菜单中选择Remove,如图4-7所示。
按照左图的方法移除 SampleApp.c、 SampleAppHw.c、 SampleApphw.h。
(4)应用层( APL)
1)应用程序支持子层主要提供一些API函数供用户调用。此外,绑定表也是存储在应用 程序支持子层。
2)应用程序框架最多包括240个应用程序对象,每个应用程序对象运行在不同的端口上。 因此,端口的作用是区分不同的应用程序对象。
3)ZigBee设备对象(ZDO)是运行在端口0的应用程序,用于实现对整个ZigBee设备的 配置和管理,用户应用程序可以通过端口0与ZigBee协议栈的应用程序支持子层、网络层进 行通信,从而实现对这些层的初始化工作
【任务分解】
任务4.1:基于Z-Stack的点对点通信 任务4.2:基于Z-Stack的串口通信 任务4.3:基于绑定的无线灯光系统 任务4.4:基于Z-Stack的串口透传 任务4.5:ZigBee无线传感网络拓扑结构获取 任务4.6:ZigBee无线传感器网络监控系统设计
选择SampleApp工程中的App单击右键,在弹出的下拉菜单中选择 Add,然后选择Add Files,选择刚才新建的三个文件(Coordinator.h、 Coordinator.c、Enddevice.c)即可。
图4-3 ZigBee网络示意图
(1)协调器的作用 1) 协调器是每个独立的Zigbee网络中的核心设备,负责选择一个信道和一个网
络ID(也称PAN ID),启动整个ZigBee网络。 2) 协调器可以用来协助建立网络中安全层和应用层的绑定。 3) 协调器的主要角色是负责建立和配置网络。由于Zigbee网络本身的分布特性,
4.1.2 Z-Stack协议栈的安装与说明
ZigBee协议栈有限多版本,不同厂商提供的ZigBee协议栈有一定的区别,本书选用TI公司推出的ZStackCC2530-2.5.1a版本,用户可登录TI公司的官方网站下载,然后安装使用。另外,Z-Stack需要在IAR Assembler for 8051 8.10.1版本上运行。
TI公司推出CC253x射频芯片的同时,还向用户提供了ZigBee的ZStack协议栈,这是经过ZigBee联盟认可,并被全球很多企业广泛 采用的一种商业级协议栈。Z-Stack协议栈中包括一个小型操作系 统(抽象层OSAL),其负责系统的调度,操作系统的大部分代码 被封装在库代码中,用户查看不到的。对于用户来说,只能使用 API来调用相关库函数。IAR公司开发的IAR Embedded Workbench for 8051软件可以作为Z-Stack协议栈的开发环境。
(1)物理层(PHY)
物理层负责将数据通过天线发送出去,以及从天线上接收数据。
(2)介质访问控制层( MAC)
介质访问控制层提供点对点通信的数据确认,以及一些用于网络发现和网络形成的命令, 但是介质访问控制层不支持多跳、网形网络等拓扑结构。
(3)网络层(NWK )
网络层主要是对网形网络提供支持,如在全网范围内发送广播包,为单播数据包选择路由, 确保数据包能够可靠地从一个节点发送到另一个节点。 此外,网络层还具有安全特性——用 户可以自行选择所需要的安全策略。
相关文档
最新文档