2020年Zigbee协议栈中文说明免费
zigbee协议规范

zigbee协议规范ZigBee是一种低功耗、低成本、无线网络通信协议,旨在为物联网设备提供高效的通信方式。
它基于IEEE 802.15.4标准,并使用了一套自己的通信协议规范。
本文将介绍ZigBee协议规范的主要内容及其在物联网领域的应用。
一、ZigBee协议框架ZigBee协议规范采用分层架构,包括应用层、网络层、MAC层和物理层。
应用层负责定义设备之间的应用通信协议,网络层处理设备之间的路由和组网,MAC层管理设备之间的访问和数据传输,物理层负责无线信号的调制和解调。
二、ZigBee网络拓扑结构ZigBee支持多种网络拓扑结构,包括星型、网状、集群树型等。
星型拓扑结构是最简单的,以一个协调器为中心,与多个终端设备直接通信。
网状拓扑结构允许多个设备之间进行直接通信,具有自组织和自修复的能力。
集群树型拓扑结构是一种分层的网络结构,能够实现更高效的数据传输和路由选择。
三、ZigBee通信协议ZigBee协议规范定义了一组通信协议,包括应用层协议、网络层协议、MAC层协议和物理层协议。
其中,应用层协议提供了设备之间的应用通信接口,可根据不同的应用需求进行自定义;网络层协议负责路由选择和组网管理,实现了多跳传输和自动路由;MAC层协议管理设备之间的通信时间和频率,以实现低功耗和高效通信;物理层协议定义了无线信号的调制和解调方式,包括频率、带宽和调制类型等。
四、ZigBee应用领域ZigBee协议规范广泛应用于物联网领域,包括家庭自动化、智能城市、工业控制和农业监测等。
在家庭自动化中,ZigBee可以连接家庭中的各种设备,如灯光、门窗、温度传感器等,实现智能化的控制和管理。
在智能城市中,ZigBee可以应用于智能交通、环境监测和智能能源管理等领域,提高城市的管理效率和生活质量。
在工业控制中,ZigBee可以实现设备之间的无线通信和监测,提高生产效率和安全性。
在农业监测中,ZigBee可以应用于土壤湿度、气象信息等数据的采集和传输,为农业生产提供便利。
ZIGBEE技术规范与协议栈分析

ZIGBEE技术规范与协议栈分析篇一:ZigBee知识无线龙1.协议栈工作流程和无线收发控制 LED 实验内容:1. ZigBee 协议栈简介2. 如何使用 ZigBee 协议栈3. ZigBee 协议栈的安装、编译与下载4. 协议栈无线收发控制 LED5. 协议栈工作流程实现现象:协调器、终端上电,组网成功后 D1 灯闪烁 1. ZigBee 协议栈简介什么是 ZigBee 协议栈呢?它和 ZigBee 协议有什么关系呢?协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。
协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。
图 1 展示了 ZigBee 无线网络协议层的架构图。
ZigBee 的协议分为两部分,IEEE 802.15.4 定义了 PHY(物理层)和 MAC(介质访问层)技术规范;ZigBee联盟定义了NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。
ZigBee协议栈就是将各个层定义的协议都集合在一直,以函数的形式实现,并给用户提供 API(应用层),用户可以直接调用。
图 1 ZigBee 无线网络协议层 2. 如何使用 ZigBee 协议栈协议栈是协议的实现,可以理解为代码,函数库,供上层应用调用,协议较底下的层与应用是相互独立的。
商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。
你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处理;还有系统里的设备之间的通信顺序什么的,当你的应用需要数据通信时,调用组网函数给你组建你想要的网络;当你想从一个设备发数据到另一个设备时,调用无线数据发送函数;当然,接收端就调用接收函数;当你的设备没事干的时候,你就调用睡眠函数;要干活的时候就调用唤醒函数。
所以当你做具体应用时,不需要关心协议栈是怎么写的,里面的每条代码是什么意思。
ZigBee协议

ZigBee协议协议名称:ZigBee协议一、引言ZigBee协议是一种低功耗、低数据速率的无线通信协议,旨在为物联网设备提供可靠的通信解决方案。
本协议旨在定义ZigBee网络的架构、通信规范、安全性要求等,以确保各种设备之间的互操作性和数据传输的可靠性。
二、范围本协议适用于使用ZigBee技术的无线通信设备,包括但不限于传感器、控制器、智能家居设备等。
它定义了设备之间的通信方式、数据格式、网络拓扑结构以及安全机制等。
三、术语和定义在本协议中,以下术语和定义适用于所有相关方:1. ZigBee:一种基于IEEE 802.15.4标准的低功耗无线通信技术。
2. ZigBee设备:使用ZigBee协议进行通信的无线设备。
3. ZigBee协调器:ZigBee网络中的主节点,负责网络的组网和管理。
4. ZigBee路由器:ZigBee网络中的中继节点,负责数据转发和扩展网络覆盖范围。
5. ZigBee终端设备:ZigBee网络中的从节点,负责与其他设备进行通信。
6. PAN(Personal Area Network):个人局域网,由一个协调器和一组终端设备组成。
7. 网络拓扑结构:ZigBee网络中各个设备之间的连接方式和关系。
8. 网络层:ZigBee协议栈中的一层,负责设备之间的路由和寻址。
9. 应用层:ZigBee协议栈中的一层,负责设备之间的数据交互和功能定义。
10. 安全性:保护ZigBee网络免受未经授权的访问、攻击和数据泄露的能力。
四、ZigBee网络架构1. 网络拓扑结构ZigBee网络采用星型、树型或网状拓扑结构。
其中,星型拓扑结构由一个协调器和一组终端设备组成,所有终端设备都直接与协调器相连。
树型拓扑结构由一个协调器、一组路由器和一组终端设备组成,路由器负责数据转发。
网状拓扑结构由多个协调器、路由器和终端设备组成,形成一个自组织的网络。
2. ZigBee协调器ZigBee协调器是ZigBee网络的主节点,负责网络的组网和管理。
Zigbee网关通信协议书范本

无线传感器网络(Zigbee)网关的的通信协议网关是通过串口与PC 机相连的。
PC 机可以通过串口发送采集命令和收集采集数据,为了能有效管理这些数据,需要执行统一的数据通信格式。
下面介绍该系统中所使用的通用数据格式。
每一帧数据都采用相同的帧长度,且都带有帧头、数据和帧尾。
具体格式如下:如上所示,每一帧数据的长度都是32字节。
除帧头和帧尾,每一帧数据都由命令头、发送地址、有效数据和校验和组成。
命令头:所执行的命令。
地址:所访问模块的长(前8字节)/短地址(后2字节)。
数据:传送各个参数、变量与返回值及各种需要突发发送的数据。
校验和:从命令头到数据尾的加和校验,用于确定数据正确与否。
注:命令头、地址的长地址部分和数据都采用ASCII码。
这个系统的命令分为3种,分别为⚬读命令R(ead):包括读各个传感器或网络状态命令。
⚬测试命令T(est):测试LED、BEEP或电池寿命命令。
⚬扩展板命令E(xtend):控制和读扩展板命令。
下面介绍具体命令格式。
1.读命令1) RASRAS(ReadallSensor):读传感器。
RAS具体格式如下:需要加入地址和数据——地址:传感器模块地址;数据:GM***/WD***。
传感器种类包括光敏:GM;温度:WD;可调电位器:AD。
(1)读取成功返回格式如下:地址:加入传感器模块地址。
数据:传感器+ 测量值(ASSII码)。
其中光敏:GM+ * * * (3 字节ASII 码);温度:WD +***(3字节ASII码);可调电位器:AD+*** (3字节ASII 码)。
(2)读取失败返回格式如下:2) RNDRND:无线网络发现。
RND 具体格式如下:需要加入地址和数据———地址:无;数据:无,只需要命令头。
(1)读取成功返回格式如下:返回网络中节点的性质:RFD(终端节点)/ROU(路由器)+地址+第几个。
例如:如果返回第1个RFD 节点,则数据段为RFD01。
具体格式如下:(2)读取成功结束格式如下:2.测试命令1) TLDTLD:测试传感器LED 灯。
第六章 zigbee协议栈详解

ZigBee回顾
ZigBee协议栈建立在IEEE802.15.4的PHY层和MAC子层规范之 上。
它实现了网络层(networklayer,NWK)和应用层( applicationlayer,APL)。
在应用层内提供了应用支持子层(applicationsupportsub-layer, APS)和 ZigBee 设备对象(ZigBee Device Object,ZDO)。
学时:4
ZigBee协议栈详解
目标: 本章在向学员介绍物联网体系中传输层所使用 的相关技术,通过本课的学习,学员应该掌握 如下知识: IP协议栈的应用 WLAN无线网络应用
大纲
协议栈内部结构 IEEE802.15.4 标准和 ZigBee 协议 协议栈软件总体设计 网络层(NWK)设计 应用层 MAC 层设计 物理层(PHY)设计
ZigBee协议栈的实时性要求并不高,因此在设计任务调度程序时 ,OSAL只采用了轮询任务调度队列的方法来进行任务调度管理。
这个轮询就存在于osal_start_system( )函数中 重视优先级的调度方式
do { if (tasksEvents[idx]) // Task is highest priority that is ready. { break; }
目前 TinyOS 系统支持的平台只有 ATMEL 公司的 AVR 系列、TI 公司的 MSP430系列。由于TinyOS操作系统还没有对Chipcon公司提供CC2430开发平 台提供支持,因此,要在 CC2530 开发平台上使用 TinyOS 系统来开发 ZigBee 协议栈软件,就必须首先对 TinyOS 进行移植。
协议栈主要流程
见Zmain.c中的main函数
见过的最浅显易懂的ZigBee协议栈解析

见过的最浅显易懂的ZigBee协议栈解析ZigBee技术是物联网领域最常用的无线技术之一,如果我们要做基于ZigBee技术的物联网应用,最好对ZigBee协议栈有一个基本的了解。
这篇文章对ZigBee协议栈做一个简单明了的介绍。
概述本文准备介绍的ZigBee协议栈是ZigBee2007,也是目前业界最常用的标准版本,对于ZigBee协议栈的演进历程,可以参加《5分钟了解Zigbee的前世今生》。
ZigBee协议栈可以分为四层:物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)及应用层(APL)。
如图所示,粉色的部分是由IEEE标准中定义的,浅蓝色部分是由ZigBee联盟规定的,黄色部分是由设备厂商自行定义。
ZigBee协议栈图示在ZigBee协议栈的图示中,我们还可以发现有很多圆角矩形,都带有SAP的字样。
SAP的意思就是服务接入点(Service Access Point)的意思,是协议栈层与层之间的接口,协议栈都是分层结构的,接口就是层与层之间的沟通渠道。
协议栈相邻的上下层之间一般都有两个接口,也就是两个SAP。
名字中带字母D的SAP是数据接口,负责层间数据传输;名字中带字母M的SAP是管理接口,供上层或协议栈的管理平面对该层进行控制,比如进行一些参数配置,或读取状态等。
PHY & MAC & NWKZigBee2007协议栈的物理层及MAC层都是IEEE802.5.14-2003标准中定义的。
PHY层(物理层)规定了所使用的频段,以及所使用的编码、调制、扩频、调频等无线传输技术;有了物理层,就有了一个实现点到点之间的信号发射与接收的基础,没有物理层协议,设备间是根本没有办法通信的,有可能都不在一个频段上。
MAC层的主要作用规定了无线信道的访问控制机制,也就是规定各个设备按照什么规矩轮流使用信道;如果没有MAC层协议,节点一多,大家没有个规矩,就会发生信号冲突,谁都没法正常传输数据了。
Zigbee协议栈中文说明免费

Zigbee协议栈中文说明1.概述解析ZigBee堆栈架构ZigBee堆栈是在IEEE 标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。
图1-1给出了这些组件的概况。
堆栈层每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。
公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。
每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件。
图1-1 zigbe堆栈框架从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。
端点之间的通信是通过称之为簇的数据结构实现的。
这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。
图1-1-2就是设备及其接口的一个例子:图1-1-2每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。
一共有二个特殊的端点,即端点0和端点255。
端点0用于整个ZigBee设备的配置和管理。
应用程序可以通过端点0与ZigBee 堆栈的其它层通信,从而实现对这些层的初始化和配置。
附属在端点0的对象被称为ZigBee设备对象(ZD0)。
端点255用于向所有端点的广播。
端点241到254是保留端点。
所有端点都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
APS使用网络层(NWK)提供的服务。
NWK负责设备到设备的通信,并负责网络中设备初始化所包含的活动、消息路由和网络发现。
Zigbee 协议栈及应用实现

Zigbee 协议栈及应用实现1、ZigbeeZigbee 是一种新兴的短距离、低功率、低速率无线接入技术.工作在 2.4GHz 波段,传输速率为 10M~250kb/ s ,传输距离为10~75m. Zigbee 是基于 IEEE 802.15.4 的无线通信协议 ,它的协议结构由物理层(PHY)、介质访问层(MAC)、网络层(NWK)、应用层组成.Zigbee 主要应用在距离短、功耗低且传输速率不高的各种电子设备之间 ,典型的传输数据类型有周期性数据、间歇性数据和低反应数据.因而,它的应用目标主要是:工业控制(如自动控制设备、无线传感器网络) ,医护(如监视和传感) ,家庭智能控制(如照明、水电气计量及报警) ,消费类电子设备的遥控装置、PC外设的无线连接等领域.2、Zigbee 协议栈参考模型及实现(1)物理层的参考模型PHY层定义了物理无线信道和MAC子层之间的接口 ,提供物理层数据服务和物理层管理服务.物理层数据服务从无线物理信道上收发数据 ,物理层管理服务维护一个由物理层相关数据组成的数据库.物理层数据服务包括以下五方面的功能:①激活和休眠射频收发器;②信道能量检测(energy detect) ;③检测接收数据包的链路质量指示(link quality indication ,LQI) ;④空闲信道评估(clear channel assessment ,CCA) ;⑤收发数据.信道能量检测为网络层提供信道选择依据.它主要测量目标信道中接收信号的功率强度 ,由于这个检测本身不进行解码操作 ,所以检测结果是有效信号功率和噪声信号功率之和.链路质量指示为网络层或应用层提供接收数据帧时无线信号的强度和质量信息 ,与信道能量检测不同的是 ,它要对信号进行解码 ,生成的是一个信噪比指标.这个信噪比指标和物理层数据单元共同提交给上层处理.空闲信道评估判断信道是否空闲. IEEE 802.15. 4定义了三种空闲信道评估模式:第一种简单判断信道的信号能量 ,当信号能量低于某一门限值就认为信道空闲;第二种是通过判断无线信号的特征,这个特征主要包括两方面 ,即扩频信号特征和载波频率;第三种模式是前两种模式的综合 ,同时检测信号强度和信号特征 ,给出信道空闲判断.Zigbee 物理层帧结构,其中前导码4Byte ,主要用于前导同步;分组定界 1Byte ,标志分组的开始;物理层头1Byte ,表示数据单元的长度;物理层数据服务单元( PSDU)数据单元用于承载向上层即MAC 层传输数据.(2)MAC层参考模型及实现.MAC子层的参考模型如图 4 所示. MAC子层提供两种服务:MAC 层数据服务和MAC层管理服务(MAC sublayer manage2ment entity , MLME) .前者保证MAC协议数据单元在物理层数据服务中的正确收发 ,后者维护一个存储MAC子层协议状态相关信息的数据库.MAC子层主要功能包括下面六个方面:①协调器产生并发送信标帧 ,普通设备根据协调器的信标帧与协议器同步;②支持PAN 网络的关联(ass ociation)和取消关联(disass ociation)操作;③支持无线信道通信安全;④使用 CSMA - CA 机制访问信道;⑤支持时槽保障(guaranteed time slot , GTS)机制;⑥支持不同设备的MAC层间可靠传输.MAC子层定义了信标帧、数据帧、确认帧和命令帧.信标帧和数据帧包含了高层控制命令或者数据 ,确信帧和命令帧用于 Zigbee 设备MAC子层功能实体间控制信息的收发.MAC子层的帧结构由帧头、MAC 层服务数据单元和帧尾三部分组成. 帧头由帧控制信息2Byte、帧序列号1Byte 和地址信息组成420Byte (命令帧无地址信息) .MAC 子层数据服务单元(MSDU)具有可变长度 nByte ,具体内容由帧类型决定(命令帧无MSDU) .帧尾是帧头和负载数据的 16 位 CRC 校验序列(FCS) 2Byte.(3)网络层参考模型及实现.Zigbee 协议栈的核心部分在网络层.网络层负责拓扑结构的建立和维护、命名和绑定服务 ,它们协同完成寻址、路由、传送数据及安全这些不可或缺的任务 ,支持星形(Star)、树形 (Cluster- Tree)、网格 (Mesh) 等多种拓扑结构.MAC子层的参考模型如图 6 所示.为了满足应用层的要求 ,Zigbee 协议的网络层划分为网络层数据实体(NLDE)和网络层管理实体(NlME) ,NLDE提供相关的 SAP的数据传输服务 ,而 NLME则提供经由相关的 SAP的管理服务.网络层的主要功能包括以下八个方面:①通过添加恰当的协议头能够从应用层生成网络层的 PDU ,即NPDU.②确定网络的拓扑结构.③配置一个新的设备 ,可以是网络协调器也可以向存在的网络中加入设备.④建立并启动无线网络.⑤加入或离开网络.⑥Zigbee 的协调器和路由能为加入网络的设备分配地址.⑦发现并记录邻居表、路由表.⑧信息的接收控制 ,同步 MAC 子层或直接接受信息.网络层定义了数据帧和命令帧 ,它的帧结构由网络层头信息和数据负载构成.网络层帧头信息格式是固定的 ,帧控制2Byte ,目的地址 2Byte ,源地址 2Byte ,网络传输的半径1Byte ,但是地址域和序列号域并非在所有的帧结构中都出现.网络层数据域 nByte.其中目的地址、源地址、半径和序列和称为路由域.网络层数据帧和命令帧的区别在于命令的数据域有1Byte 的NWK命令标识符.(4)ZigBee APIZigBee协议栈支持应用程序接口API函数很多,主要有:ZigBee 设备对象ZDO API、应用支持子层APS API、端点数据发送接收AF API和网络层NWK API。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.概述1.1解析ZigBee堆栈架构ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。
图1-1给出了这些组件的概况。
1.1.1ZigBee堆栈层每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。
公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。
每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件。
图1-1 zigbe堆栈框架从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。
端点之间的通信是通过称之为簇的数据结构实现的。
这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。
图1-1-2就是设备及其接口的一个例子:图1-1-2每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。
一共有二个特殊的端点,即端点0和端点255。
端点0用于整个ZigBee设备的配置和管理。
应用程序可以通过端点0与ZigBee 堆栈的其它层通信,从而实现对这些层的初始化和配置。
附属在端点0的对象被称为ZigBee设备对象 (ZD0)。
端点255用于向所有端点的广播。
端点241到254是保留端点。
所有端点都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
APS使用网络层(NWK)提供的服务。
NWK负责设备到设备的通信,并负责网络中设备初始化所包含的活动、消息路由和网络发现。
应用层可以通过ZigBee设备对象(ZD0)对网络层参数进行配置和访问。
1.1.2 802.15.4 MAC层IEEE 802.15.4标准为低速率无线个人域网(LR-WPAN)定义了OSI模型开始的两层。
PHY层定义了无线射频应该具备的特征,它支持二种不同的射频信号,分别位于2450MHz波段和868/915MHz 波段。
2450MHz波段射频可以提供250kbps的数据速率和16个不同的信道。
868 /915MHz波段中,868MHz支持1个数据速率为20kbps的信道,915MHz支持10个数据速率为40kbps的信道。
MAC层负责相邻设备间的单跳数据通信。
它负责建立与网络的同步,支持关联和去关联以及MAC 层安全:它能提供二个设备之间的可靠链接。
1.1.3 关于服务接入点ZigBee堆栈的不同层与802.15.4 MAC通过服务接入点(SAP)进行通信。
SAP是某一特定层提供的服务与上层之间的接口。
ZigBee堆栈的大多数层有两个接口:数据实体接口和管理实体接口。
数据实体接口的目标是向上层提供所需的常规数据服务。
管理实体接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。
1.1.4 ZigBee的安全性安全机制由安全服务提供层提供。
然而值得注意的是,系统的整体安全性是在模板级定义的,这意味着模板应该定义某一特定网络中应该实现何种类型的安全。
每一层(MAC、网络或应用层)都能被保护,为了降低存储要求,它们可以分享安全钥匙。
SSP是通过ZD0进行初始化和配置的,要求实现高级加密标准(AES)。
ZigBee规范定义了信任中心的用途。
信任中心是在网络中分配安全钥匙的一种令人信任的设备。
1.1.5 ZigBee堆栈容量和ZigBee设备根据ZigBee堆栈规定的所有功能和支持,我们很容易推测ZigBee堆栈实现需要用到设备中的大量存储器资源。
不过ZigBee规范定义了三种类型的设备,每种都有自己的功能要求:ZigBee 协调器是启动和配置网络的一种设备。
协调器可以保持间接寻址用的绑定表格,支持关联,同时还能设计信任中心和执行其它活动。
一个ZigBee网络只允许有一个ZigBee协调器。
ZigBee路由器是一种支持关联的设备,能够将消息转发到其它设备。
ZigBee网格或树型网络可以有多个ZigBee路由器。
ZigBee星型网络不支持ZigBee路由器。
ZigBee端终设备可以执行它的相关功能,并使用ZigBee网络到达其它需要与其通信的设备。
它的存储器容量要求最少。
然而需要特别注意的是,网络的特定架构会戏剧性地影响设备所需的资源。
NWK支持的网络拓扑有星型、树型和网格型。
在这几种网络拓扑中,星型网络对资源的要求最低。
ZigBee堆栈应该可以提供ZigBee规范要求的所有功能,因此制造商的重点工作是开发实际的应用。
为了更加容易实现,如果制造商使用某种公共模板,那么可用大多数现成的配置。
如果没有合适的公共模板,则可以充分利用其它模板已经做过的工作创建自己的模板。
ZigBee协议栈体系包含一系列的层元件,其中有IEEE802.15.4 2003标准中的MAC层和PHY层,当然也包括ZigBee组织设计的NWK层。
每个层的元件有其特定的服务功能。
本说明描述内容涉及ZigBee协议栈的各层元件,但侧重于描述最具实际和理论探讨性的APL应用层和NWK网络层。
图1-1为ZigBee栈结构框图。
2.APL应用层介绍2.1.1应用层简介如图2-1所示,ZigBee应用层由三个部分组成,APS子层、ZDO(包含ZDO管理平台)和制造商定义的应用对象。
图2-1 zigbee协议堆栈分层结构2.1.2应用层框架ZigBee中的应用框架是为驻扎在ZigBee设备中的应用对象提供活动的环境。
最多可以定义240个相对独立的应用程序对象,且任何一个对象的端点编号都是从1到240。
此外还有两个附加的终端节点,为了APSDE-SAP的使用:端点号0固定用于ZDO数据接口;另外一个端点255固定用于所有应用对象广播数据的数据接口功能。
端点241-254保留(留给未来扩展使用)。
2.1.2.1应用Profiles应用profiles是一组统一的消息,消息格式和处理方法,允许开发者建立一个可以共同使用的分布式应用程序,这些应用是利用驻扎在独立设备中的应用实体来实现的。
这些应用profiles允许应用程序发送命令、请求数据和处理命令的请求。
2.1.2.2簇簇标识符可用来区分不同的簇,簇标识符联系着从设备流出和向设备流入的数据。
在特殊的应用profiles范围内,簇标识符是唯一的。
2.1.3ZigBee设备对象ZigBee设备对象(ZDO),描述了一个基本的功能函数,这个功能在应用对象、设备profile和APS 之间提供了一个接口。
ZDO位于应用框架和应用支持子层之间。
它满足所有在ZigBee协议栈中应用操作的一般需要。
此外ZDO还有以下作用:(1)初始化应用支持子层(APS),网络层(NWK),安全服务规范(SSS)。
(2)从终端应用集合中配置的信息来确定和执行安全管理、发现、网络管理、以及绑定管理。
ZDO描述了应用框架层中应用对象的公用接口以及控制设备和应用对象的网络功能。
在终端节点0, ZDO提供了与协议栈中与低一层连接的接口,如果是数据则通过APSDE-SAP,如果是控制信息则通过APSME-SAP。
ZDO的具体描述在2.5节。
2.1.3.1设备发现设备发现是ZigBee设备为什么能发现其他设备的过程。
这有两种形式的设备发现请求:IEEE地址请求和网络地址请求。
IEEE地址请求是单播到一个特殊的设备且假定网络地址已经知道。
网络地址请求是广播且携带一个已知的IEEE地址作为负载。
2.1.3.2服务发现服务发现是为什么一个已知设备被其他设备发现的能力的过程。
服务发现通过在一个已知设备的每一个端点发送询问或通过使用一个匹配服务(广播或者单播)。
服务发现方便定义和使用各种描述来概述一个设备的能力。
服务发现信息在网络中也许被隐藏,在这种情况下,设备提供的特殊服务便可能不在操作发生的时候到达。
2.2 ZigBee应用支持子层APSAPS提供了这样的接口:在NWK层和APL层之间,从ZDO到供应商的应用对象的通用服务集。
这服务由两个实体实现:APS数据实体(APSDE)和APS管理实体(APSME)。
(1)APSDE提供在同一个网络中的两个或者更多的应用实体之间的数据通信。
通过APSDE服务接入点(APSDE-SAP);(2)APSME提供多种服务给应用对象,这些服务包含安全服务和绑定设备,并维护管理对象的数据库,也就是我们常说的AIB。
通过APSME服务接入点(APSME-SAP)。
2.2.1 范围这一小节描述了应用层部分提供的服务规范和生产商定义的应用对象与ZigBee设备对象之间的接口。
规范定义了允许应用对象传输数据的数据服务和提供绑定机制的管理服务。
另外,它还定义了应用支持子层的帧格式和帧类型。
如图2-2图2-2 zigbee帧格式2.2.2 目的这小节的目的是定义ZigBee应用支持子层的功能。
该功能建立在两个基础之上,一是正确运行ZigBee网络层的驱动功能,二是制造商定义的应用对象所需要的功能。
2.2.3 应用支持子层简介应用支持子层给网络层和应用层通过ZigBee设备对象和制造商定义的应用对象使用的一组服务提供了接口,该接口提供了ZigBee设备对象和制造商定义的应用对象使用的一组服务。
通过两个实体提供这些服务:数据服务和管理服务。
APS数据实体(APSDE)通过与之连接的SAP,即APSDE-SAP 提供数据传输服务。
APS管理实体(APSME)通过与之连接的SAP,即APSME-SAP提供管理服务,并且维护一个管理实体数据库,即APS信息库(NIB)。
2.2.3.1 应用支持子层的数据实体(APSDE)APSDE向网络层提供数据服务,并且为ZDO和应用对象提供服务,完成两个或多个设备之间传输应用层PDU。
这些设备本身必须在同一个网络。
APSDU将提供如下服务:生成应用层的协议数据单元(APDU):APSDE将应用层协议数据单元(PDU)加上适当的协议帧头生成应用子层的协议数据单元(PDU)。
绑定:两个设备服务和需求相匹配的能力。
一旦两个设备绑定了,APSDE将可以把从一个绑定设备接受到的信息传送给另一个设备。
组地址过滤:提供了基于终点组成员的过滤组地址信息的能力。
可靠传输:比从网络层仅仅通过端对端的传输增加了可靠性拒绝重复:提供传送的信息不会被重复接收支持大批量的传输:提供两个设备间顺序传输大批量的数据的能力。