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。
CC2530zigbee技术-简介协议栈
CC2530zigbee技术-简介协议栈前⾔说实话,我喜欢⾃⼰的原创,虽然我写得可能简单了,但我觉得⾃⼰在写博客的路途上,⼀点⼀点地积累知识,我也借鉴别⼈的东西,特别是在写这篇⽂章时所使⽤的是markdownpad2写的,原来我根本就不知道还有这个玩意,所以相信在园⾥的朋友们都会⽀持的,如果您知道了,或者懂了,就默默地⽆视⼩弟我写的博客,如果没有接触过呢,嘿嘿,我们⼀起研究进步!协议栈TI公司很⽜,这是给我的感觉,它能把那些复杂的东西全部写好,就提供⼀些API来给我们使⽤,让⽤户更加⽅便,这个是我对它崇拜的地⽅,好了,不说废话了,进⼊正题。
下⾯就是协议栈的框图了那么所谓的协议栈指的就是TI公司的Z-STACK,不得不说⼈们的智慧是⽆穷的,这样⼀个基于8051的芯⽚在上⾯写了⼀个操作系统其名为Z-stack采⽤的⽅法是任务轮回的⽅法,⽽且任务ID值越⼩,优先级越⾼!我们使⽤IAR打开TI公司提供的example 路径如下:C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples\SampleApp\CC2530DB可以看到⾮常清楚的⼯作⽬录。
协议栈函数解析⾸先我们找到Zmain⽬录下的zmain.c,找到int main();没错,这就是传说中的主函数int main( void ){osal_int_disable( INTS_ALL );//关闭所有的中断HAL_BOARD_INIT();//初始化时钟信号zmain_vdd_check();//检查芯⽚电压InitBoard( OB_COLD );//初始化IO LED TIMERHalDriverInit();//初始化芯⽚各硬件模块osal_nv_init( NULL );//初始化flashZMacInit();//初始化MAC层zmain_ext_addr();//确定16位地址zgInit();//初始化⾮易失变量#ifndef NONWKafInit();#endifosal_init_system();//初始化操作系统osal_int_enable( INTS_ALL );//使能全部中断InitBoard( OB_READY );//初始化按键zmain_dev_info();//显⽰设备信息#ifdef LCD_SUPPORTEDzmain_lcd_init();//在LCD上显⽰设备信息#endif#ifdef WDT_IN_PM1WatchDogEnable( WDTIMX );#endifosal_start_system(); // No Return from here 进⼊操作系统后不再返回return 0;}main()哈哈,我已经做了翻译⼯作,但是不⼀定是对的,因为毕竟是站在我的理解上写的!上述的代码基本上都是⼀些初始化的代码,⼀个硬件的启动必须要有各种各样的设定才⾏!下⾯分两个来讲,主要是讲两个函数:osal_init_system()和osal_start_system(),因为这两个函数可是重中之中啊!osal_init_system()函数分析在IAR中go to defintion就可以了,当然你也可以在OSAL.c这个⽂件中找到:uint8 osal_init_system( void ){// Initialize the Memory Allocation Systemosal_mem_init();//初始化内存分配系统// Initialize the message queueosal_qHead = NULL;//初始化消息队列// Initialize the timersosalTimerInit();//初始化定时器// Initialize the Power Management Systemosal_pwrmgr_init();//初始化店⾥管理系统// Initialize the system tasks.osalInitTasks();//初始化系统任务// Setup efficient search for the first free block of heap.osal_mem_kick();return ( SUCCESS );}osal_start_system()函数分析同样的道理,你也可以找到这个函数的定义void osal_start_system( void ){#if !defined ( ZBIT ) && !defined ( UBIT )for(;;) // Forever Loop永远循环#endif{uint8 idx = 0;osalTimeUpdate();//扫描哪个事件被触发了,然后置相应的标志位Hal_ProcessPoll(); // This replaces MT_SerialPoll() and osal_check_timer().do {if (tasksEvents[idx]) // Task is highest priority that is ready.{break; //得到待处理的优先级最⾼的是任务ID idx}} while (++idx < tasksCnt);if (idx < tasksCnt){uint16 events;halIntState_t intState;HAL_ENTER_CRITICAL_SECTION(intState);//进⼊临界区进⾏保护events = tasksEvents[idx];//提取需要处理的事件tasksEvents[idx] = 0; // Clear the Events for this task.清楚事件HAL_EXIT_CRITICAL_SECTION(intState);//退出临界区保护events = (tasksArr[idx])( idx, events );//通过指针调⽤处理函数HAL_ENTER_CRITICAL_SECTION(intState);//进⼊临界区tasksEvents[idx] |= events; // Add back unprocessed events to the current task.保存未处理的函数 HAL_EXIT_CRITICAL_SECTION(intState);//退出临界区}#if defined( POWER_SAVING )else // Complete pass through all task events with no activity?//所有任务是否全部完成{osal_pwrmgr_powerconserve(); // Put the processor/system into sleep//挂起系统使之进⼊睡眠状态 }#endif}}相信看了上⾯的注释,对于zigbee的z-stack有了⼀定的了解了吧!总结我们可以得出以下的⼤致流程:。
Zigbee协议栈RexBee详解
目录一RexBee基本使用说明 (1)二组网节点查看及通过无线配置其他节点参数 (10)三网络拓扑图及节点路径查看 (13)四巧用NETWORK软件进行组命令帧 (14)一RexBee基本使用说明拿到模块,如果配合我们的开发板,那使用非常方便,如果没有开发板,那也非常简单,只需连RX,TX,VCC,GND这4根线到你们的MCU,就能跟你们进行串口通信,,外观如下图:1如果是有我们开发板,那么将模块插到我们开发板,接上电源,然后开发板上的LED灯会闪烁,说明模块正常运行,接上串口连接到电脑,然后选择相应COM口即可。
有开发板的话,可以略过2,3,4步骤,直接看第5步。
如果没有我们开发板,那么接着往下看。
2首先要找到每个模块的RX,TX,VCC,GND引脚。
1)增强型插针和标准型插针模块(REX3D&REX3DP)的引脚是兼容的,引脚位置如图:1,2引脚为VCC;27,28引脚为GND;13引脚为RX;16引脚为RX;2)增强型贴片和标准型贴片模块(REX3S&REX3SP)的引脚也是兼容的,引脚位置如图:1,2引脚为VCC;30,31,32引脚为GND;18引脚为RX;19引脚为RX;3)超小型模块(REX3U)引脚图:3找到了这4根引脚后,那么只需将他们跟你们的MCU相连即可。
我们的TX接你们的RX,我们的RX接你们的TX,注意,我们的芯片电压是3.3V,如果你们MCU 是5V的话,需要做转换哦,详见各模块Datasheet。
4按上图连接后,然后配置下串口波特率,你们的MCU就能跟我们的模块进行通信了。
5我们的COO的波特率是115200,8,N,1,ROUTER跟ZED的波特率是9600,8,N,1.配置好波特率后,终于可以与我们模块进行通信了。
首先,打开串口调试助手,选择相应COM口。
首先发送AT+VER查看本身是什么节点类型,在发送AT+GETINFO查看工作在什么信道和PANID下(ZIGBEE设备只有在相同的PANID和信道下才能进行通信)发现PANID跟CH相同,那么就可以进行通信了,比如COO要发送01 02 03 04 05 06 到ROUTER,ROUTER收到数据后给COO回复06 05 04 03 02 01,那么直接在COO端发送01 02 03 04 05 06,然后在ROUTER端发送06 05 04 03 02 01即可。
zigbee技术文档0-ZigBee协议栈基础概念简介
一、 ZigBee 之基本概念物联网的定义是:通过射频识别(通过射频识别(RFID RFID RFID)、红外感应器、全球定位系统、激光扫描)、红外感应器、全球定位系统、激光扫描器等信息传感设备,器等信息传感设备,按约定的协议,按约定的协议,按约定的协议,把任何物体与互联网相连接,把任何物体与互联网相连接,把任何物体与互联网相连接,进行信息交换和通信,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。
无线传感网络的定义是:大规模,无线、自组织、多跳、无分区、无基础设施支持的网络.其中的节点是同构的、成本较低、体积较小,大部分节点不移动,被随意撒布在工作区域,要求网络系统有尽可能长的工作时间。
在通信方式上,虽然可以采用有线、无线、红外和光等多种形式,但一般认为短距离的无线低功率通信技术最适合传感器网络使用,为明确起见,一般称无线传感器网络(WSN (WSN..Wireless Sensor Network)。
无线传感网络的无线通信技术可以采用ZigBee 技术、蓝牙、技术、蓝牙、Wi-Fi Wi-Fi 和红外等技术。
和红外等技术。
ZigBee ZigBee 技术是一种短距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术或无线网络技术,是一组基于IEEE802.15.4无线标准研制开发的组网、安全和应用软件方面的通信技术。
的通信技术。
Zigbee 是IEEE 802.15.4协议的代名词。
根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。
低功耗的无线通信技术。
这一名称来源于蜜蜂的八字舞,这一名称来源于蜜蜂的八字舞,这一名称来源于蜜蜂的八字舞,由于蜜蜂由于蜜蜂由于蜜蜂(bee)(bee)(bee)是靠飞翔和是靠飞翔和是靠飞翔和“嗡“嗡嗡”嗡”(zig)(zig)(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。
2020年ZigBee(紫蜂)技术
ZigBee是一个由可多到65000个无线数传模块 组成的一个无线网络平台,在整个网络范围内, 每一个网络模块之间可以相互通信,每个网络 节点间的距离可以从标准的75m无限扩展。
与移动通信的CDMA网或GSM网不同的是, 紫蜂网络主要是为工业现场自动化控制数据传 输而建立,因而,它必须具有简单,使用方便, 工作可靠,价格低的特点。
APS 安全 管理模块
SPA 服务接入点
应用
…
对象 1
…
端点 1 服务接入点
APS 应用支持子层
APS 信息 分析模块
网络层
公
ZDO
共
接
口
端点 0 服务接入点
SAP
服
网络
务
管理模块
接
入
点
ZDO 管理 平面
SAP
网络安全 管理模块
网络信息 分析模块
SAP 服务接入点
服
路由 管理模块
网络 管理模块
务 接 入
终端设备(ZigBee End Device,ZE)可以是FFD也 可以是RFD,只能发送接收数据。
网络拓扑
ZigBee支持3种拓扑结构,包括星形、网状形 和簇树形结构。
在星形拓扑结构中,整个网络由一个网络协调 器来控制。在网状形和簇树形拓扑结构中, ZigBee协调器负责启动网络以及选择关键的网 络参数。
也可以是RFD。 显然,树形结构是由星形网络扩展而来。树形网络中只有父
子节点之间可以进行数据传输,数据沿树形结构向上或向下 传输,从一个节点传输到相邻的节点称为“一跳”。如图所 示:
网状拓扑结构
在网形拓扑结构的网络中有一个网络协调器, 通信范围内的全功能节点之间可以相互通信, 每个全功能节点都具有路由功能。
zigbee协议规范
zigbee协议概述1。
1。
1ZigBee堆栈层ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。
图1—1给出了这些组件的概况。
图1-1 zigbe堆栈框架每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。
公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。
每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。
端点之间的通信是通过称之为簇的数据结构实现的.这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义.图1-1—2就是设备及其接口的一个例子:每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据.一共有二个特殊的端点,即端点0和端点255.端点0用于整个ZigBee设备的配置和管理。
应用程序可以通过端点0与ZigBee堆栈的其它层通信,从而实现对这些层的初始化和配置。
附属在端点0的对象被称为ZigBee设备对象(ZD0)。
端点255用于向所有端点的广播.端点241到254是保留端点。
所有端点都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
APS使用网络层(NWK)提供的服务。
zigbee协议栈
第六章 通信标准
Zigee协议
ZigBee协议中定义了三种设备:ZigBee协调器、ZigBee路由器 和ZigBee终端设备:
ZigBee协调器,它负责建立并启动一个网络,包括选择合适的射 频信道、唯一的网络标识符等一系列操作。 ZigBee路由器作为远程设备之间的中继器来进行通信,能够拓展 网络的范围,负责搜寻网络,并在任意两个设备之间建立端到端的 传输。 ZigBee终端设备作为网络中的终端节点,负责数据的采集。
第六章 通信标准
IEEE 802.15.4标准——物理层
3)物理层功能的实现
所有的物理层服务均是通过物理层服务访问接口实现的,数据服务是 通过物理层数据访问接口(PD-SAP)实现的,管理服务则是通过物 理层管理实体访问接口(PLME-SAP)实现的,每个接口都提供了相 关的访问原语。 (1)信号的发送接收与编解码 (2)物理信道的能量监测(Energy Detection,ED) (3)射频收发器的激活和关闭 (4)空闲信道评估(Clear Channel Assessment,CCA) (5)链路质量指示(LQI) (6)物理层属性参数的获取与设置
在 初 始 化 后 , 对 于 基 于 时 槽 的 CSMA/CA算法,先定位到回退时间的 边界,然后等待指定的时间,开始信 道探测,直到信道为空闲,然后在等 CW个回退周期长度,最后发送数据。 发送程序必须确保当前的数据可以在 CAP期间完成,才会进行发送,否则 将保存到下一个超帧中发送。
第六章 e协议
ZigBee技术是一种面向自动化和无线控制的价格低廉、能耗小的无线 网络协议,IEEE 802.15.4技术的出现推动了它在工业、农业、军事、 医疗等专业领域的应用。ZigBee技术建立在IEEE 802.15.4协议之上, 根据ZigBee联盟的规范,ZigBee在IEEE 802.15.4的基础上扩展了网络 层和应用层,其协议栈如图
ZigBee协议栈NV操作
NV操作实验
static void rxCB(unit8 port,uint8 event); { Uint8 value_read;//定义一个变量从用于从NV存储器读 取数据。 uint8 value=18;//要写入的NV条目数据 uint8 uartbuf[2];//定义一个缓冲区用于存放读取数据 uint8 cmd[6];//定义一个命令缓冲区,存放读取的命令 HalUARTRead(0,cmd,6)读取的命令放在cmd数组中
#include "hal_key.h" #include "sensor.h" #ifdef EXSENSOR #include "exsensor.h" #endif #include "hal_adc.h" #include "MT_UART.h #include”OSAL_Nv.h”//添 加代码
uint8 value=20; //添加写入NV条目变量 …………………………………………. case SPI_INCOMING_ZTOOL_PORT: HalUARTRead( MT_UART_DEFAULT_PORT,R_Buffer.data, 16 ); if( osal_nv_item_init(TEST_NV,1,NULL) == ZSUCCESS ) {
NV操作函数
Uint8 osal_nv_write(uint16 id,uint16 ndx,uint16,len,void*buf) 这个是NV写入函数。该函数4个参数含义如下: Uint16 id:NV条目ID号; Uint16 ndx:距离条目开始地址的偏移量; Uint16len:要写入的数据长度; Void*buf:指向存放写入数据缓冲代码:
ZigBee协议栈(免费下载)
2005 Microchip Technology Inc.DS00965A_CN 第1页AN965引言ZigBee™是专为低速率传感器和控制网络设计的无线网络协议。
有许多应用可从ZigBee 协议受益,其中可能的一些应用有:建筑自动化网络、住宅安防系统、工业控制网络、远程抄表以及PC 外设。
与其他无线协议相比,ZigBee 无线协议提供了低复杂性、缩减的资源要求,最重要的是它提供了一组标准的规范。
它还提供了三个工作频带,以及一些网络配置和可选的安全功能。
如果您正在寻求现有的控制网络技术(例如RS-422、RS-485)或专有无线协议的替代方案,ZigBee 协议可能是您所需的解决方案。
此应用笔记旨在帮助您在应用中采用ZigBee 协议。
可以使用在应用笔记中提供的Microchip ZigBee 协议栈快速地构建应用。
为了说明该协议栈的用法,本文包含了两个有效的演示应用程序。
可将这两个演示程序作为参考或者根据您的需求经过简单修改来采用它们。
此应用笔记中提供的协议栈函数库实现了一个与物理层无关的应用程序接口。
因此,无需做重大修改就可以轻松地在射频(Radio Frequency ,RF )收发器之间移植应用程序。
在此文档末尾的“常见问题解答”中提供了有关Microchip 协议栈和用法的一些常见问题及其答案。
假设此文档假设您熟悉C 编程语言。
文档中大量使用了有关ZigBee 和IEEE 802.15.4规范的术语。
此文档没有详细讨论ZigBee 规范,只提供了对ZigBee 规范的简要概述。
建议您仔细阅读ZigBee 和IEEE 802.15.4规范。
特性Microchip ZigBee 协议栈设计为随着ZigBee 无线协议规范的发展而发展。
在发布此文档时,该协议栈的 1.0版本具有以下特点(欲知最新特性,请参阅源代码版本日志文件version.log ):• 基于ZigBee 规范的0.8版本• 使用Chipcon CC2420 RF 收发器支持2.4GHz 频带• 支持简化功能设备(Reduced Function Device ,RFD )和协调器• 在协调器节点中实现对邻接表和绑定表的非易失性存储• 支持非时隙的星型网络• 可以在大多数PIC18系列单片机之间进行移植• 协同多任务处理架构• 不依赖于RTOS 和应用• 支持Microchip MPLAB ® C18和Hi-Tech PICC-18™ C 编译器• 易于添加或删除特定模块的模块化设计限制Microchip 协议栈的1.0版本包含以下限制。
Zigbee协议栈原理基础
Zigbee协议栈原理基础1Zigbee协议栈相关概念1.1近距离通信技术比较:近距离无线通信技术有wifi、蓝牙、红外、zigbee,在无线传感网络中需求的网络通信恰是近距离需求的,故,四者均可用做无线传感网络的通信技术。
而,其中(1)红外(infrared):能够包含的信息过少;频率低波衍射性不好只能视距通信;要求位置固定;点对点传输无法组网。
(2)蓝牙(bluetooth):可移动,手机支持;通信距离10m;芯片价格贵;高功耗(3)wifi:高带宽;覆盖半径100m;高功耗;不能自组网;(4)zigbee:价格便宜;低功耗;自组网规模大。
▫▫▫▫⇨WSN中zigbee通信技术是最佳方案,但它连接公网需要有专门的网关转换→进一步学习stm32。
1.2协议栈协议栈是网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。
1.2.1Zigbee协议规范与zigbee协议栈Zigbee各层协议中物理层(phy)、介质控制层(mac)规范由IEEE802.15.4规定,网络层(NWK)、应用层(apl)规范由zigbee联盟推出。
Zigbee联盟推出的整套zigbee规范:2005年第一版ZigBeeSpecificationV1.0,zigbee2006,zigbee2007、zigbeeprozigbee协议栈:很多公司都有自主研发的协议栈,如TI公司的:RemoTI,Z-Stack,SimpliciTI、freakz、msstatePAN 等。
1.2.2z-stack协议栈与zigbee协议栈z-stack协议栈与zigbee协议栈的关系:z-stack是zigbee协议栈的一种具体实现,或者说是TI公司读懂了zigbee协议栈,自己用C语言编写了一个软件—---z-stack,是由全球几千名工程师共同开发的。
ZStack-CC2530-2.3.1-1.4.0软件可与TI的SmartRF05平台协同工作,该平台包括MSP430超低功耗微控制器(MCU)、CC2520RF收发器以及CC2591距离扩展器,通信连接距离可达数公里。
zigbee知识无线龙
1.协议栈工作流程和无线收发控制 LED实验内容:1. ZigBee 协议栈简介2. 如何使用 ZigBee 协议栈3. ZigBee 协议栈的安装、编译与下载4. 协议栈无线收发控制 LED5. 协议栈工作流程实现现象:协调器、终端上电,组网成功后 D1 灯闪烁1. ZigBee 协议栈简介什么是 ZigBee 协议栈呢它和 ZigBee 协议有什么关系呢协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。
协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。
图 1 展示了 ZigBee 无线网络协议层的架构图。
ZigBee 的协议分为两部分,IEEE 定义了 PHY(物理层)和 MAC(介质访问层)技术规范;ZigBee联盟定义了 NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。
ZigBee协议栈就是将各个层定义的协议都集合在一直,以函数的形式实现,并给用户提供 API(应用层),用户可以直接调用。
图 1 ZigBee 无线网络协议层2. 如何使用 ZigBee 协议栈协议栈是协议的实现,可以理解为代码,函数库,供上层应用调用,协议较底下的层与应用是相互独立的。
商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。
你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处理;还有系统里的设备之间的通信顺序什么的,当你的应用需要数据通信时,调用组网函数给你组建你想要的网络;当你想从一个设备发数据到另一个设备时,调用无线数据发送函数;当然,接收端就调用接收函数;当你的设备没事干的时候,你就调用睡眠函数;要干活的时候就调用唤醒函数。
所以当你做具体应用时,不需要关心协议栈是怎么写的,里面的每条代码是什么意思。
除非你要做协议研究。
每个厂商的协议栈有区别,也就是函数名称和参数可能有区别,这个要看具体的例子、说明文档。
- 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将可以把从一个绑定设备接受到的信息传送给另一个设备。
组地址过滤:提供了基于终点组成员的过滤组地址信息的能力。
可靠传输:比从网络层仅仅通过端对端的传输增加了可靠性拒绝重复:提供传送的信息不会被重复接收支持大批量的传输:提供两个设备间顺序传输大批量的数据的能力。