zigbee协议十篇

时间:2023-04-05 03:03:39

zigbee协议

zigbee协议篇1

关键词:Zigbee;簇树协议;路由

1 引言

Zigbee是一种短距离、低速率的无线传感器网络的技术标准,其PHY层和MAC层协议为IEEE802.15.4协议标准,主要特性是低速率、近距离、低功耗、低复杂度和低成本。

目前,Zigbee技术已经应用于智能家居、工业控制、手机移动终端等领域,但主要还是限于Zigbee技术的无线个域网(WPN)应用,每个接入点所能接纳的传感器节点数远远低于协议所称的255个。为了达到传感器网络密集覆盖的目的,必须进行复杂的组网,这不仅增加了传感器网络的复杂性,还增加了网络整体的功耗,传感器节点的寿命大大降低。本文描述了簇树形拓扑结构的Zigbee传感器网络构建过程,并给出在簇树拓扑结构中的簇树协议的详细分析。

2 Zigbee的簇树结构

IEEE802.15.4无线个域网定义了三种拓扑结构:星形、网状和簇树拓扑。在Zigbee的个域网里,必须有一个PAN协调器(PNC)。每个独立的PAN有一个唯一的标识,即PAN id(PID)。临近区域内的节点构成了一个簇,每个簇有且仅有一个簇头(CLH),CLH是簇内协调器,负责管理该簇和簇标识(CID),CID是簇内所有设备共享的ID号。相邻的簇头又循环构成了另一个簇,这样依次反复,构成了一个簇树形结构的传感网络,簇树拓扑提高了Zigbee网络的覆盖区域。BRD是直接连接邻居簇的簇头的节点。Zigbee的簇树结构如图1所示

3 簇树(cluster tree)协议分析

簇的形成开始于簇头的选择。有了簇头后,簇头扩展连接到其他的成员节点上就形成了簇,多个簇构成了簇树网络。

3.1 Intra Cluster Network

(1)簇头的形成

一个节点打开后,它监听并搜索来自其他节点的HELLO信息。如果在一定时间内没有获取HELLO信息,它就变成簇头并向其他节点发送HELLO信息。新的簇头在接下来的时间里等待邻居的请求,如果它没收到任何连接请求,则又变成普通节点继续监听。

簇头也可用其他的方法形成。总之,簇头的选择依赖于节点的存储/计算参数,如传输范围、功率容量、计算能力或位置信息。

(2) 簇树路由

单播情况下,当一个节点向其他的节点发送数据包时,它在源NID域设置自己的节点ID,在目标NID域设置目标节点ID。如果一个节点没有向它的邻居发送信息,目标节点位于树中源分支的下方,源节点在接收NID域时设置其孩子节点ID,并让其孩子节点继续转发到目标。

如果源节点没有向其邻居发送信息,目标节点没有位于源分支的下方,源节点必须在接收NID域里设置其父节点ID,并向父节点发送数据包。当更新接收和发射NID域时,每个中间节点应该向目标节点转发数据包。

除了最后一跳,数据包沿着簇树拓扑结构路由,如果目标节点位于树形结构的发送节点下方,数据包沿着分支达到目标节点。否则,数据包沿着树结构寻找目标。如果中间节点的邻居表里有目标节点,数据包被路由继续转发。

当一个节点接收了单播信息,接收的节点向发送节点发送ACK信号。广播情况下,在一个簇内广播信息总是由簇头向其所有成员节点发送。接收节点不用ACK响应广播信息。成员节点应该转发其双亲节点发送的信息,这样可以避免相同的信息多次转发。

3.2 Inter Cluster Network

各簇之间通信是通过路由实现的,BRD节点作为路由器,连接簇并转发簇间通信的数据包,如图2所示。

单播时,因为每个节点知道其父节点、孩子节点和BRD的ID,它们能够决定是否收发数据包。当BRD节点收到数据包时,它检测目标地址,然后转发到相邻簇的BRD节点,或者转发到本簇内的目标节点。

广播时,仅有DD能够向网络内的所有节点发送数据包。信息沿着簇的树路由转发。BRD节点从父节点向孩子节点广播数据包。

4 结束语

本文描述了基于Zigbee的树形拓扑结构,以及簇树结构下的簇树协议的实现过程,对Zigbee技术用于传感器网络密集覆盖方面有一定的借鉴意义。

参考文献

[1]ZigBee Alliance.ZigBee/IEEE 802.15.4 summary[EB/OL]., 2007-05-10.

[2]Motorola.IEEE P802.15 Working Group for Wireless Personal Area Networks,2001-04-12.

zigbee协议篇2

关键词: ZigBee; OTA; 数据压缩; CRC32

中图分类号: TN921?34 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 文献标识码: A ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 文章编号: 1004?373X(2014)23?0001?04

Abstract: TI′s Zstack was selected as a research base, which improved on the basis of OTA technology established by ZigBee Alliance. A multi?concurrent, reliable, efficient, low?power OTA solution was designed. also The data compression technology is used in this solution to compress the firmware code data, so as to improve the performance of the application. It was implemented on CC2530 sensing nodes, and was applied to ZigBee network with more than 200 sensor nodes successfully. The reliability and stability of the solution were validated.

Keywords: ZigBee; OTA; data compression; CRC32

0 ; 引 ; 言

TI根据ZigBee的相关OTA标准[1]标准编写了相应实现代码,但是对功耗方面关注度比较少,而且必须要配合TI的软件才能实现升级。国内针对OTA技术已有相关研究,文献[2]涉及无线传感网络空中下载协议,该协议是一种具有数据传输、节点状态控制功能的应用层协议,为无线传感器网络提供无线传感器节点状态控制、程序代码更新等服务,但是没有提出具体的实现方案,也不涉及到可靠的数据分发机制,在实际应用中需要做具体优化。文献[3]提出了一种点对点的无线下载方式,是一种比较通用的无线下载方案。但是其方案数据校验还是有点欠缺,没有对整个Image进行校验,可能会导致数据错误。

本文提出了一种基于通用架构、多点并发、可靠、高效、低能耗的无线下载解决方案。升级的传感节点自主向协调器申请固件数据,自主发送数据申请包(POLL?Data Request),从而实现多节点并发升级,极大地提高了系统的效率及稳定性。

1 ; 结构划分及算法选择

1.1 ; 存储结构划分

在OTA升级模型中,需要把传感节点及需要升级的设备内部程序存储器在结构上分成三个区域:程序引导区、数据共享区和用户装载程序区。引导程序Bootloader主要实现固件程序的串口下载、固件数据的解压缩、中断向量的重映射及程序的跳转;数据共享区存放引导程序与用户程序的一些共享数据,例如固件的大小、版本等信息,用户程序与引导程序都可以对该区域中数据进行操作;用户装载程序区用来存储用户应用程序,即实现用户需求的应用程序。

1.2 ; 最大数据包及CRC选择

在实际应用中,在无线升级过程中应该要尽量选择最大包数据来发送,这样可以减少整个固件发送的次数。而在未加密、短地址模式下,可用于传输的用户数据只有99 B。本文支持的数据包最大值通过Zstack中的API函数afDataReqMTU()来获取。

因为要对整个数据包进行校验,选用了CRC32,根据文献[4],CRC32最大能校验的不冲突数据包长度为512 MB。

1.3 ; 数据压缩

一个基于Zstack的传感节点固件大小都是在100 KB以上, 为了提高下载的速度,考虑对固件数据进行压缩。为此,本文选用两种无损压缩算法进行评测:MiniLZO[5]与LZSS[6],并在CC2530上做了移植,比较它们的性能。由于CC2530只有8 KB的ROM,考虑到对压缩前后数据的存储问题,所以在实际压缩过程中需要将固件分割为3 KB大小的小块进行分段压缩。

本文选择一个大小为123 072 B的固件,利用上述两种压缩算法对此固件进行性能比较。其中整体压缩是该固件没有进行分段压缩之后的结果,具体测试结果如表1所示。

表1 LZSS与MiniLZO性能比较

[算法\&;整体压缩/压缩比率\&;分段压缩/压缩比率\&;解压程序

占ROM /B\&;解压时

间 /ms\&;MiniLZO\&;79 974 B/64.980%\&;89 262 B/72.527%\&;2 570\&;1\&;LZSS\&;73 090 B/59.388%\&;85 210 B/69.235%\&;635\&;11\&;]

从表1中可以看出LZSS解压程序比MiniLZO更节省ROM空间,但是LZSS解压速度更慢,会导致传感节点功耗与不稳定因素提高。所以本文提及的OTA方案压缩解压缩算法选用MiniLZO。

2 ; 系统实践

OTA系统模型由无线升级主机(协调器)、传感节点和路由设备组成,如图1所示。升级主机和传感节点中都集成SPI FLASH存储器,用来存储要升级的传感器节点的固件。传感节点采用SPI FALSH作为缓冲存储介质,保证在下载的过程中不需要擦除应用程序,只有在SPI FLASH中的固件数据得到正确保证的情况下才被BootLoader程序拷贝到内部FLASH中,从而提高了系统的稳定性。

ZigBee标准[7]定义中,节点与其父节点通信采用POLL机制,节点通过周期性发送数据请求帧(POLL?Data Request)来查询其父节点中有无数据要发送给它。这种机制一方面导致了节点功耗的增加,另一方面也给整个网络带来了一定的负荷,增加了系统不稳定因素。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\07t1.tif>;

图1 OTA系统模型

本系统在实际应用中关闭了周期性传感节点的POLL功能,这导致传感节点无法接收到协调器发给节点的数据。为此,本文重新构造自主数据请求(POLL?Data Request)机制,并设计了两种特殊数据帧:配置数据申请帧和固件数据申请帧。

配置数据申请帧是在传感节点与其父节点建立连接之后,传感节点向协调器发送的一种数据帧。该数据帧包含节点当前运行的固件版本信息、IEEE地址等。在该数据帧发送之后,调用NLME_SetPollRate()函数开启POLL功能,同时也开启等待协调器应答的超时定时器,开始等待协调器发送数据到该传感节点;如果超时,定时器超时溢出。重复上述操作,具体流程如图2(a)所示。

因为传感节点采用自主数据请求的机制,所以在传感节点与协调器关联成功的时刻,要决定是否进行双向通信,如图2(b)所示。在传感节点与协调器关联成功后,传感节点向协调器发送配置数据申请帧,协调器在收到该数据帧后就可以把相关的配置信息发送给它。传感节点根据此数据包中的信息来决定是否要继续与协调器保持数据通信或者固件升级。这种操作带来了两个方面的好处:一方面传感节点不需要开启周期POLL功能,可按需开启该POLL功能,降低了网络冲突的概率,提高了ZigBee网络容量;另一方面降低了传感节点的功耗,使传感节点工作时间延长,提高了设备的可靠性。

如果传感节点在规定时间内收到协调器的配置数据申请帧的应答帧,并把当前运行的固件版本与该应答帧数据中包含的固件信息做比较,如果节点当前运行固件版本比协调器中固件信息版本要低,则再根据协调器应答帧数据相关标志位,来决定是否需要进行升级工作,如图2(b)所示。

传感节点一旦进入升级模式,则开始周期发送固件数据申请帧数据,在发送完之后调用NLME_SetPollRate()函数开启POLL功能,打开超时等待定时器。固件数据申请帧中包含传感节点要申请固件数据存储于协调器SPI FLASH中的地址及固件数据的长度。协调器收到该固件数据申请帧之后,从该数据包中获取传感器节点申请固件按数据的存储地址,并从SPI FLASH的该地址空间中读取指定长度的数据,在收到传感器Data?Requst包之后,把读出的固件数据发送给该传感节点。传感器节点接收新的固件数据则写入其SPI FLASH中,紧接着申请下一包数据。此流程一直循环到数据所有固件数据被申请完,具体流程如图2(c)所示。

传感节点申请完协调器中的新固件数据后,则把相应参数写入到数据共享区,重启进入Bootloader。引导程序根据共享区的数据信息,读取传感节点SPI FLASH中新固件数据并解压到内部FLASH,从而实现传感节点的固件升级。

3 ; 分析与评测

为了保证实验数据的可靠性,本系统测试都是采取同一份传感节点固件,大小为123 072 B。为了避免传感节点因为网络参数问题导致与协调器无法连接,在Zstack?2.5.1a协议栈[8]上做了修改,在传感器节点多次发送失败之后,则要重新初始化网络参数,并重启传感器节点。本系统的验证分三种方案进行,如表2所示。

表2 测试方案

[方案号码\&;固件数据申请

帧周期 /ms\&;固件数据

是否压缩\&;同时升级

节点个数\&;方案1\&;100\&;否\&;2个、5个、10个\&;方案2\&;100\&;是\&;2个、5个、10个\&;方案3\&;50\&;是\&;2个、5个、10个\&;]

方案1,方案2测试结果如图3所示。方案2,方案3测试结果如图4所示。

从图3可以看出,固件数据的压缩可以在一定程度上缩短传感节点固件升级的时间,进而提升了OTA性能。随着同时申请升级的节点数目的增多,节点升级的时间相对于同时申请下载节点较少的情况下完成升级所花费的时间会有所增加,因为节点增多导致无线冲突的概率增大,而数据的重发机制导致传感节点升级的花费时间增加。同时,升级节点的增多,也会导致有些传感节点因为多次重发不成功,而引起传感器节点重置网络参数,重启并重新开始升级工作,如图4(c)中序号为6、7、9、10号的节点。

从图4可以看出,缩短传感节点固件申请包的时间间隔,在传感节点比较少的情况下,极大地缩短了升级所花费的时间。但是随着传感节点同时申请升级的个数增加,无线冲突的概率也随之增大,导致节点重启并重新升级的节点个数也随之增多,如图4(c)所示。

从图3与图4可以看出,随着同时申请升级的传感节点个数的增加,传感节点断网重启重连的概率也会随之增加;缩短固件数据申请帧的周期,在传感节点比较少的状况下极大地提高了OTA的性能。根据上述测试结果,确定一个协调器在同一时刻只允许5个传感节点同时升级的方案,且每个节点申请的时间间隔为100 ms。

4 ; 总结与展望

本论文提出了一种基于ZigBee网络OTA技术的改进方案,设计的方案具有多并发、高可靠、低功耗及通用性强的特点。文中对代码数据进行压缩处理,在代码量在很大的情况下,既可以实现传输数据量的减少,增加系统的稳定性和可靠性,又降低了硬件成本。对于数据的安全性,本文中没有涉及,目前系统没有采用特定加密算法,所以无线下载的安全性等方面有进一步的讨论空间。

参考文献

[1] ZigBee Alliance. ZigBee over?the?air upgrading cluster [EB/OL]. [2012?05?28]. http:///en/spec_download/download_request.

[2] 尹令,周皓恩,刘才兴,等.无线传感器网络空中下载协议的研究[J].湘潭大学自然科学学报,2010,32(2):112?117.

[3] 生凤中,荆雷,李建业.基于 CC1110 单片机的无线升级方法研究[J].电子技术应用,2012,38(11):139?142.

[4] FARAHANI S. ZigBee wireless networks and transceivers [M]. UK: Newnes, 2011.

[5] OBERHUMER M. Mini version of the LZO real?time data compression library [J/OL]. [2012?08?13]. /markus?ober.

[6] BERLIN G J. Method for compression of data using single pass LZSS and run?length encoding: US, 5,701,125 [P]. 1997?12?23.

zigbee协议篇3

关键词:Z-stack;HA规范;ZCL;ZigBee

中图分类号:TP311 文献标识码:A 文章编号:2095-1302(2013)04-0054-03

0 引 言

目前,国内市场上ZigBee产品虽然很多,但大多采用的都是私有协议栈,阻碍了不同厂家产品之间的互用和替代,这也是ZigBee市场规模无法迅速扩大的一个重要原因,因此,开发具有符合标准规范的ZigBee产品成为当务之急。目前国内的ZigBee行业规范还正在处于形成阶段,但国际上的ZigBee规范已经建立并受到国际上众多厂商的追随,因此,本文就如何开发符合ZigBee联盟规定的HA规范的ZigBee应用进行了探讨。

Z-stack是TI公司推出的ZigBee协议栈系统,这是一个通过ZigBee联盟认证的符合ZigBee2007规范的平台。借由TI公司ZigBee芯片及SOC产品在国内的广泛接受,Z-stack也称为众多芯片厂商提供的协议栈中开发者接受度比较广的一款ZigBee协议栈。本文探讨的ZigBee产品应用开发是基于Z-stack协议栈的。

1 ZCL库(ZigBee cluster library)[1]

在ZigBee协议栈中,簇是一组命令和属性的集合,这些命令和属性组合起来,构成了实现某一功能的实体。

ZCL是由ZigBee联盟制定的包含了大量功能簇(cluster)的大集合。在应用开发中,以ZCL中已有的簇作为功能单元来使用,可以增强通用性,避免重复开发。

ZCL对功能簇进行了分类和描述。每个功能簇都包含有一个或多个属性及命令,ZCL对每个属性都进行了定义和描述,包括属性ID、名称、数据类型、数值范围、初始值、可读写性以及强制性;同时,也对此簇所包含的命令进行了定义,包括命令ID、命令名称、命令数据帧内容和触发效果等。

ZCL中的通信是基于Client/Server模型的以簇为单位进行的。两个不同功能设备之间的相互通信,是基于某一个或多个功能簇的。用来储存这些簇属性的设备,称为Server端;而用来操作这些簇属性的设备,称为Client端。针对Client/Server端口类型的不同,同一个簇也具有不同的属性和命令。例如,操作属性的命令,通常由Client端发送给Server端;而用针对这些操作命令的回复,通常由Server端发送给Client端。另外,报告类型的命令(report attribute command)通常由Server端发送给Client端。以On/Off簇为例,该簇的作用是实现开关设备的开/关状态的控制,体现在设备上,分为Client端和Server端两种角色的设备,比如开关是Client端,而某个具有ZigBee模块的灯节点则代表了相应的Server端。Server端作为命令的接收者,必须能够识别开/关/切换这几个来自Client端的命令(在ZCL中,已经规定好这些命令对应的ID,如0x00代表关,0x01代表开,0x02代表切换),同时,由于命令操作的是属性,因此,该Server端必须保存有开关状态这一属性。

另外,ZCL制定了基于cluster的各类命令帧的格式(包括读、写、报告等);定义了用于寻址的各指示参数(包括规范ID、设备ID、簇ID、属性ID和命令ID);规定了用于各属性和命令中各类数据的数据类型;还规定了在通信中可能会出现的所有状态的枚举数组。

2 HA(home automation)规范[2]

HA规范是由ZigBee联盟(ZigBee alliance)制定的对用于住宅环境的各类常见应用的设备描述和操作规范。通过这一规范,为不同厂商的ZigBee HA设备提供了标准的接口和定义,确保其相互之间能够相互通信并协同工作。

HA规范的范围主要集中在对家用设备进行的实时操作,该规范可以构筑在ZigBee2007的两个子规范(ZigBee、ZigBee pro)之上。

HA规范可以简单分成围绕网络特性的参数设置和围绕功能实现的设备描述分类(包括相应设备的簇以及特性和功能)这两大部分的内容。

2.1 参数设置

HA规范对涉及到协议栈各功能方面的一些参数进行了明确的规定,例如用于设备启动时的启动参数集(startup attribute sets),要求每个设备都必须内置这些参数,例如将PAN ID设置成0xffff等。还有比如用于网络重连接的时间间隔、安全中心连接秘钥等等参数。

在安全参数的设置方面,HA规范中规定,设备的初始网络安全秘钥(network key)是空的,即每个设备的网络安全秘钥必须由安全中心来统一分配;而安全中心连接秘钥(trust center link key)是每个设备都预置好的。

2.2 设备描述

HA规范对可能会用到的设备进行了划分并设置了相应的ID,在HA网络中的每个终端都必须符合至少一项该分类图中给出的设备描述分类(如果同时符合多个设备描述的话,需要在自己的设备描述中枚举这些设备类型)。

zigbee协议篇4

    随着物联网的兴起,无线传感器网络(WSN)向 IPv6 网络的融合逐渐提上日程,基于 IPv6 的低功耗无线个域网 (6LoWPAN)[3]由 此 应 运 而 生 。6LoWPAN 协 议 主 要 在 IEEE 802.15.4链路层之上实现了精简的 IPv6 协议,通过在链路层与 IP 层间添加适配层实现首部压缩与数据包的分片重装,很好地实现了 IPv6 网络与低功耗无线 网 络 之 间 的 协 议 适 配 。 目 前 ,IETF 6LoWPAN 工作组已经形成的 3个标准文档,提出了低功耗网络中运行 IP6 协议的假设、问题和目标[4],制订了 6LoWPAN 的功能及报文格式[5],以及基于上下文(Context)的 IP 报文头压缩(IPHC)方法[6]。此外,还出台了6LoWPAN 邻居发现协议、低功耗有损网 络 路 由 协 议 (RPL) 等 相 关 标 准 草稿。基于该标准体系的系统开发已经 成 功 应 用 于 相 关 产 品 中 ,如Sensinode 公 司 的 基 于 NanoStack 的NanoRouter 产 品 和 NanoService 产 品 、TI 公司生产的基于 CC-6LoWPAN的Sub-GHz 6LoWPAN Network Processor产品等。IETF 核心工作组专为资源能量带宽受限的网络(如 6LoWPAN)设计了轻量级的应用层协议(CoAP)[7],处于数据报协议(UDP)之上,为应用终端之间提供了一种方法/响应交互模式,支持内置的资源发现(RD)机制以及组播机制,同时包含几个关键 Web概念如统一资源标识符(URI)和内容类 型 。 CoAP 是 对 超 文 本 传 输 协 议(HTTP)的一种简化,满足轻量级的同时还便于与 HTTP 进行转化。

    综上所述,无论从物联网还是WSN 的发展趋势来看,6LoWPAN 作为一种新兴的基于 IPv6 的无线传感网协议,具备更高的应用价值与发展潜力。但从目前的行业应用现状分析,未来很长一段时间内,Zigbee 仍然 会 承 担 一 个 很 重 要 的 角 色 。6LoWPAN 的逐步推广使得两种网络及其节点的互通成为必然。本文在原有 6LoWPAN 以及 Zigbee 标准不变的基础上,首先分析了异构节点互通问题,并设计了协议转换、网关功能以及节点交互流程;然后分析了现有的异构节点互通方案,给出了本文设计的异构节点互通场景、系统结构、协议转换模式以及网关功能;最后对寻址、服务发现等互联互通关键技术进行了分析,并基于此设计了异构节点交互流程。6LoWPAN 作为一个将低功耗网络融合到传统网络的协议,与 Zigbee协议的互通问题同样与 IPv6 协议密不可分。实现异构网络协议的融合互通一般采用在网络层进行协议转换,因此 Zigbee 协议与 IPv6 协议的转换过程必不可少。目前 Zigbee 与 IPv6融 合 的 技 术 相 对 比 Zigbee 与6LoWPAN 融合的技术更全面些。

    现有 Zigbee 与 6LoWAN 互通方案如图 1 所示。目前有关 Zigbee 节点与6LoWPAN 节点互通的方案较少,总结起来主要包括双栈网关与双栈节点两种方案。两种方案的共通点是在Zigbee 的应用层添加了 IPv6 协议块,即将Ip数据包作为应用层数据处理 。 双栈节点可实现Zigbee 与6LoWPAN 的功能,但不能同时实现,且对于功耗、资源限制的节点来说不适用。双栈网关很好地减少了域内节点的资源能源消耗。这两种方案仍停留在框架层面,均未实现首部压缩与解压缩以及数据包的分片与重装,也未解决关键的寻址问题与服务发现问题。由于 6LoWPAN 与 IPv6 密不可分的关系,上述部分问题可在Zigbee 与 IPv6 网络融合方案中找到相近的解决方案。

    Zigbee 与 IPv6 网络互通的最直接的方式就是在 Zigbee 网络层与应用层之间添加 IPv6/UDP 层,此时所有的Zigbee 节点均被分配了一个 IPv6 地址。当网关(Zigbee 协调器)处收到 IP网络数据包时,将其封装成 Zigbee 网络层并转发至 Zigbee 网络中。当网关收到 Zigbee 数据包时,则将其解封装并利用 IPv6 载荷继续传输。由于Zigbee/802.15.4 中的数据为异步通信方式,所以一般采用 UDP 协议传输数据。这种方式最大的问题在于数据包大小,也就是首部压缩与数据分片的问题.Sakane S 等人设计了一种基于地址转换的 Zigbee 节点与 IPv6 节点的交互机制[8]。通过双栈网关实现地址转换。这种方式解决了 Zigbee 节点与 IPv6 节点的地址统一问题,但是打破了 Zigbee 端到端的信息安全等特征,且没有解决 Zigbee 网络中最重要的服务发现功能。Reen-Cheng Wang 等人对上述基于 NAT 的交互方式进行了改进,提出了一套完整的 Zigbee 节点与 IPv6 节点交互机制。IPv6 over Zigbee 交互机制[9]如图 2 所示。双栈网关不仅实现了 Zigbee 地址与 IPv6 地址之间的转换,也实现了 Zigbee 服务发现功能与IP 网络的简单服务发现协议(SSDP)的转 换 。 Zigbee-IPv6 协 议 栈 如 图 3 所示。协议转换是在双栈网关的网络层进行的,保证了应用层数据传输的加密机制。为了防止广播风暴,该机制对每个 Zigbee 域设定为一个多播组,更好地支持了低功耗网络与 IP 网络的融合。但此方案依然没有解决数据包分片的问题。上述关于 Zigbee与 IPv6 的融合方案,网络地址转换、服 务 发 现 功 能 转 换 等 机 制 对6LoWPAN 与 IP 网络以及 Zigbee 网络的融合有很好的借鉴作用。

    图 4 所 示 为 本 文 所 实 现 的6LoWPAN-IPv6-Zigbee 架构中异构节点 互 通 的 场 景 。 6LoWPAN 节 点 与Zigbee 节点处于同一混合域中,通过同一个功能复杂的边界网关实现域内异构节点间的互通,并可接入 IP 网络实现与其他节点互通。

    图 5 所示为在图 4 所示的应用场景下网关中的协议转换图。同一域内的 Zigbee 节点与 6LoWPAN 节点之间的交互主要通过网关中 Zigbee 协议栈与 6LoWPAN 协议栈之间的转发实现。此外,在边界网关中同样设置IPv6 协议栈,以便域内节点与域外的IPv6 节 点 或 者 其 他 域 节 点 进 行 通信。在处理服务发现协议的组播消息时网关也需要进行上层协议解析并且可以在不同的服务发现协议间进行转换。

    边 界 网 关 是 Zigbee 协 调 器 与6LoWPAN 边界路由器功能的结合,同时还需完成 Zigbee 协调器与6LoWPAN 边界路由的交互功能。网关功能主要有:(1)基本协议解析功能,包括 Zigbee 协议、6LoWPAN协议以及 IPv6 协议栈。(2)网络层协议转换,主要提供首部转换模块,即将Zigbee 协议的网络层首部与IP 首部进行转换,必要时可以将 Zigbee 的应用支持子层(APS)首部与传输层协议进行转换。(3) 地 址 转 换 功 能 。 由于是网络层转发,Zigbee 地址需先转换为 IPv6 地址,然后通过 6LoWPAN 进行地址压缩。由于边界网关同时包含 Zigbee协议与 6LoWPAN 协议,且两种协议使用不同的方法分配 16 位短地址,因此在边界网关中地址映射表存在 3种链路层地址:EUI-64、6LoWPAN16位短地址、Zigbee16 位短地址。(4)服务发现协议转换,主要在应用层通过 Zigbee 的应用层数据格式与 CoAP-HTTP 格 式 转 换 来 实 现Zigbee 设备对象-服务发现(ZDO-SD)协议与轻量级的应用层-资源发现(CoAP-RD)协议的转换。

zigbee协议篇5

1ZigBee技术简介和IEEE802.15.4协议

1.1ZigBee技术

ZigBee是一种基于IEEE802.15.4无线标准研制开发的技术标准,IEEE只能对低级的物理层和MAC层协议进行处理,因此,ZigBee联盟能标准化相应的网络协议层和API。完全协议可以直接连接到一个设备的基本节点4k字节、路由器协调器32k字节、Hub协调器的32k字节,由于每个协调器可以连接255个字节,几个协调器就能形成一个网络,因此,不会限制路由传输的数量。为保证便携式设备不会因意外泄漏标识,导致利用网络在传输过程中被其它节点获得信息,ZigBee联盟还开发了安全层。完整的ZigBee协议是由物理层、数据链路层、网络层、应用汇聚层、高层应用规范等组成的,其中ZigBee联盟制定网络层以上的协议,IEEE802.15.4制定物理层和数据链路层标准。应用汇聚层主要负责将不同的应用映射到ZigBee网络中,具有业务发现、设备发现、业务数据流汇聚、安全鉴权等功能;MAC层主要沿用WLAN中802.11标准CSMA/CA方式;在网络层ZigBee联盟可以制定星形、网状及丛集树状等几种形式。ZigBee协议套件十分紧凑,并且结构比较简单,对于硬件的要求比较低,8位微处理器80c51就能符合要求。

1.2IEEE802.15.4协议

IEEE802.15.4协议是ZigBee技术的基础,IEEE802.15.4标准是为低成本、低能耗的设备提供有效范围在10m的低速连接,能用于玩具、库存跟踪等领域。IEEE802.15.4定义了单一的MAC层和多样的物理层,MAC层可以支持多种LLC标准,利用SSCS协议能让LLC标准直接使用MAC层服务;物理层可以分为869/915MHz物理层和2.4GHz物理层两个标准,这两种物理层的数据包格式是相同的,而工作频率、扩频码片长度、调制技术、传输速率等方面存在一定的差异。

2ZigBee技术的特点

ZigBee技术和其他无线网络通信技术相比较,其最大的特点是:

(1)数据传输率低。ZigBee技术的数据传输率很低,每秒传输速率为10k字节-250k字节,只能用于低传输。

(2)功耗少。由于ZigBee技术的传输速率低、传输数据量比较小,因此,在传输过程中信号的收发时间很短;当ZigBee停止工作时,节点会处于休眠状态,使得ZigBee节点的功耗少,十分省电。

(3)安全性高。ZigBee提供有完整的数据检查和鉴权功能,数据在传输过程中提供了三级安全性,并且高级加密标准的对称密码,确保数据能安全的进行传输。

(4)有效范围小。ZigBee技术的有效范围比较小,一般情况下,有效范围在10m-75m,其具体范围根据实际应用模式和发射功率的大小确定。

(5)兼容性。ZigBee技术可以和现有的控制网络标准进行无缝集成,利用网络协调器自动建立网络,通过CSMA/CA方式进行信道接入,不仅保证传递的可靠性,还提供了全握手协议。

3ZigBee的应用

ZigBee是希望建立一种容易布建、低成本、低耗能的无线网络,产品研发初期主要用于工业、企业市场的感应式网络,具有灯光、感应辨识、安全控制等作用,随着科技的快速发展,ZigBee逐渐应用在家庭中。采用ZigBee技术时,需要满足以下任何一种条件:

(1)设备的成本低,传输的数据量比较小;

(2)设备的体积比较小,没有安装比较大的电池模块;

(3)设备只能使用一次性电池,没有充足的电力支持;

zigbee协议篇6

关键词:家庭网关;SIP方法;XML消息体;ZigBee

中图分类号:TP399 文献标识码:A 文章编号:2095-1302(2013)09-0025-04

0 引 言

物联网带动了继互联网之后全球信息产业的又一次科技与经济浪潮,智能家居及家庭网络无疑是物联网的热点应用领域。家庭网关是连接公网和家庭内网的喉舌,负责家庭内部设备对公网的访问、交互,用户从公网上对家庭网络访问、控制,以及家庭内部设备的互联等操作。物联网家庭网关需要具备宽带接入、业务识别和控制信息转发等功能。

1 SIP的概念

会话起始协议(Session Initiation Protocol,SIP)是由互联网工程任务组(Internet Engineering Task Force,IETF)于1999年提出的一个基于IP网络实现复杂通信应用的应用层信令协议。

SIP是一个C/S协议,包含用户(User Agent,UA)和网络服务器(Server)两类组件。SIP终端系统上运行的与用户交互的软件称为用户,网络服务器为用户提供注册、认证、鉴权、路由等服务。SIP呼叫建立和SIP会话功能依靠SIP UA及SIP Server实体完成。

SIP协议定义了两种类型的消息:请求和响应。SIP请求包含INVITE、ACK、BYE、CANCEL、OPTIONS、REGISTER等六种基本方法[1],以及SUBSCRIBE、NOTIFY、PUBLISH等扩展方法[2]。SIP响应包含1xx、2xx、3xx、4xx、5xx、6xx等六类消息。

SIP消息的3个基本部分消息类型、消息头和消息体均可扩充,并且SIP采用基于UTF-8字符集的文本编码形式实现,可十分简便地对消息进行扩展,使之适应各种具体的应用场景。

2 ZigBee技术

ZigBee基于IEEE 802.15.4[3]标准,在众多短距离无线通信协议中,ZigBee技术有以下优势:

(1)成本低,开发相对容易,芯片CC2530的售价不到2美元,且免费提供ZigBee通信协议和开发工具;

(2)能耗低,CC2530正常使用时功率不到1 W;

(3)可靠;

(4)组网方式灵活。

ZigBee技术的唯一缺点是传输速率不高,但也完全能满足物联网家庭网络中的无线感知与监控需要。

3 系统总体架构

图1所示是物联网家庭网络架构。采用ZigBee协议构建家庭网络时,可连接各种传感器、继电器(家电及控制设备)与家庭网关。在ZigBee无线家庭网络中,传感器、继电器担任终端的角色,家庭网关中的ZigBee主控模块担任协调器的角色。家庭网关上集成了ZigBee协调器与SIP Server的功能,能同时实现ZigBee网络协调器功能、SIP与ZigBee协议数据格式的转换功能以及经SIP协议到Internet的访问权。SIP/ZigBee网关按SIP协议规范,ZigBee网络内的各种传感节点及继电器节点设备;家庭成员可通过SIP协议由SIP UA经Internet访问家庭网关,实现对家庭内传感器信息的获取,以及对家庭设备的远程访问和控制。

图1 物联网家庭网络架构

家庭网关的一个重要作用就是实现公网中SIP协议与家庭网络中ZigBee协议与数据格式的转换。本文采用如图2所示的协议模型,图2中,左侧为ZigBee网络协议模型,右侧为SIP协议模型,中部为物联网家庭网关协议模型。

图2 家庭网关协议模型

4 家庭网关的硬件设计

硬件上采用DMATEK的DMA210XP整合平台,整合了ZigBee协调器ZB2530-03模块,两者间采用串换数据。图3所示是本系统家庭网关的硬件设计图。

图3 家庭网关硬件设计

图3中的DMA210XP采用具有先进ARM Cortex A8核心的Samsung S5PV210处理器,该处理器采用先进的 ARM Cortex A8核心,运算速度可达1 GHz,且自带32/32 KB指令一级缓存,512 KB二级缓存。具备128M×8片共1 GB DDR2 SDRAM,512 MB SLC NAND Flash外部内存;另有SD卡接口、MicroSD(T-Flash)卡接口、USB接口、网口、串口、音频接口、CMOS Sensor摄像头接口、CAN总线接口、HDMI接口、GSensor接口等,并有16.7M色800×480 7.0 in TFT电容式多点触摸液晶屏,达到图形监控与收集资料的应用。

ZigBee协调器ZB2530-03模块由TI公司的核心芯片CC2530 F256及其电路组成。CC2530 F256是用于2.4GHz IEEE 802.15.4/ZigBee应用的一个片上系统(SoC)解决方案。它以非常低的总的材料成本(约2美元)建立强大的网络节点。CC2530 F256结合了领先的RF收发器的优良性能,具备业界标准的增强型8051 CPU,256 KB可编程闪存,8 KB RAM,低功耗,高接收灵敏度和抗干扰性能,以及许多其他强大的功能,其电路图如图4所示。

5 家庭网关的软件设计

5.1 协议栈的实现

本系统采用开源的libosip2、eXosip2来实现SIP UA,并采用开源的OPENSER实现SIP Server。家庭网关采用linux操作系统,SIP Server在linux环境下编译、调试。

采用TI提供的ZStack协议栈[4]实现IEEE 802.15.4/ZigBee协议栈,而采用IAR嵌入式集成开发环境具有在线下载、调试、仿真等功能。

5.2 各操作的SIP协议实现

任何访问家庭网关及网络的SIP UA均要向位于家庭网关的SIP Server注册,以获得身份认证及访问权限,注册用RRGISTER方法实现。

为了能实时远程获取家庭网络内各类传感器采集到的监测信息,SIP UA需要向SIP Server订阅家庭网络中事件的变化。当所订阅的事件状态发生变化时,订阅者会接收到来自通告者的通知。订阅用SUBSCRIBE方法实现,通知用NOTIFY方法实现[5]。

SIP UA通过Internet远程控制家电设备的开启或关闭,利用INVITE方法实现。

5.3 SIP UA向SIP Server注册

图5所示是SIP UA向家庭网关注册的关系图。其注册步骤如下:

(1)SIP UA发送REGISTER消息到SIP Server。

(2)SIP Server返回40l响应给SIP UA,要求认证。

(3)SIP UA加入认证信息,重新向SIP Server进行注册。

(4)SIP Server检查REGISTER消息参数合法性。若参数合法且正确,则向SIP UA返回200 OK,完成注册;若参数不合法或不正确,则返回403 Forbidden,表明注册失败。

图5 SIP UA向家庭网关注册

注册成功后,SIP UA需要按指定超时时间进行刷新注册,否则SIP Server令其注销。

5.4 SIP UA订阅家庭监测信息

图6所示是SIP UA订阅家庭监测信息示意图。该过程可分为两步:其一是SIP UA发送SUBSCRIBE消息给SIP Server订阅远端家庭网络传感节点监测信息;其二是SIP Server检查SUBSCRIBE消息参数的合法性,同时查询该用户是否具有相应的订阅权限,并根据查询结果对SIP UA做200 OK或403 Forbidden回执。

图6 SIP UA订阅家庭监测信息

5.5 家庭网络信息和更新

图7所示是家庭网络信息和更新示意图。SIP Server/ZigBee协调器实时汇聚ZigBee网络内各传感节点的采集值,若监测到某订阅的ZigBee传感器感测值有变化,及时构造相应的NOTIFY消息发送给成功订阅该事件的SIP UA。

图7 家庭网络信息和更新

5.6 SIP UA远程控制家庭设备

(a)成 功

(b)失 败

图8 SIP UA远程控制家庭设备

图8所示是用 SIP UA远程控制家庭设备的原理图。SIP UA远程控制家庭设备时,SIP UA首先发送INVITE消息给SIP Server,以请求远程控制家庭设备。之后,SIP Server解析INVTIE请求,并向对应的家电设备(继电器)发出控制命令(打开或关闭)。若家电设备正常动作且发回正确应答,则按图8(a)所示信令流程继续本次SIP会话;若家电设备未能正常动作或未发回正确应答,则按图8(b)所示信令流程,由SIP Server向SIP UA回应486 Busy应答,以结束本次SIP会话。

6 SIP XML消息体的设计

在SIP SUBSCRIBE、NOTIFY及INVITE方法的XML消息体中携带与ZigBee家庭网络通信的数据内容。采用XML格式的消息体为管理ZigBee家庭网络提供了高度的灵活性和高效率的实施方法。

6.1 用SUBSCRIBE方法设计XML消息体实例

在字段中携带开或关的指令,Y表示开,N表示关;在字段中携带要操控的设备,例如aircon表示空调,curtain表示窗帘。

SIP Server需要完成SIP协议与串口数据格式的双向转换,从串口接收ZigBee主控汇聚的监测信息供SIP上层应用使用,从SIP方法的XML消息体中提取指令转换为串口数据格式,发向ZigBee协调器模块。

7 ZigBee无线通信数据格式设计

在ZigBee家庭网络中,位于家庭网关中的ZigBee协调器负责接收和汇聚各类传感器采集到的监测信息,并将接收到的信息通过串口发往上层SIP应用(ZigBee串口与ZigBee无线数据格式一致),同时将从串口接收到的控制指令发往各继电器(家电)。

7.1 协调器接收格式

发送端的传感器格式(byte1~byte10)如图9所示。

图9 发送端的传感器格式图

在图9中,byte1 byte2:传感器端数据发送的固定头,固定为0xFA 0xFB;byte3:数据类型的标识, 0x00为温湿度,0x01为安防,0x02为火焰,0x03为烟雾,0x04表示可燃气体;byte4:传感数据长度(统一为0x04);byte5~byte8:传感器采集到的具体数据;byte9:保留;byte10:byte1~byte9校验值(相加取低8位)。

7.2 协调器发送数据格式

图10 接收端的家电设备(继电器)格式

在图10中,byte1 byte2:协调器端数据发送控制继电器命令的固定头0xFA 0xFB;byte3:协调器端数据发送对象和继电器序号(0x01为发送命令给继电器1端,表示空调;0x02为发送命令给继电器2端,表示电灯;0x03表示发送命令给继电器3端,表示窗帘;0x04为发送命令给继电器4端,表示电饭煲,依此类推……);byte4:命令长度,固定为0x04;byte5:发送给继电器的命令内容(0x02为关闭,0x01为开启);byte6~byte9:保留;byte10:byte1~byte9校验值(相加取低8位)。

7.3 家电设备(继电器)应答数据格式

本系统的接收端协调器格式(byte1~byte9)如图11所示。

图11 接收端协调器格式

图11中,byte1~byte4表示收到的数据原值返回;byte5~byte8为应答码,固定为0xAA 0xBB 0xCC 0xDD;byte9为byte1~byte8校验值(相加取低8位)。

8 结 语

家庭网关在物联网智能家居网络中具有重要地位,本文从硬件和协议数据格式上对家庭网关进行了设计,通过SIP XML消息体和ZigBee无线通信数据格式的设计,能很好实现家庭网关对协议及数据格式的转换功能,实现基于SIP协议的公网访问基于ZigBee协议的家庭网络。

参 考 文 献

[1] ROSENBERG J, SCHULZRINNE H, CAMARILLO G, et al. SIP: session initiation protocol RFC 3261—Internet Engineering Task Force[R]. [S.l.]: The Internet Society, 2002.

[2] ROACH A B. RFC3265 session initiation protocol (SIP)—Specific Event Notification[R]. [S.l.]: The Internet Society, 2002.

zigbee协议篇7

ZigBee消费应用

为进一步推动ZigBee市场的成长,简化设计并加速上市过程成为当务之急。德州仪器 (TI)近日宣布推出最新 Z-Accel 系列 2.4 GHz ZigBee 认证网络处理器中的首款产品 ―― CC2480。该器件为工程师提供了完整的 ZigBee 功能,而无需全面了解繁琐的全功能 ZigBee 协议栈,从而尽可能减少了开发工作量,并简化了 ZigBee 功能与各种应用的集成工作,如家庭与楼宇自动化,以及工业监控等。此外,该器件还为客户提供了可与各种主机 MCU 协同工作的高灵活性。

CC2480被TI赋予了networking Processor的使命,TI称为ZigBee Processor。德州仪器低功耗射频业务全球业务总监Emmanuel Sambuis认为:“CC2480是把已经做好的ZigBee协议栈的软件(经过ZigBee Alliance认证、测试)放到芯片内部,客户可以通过外加一个MCU,把应用程序放在外面的MCU,这样就不用花很多的时间去开发ZigBee协议栈方面的软件。这就是我们所谓的Z-Accel的概念,其实Accel的意思是其余工作加速,这样客户就可以很简单的把我们ZigBee网络处理器外加一个MCU,把他的应用做好。除了软件以外,TI同时也提供一些硬件的文档,包括天线的匹配。这样客户在硬件上也可以减少很多的工作量,可以以很快的速度开发一个ZigBee产品,现在花上几天甚至几个礼拜就把ZigBee产品设计好不再是天方夜谭。

Z-Accel 是一套全面的解决方案,TI 的 Z-Stack软件 ZigBee-2006 协议栈可在ZigBee 处理器上运行,而应用程序则能在外部 MCU 上运行。CC2480 能够处理所有时序关键型与处理密集型 ZigBee协议任务,而将应用 MCU 的资源占用空间释放出来用于满足其他应用要求。CC2480 不仅能够通过 SPI 或 UART 接口与各种 MCU 通信,还能与 TI 的 MPS430 超低功耗 MCU 等器件相结合。

zigbee协议篇8

【关键词】 ZigBee 无线传感器网络 协议 IEEE802.15.4

1 引言

随着网络和通信技术的发展,人们对无线通信的要求也越来越高。短程、低速、廉价的无线通信技术整成为关注的焦点。目前,一种新的无线通信技术引起了人们的关注,这就是所谓的ZigBee技术。ZigBee技术的出现,正好满足了传感器网络低端的、面向控制的、应用简单的专用标准。ZigBee以其高通信效率、低复杂度、低功耗、低速率、低成本、高安全性以及全数字化等诸多优点,使其和无线传感器网络完美的结合在一起。目前,基于ZigBee技术的无线传感器网络的研究和开发已经得到越来越多的关注。

2 ZigBee技术简介

ZigBee技术是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术,主要适合于自动控制和远程控制领域,可以嵌入各种设备中,同时支持地理定位功能。

它弥补了低成本、低功耗和低速率无线通信市场的空缺,其成功的关键在于丰富而便捷的应用。它依据IEEE802.15.4标准,在数千个小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器到另一个传感器,所以它们的通信效率非常高。

ZigBee技术的应用前景被非常看好。ZigBee在未来的几年里将在工业控制、工业无线定位、家庭网络、汽车自动化、楼宇自动化、消费电子、医用设备控制等多个领域具有广泛的应用前景,特别是家庭自动化和工业控制,将成为今后ZigBee的主要应用领域。

3 无线传感器网络的开发设计

基于IEEE标准和ZigBee协议的无线传感器网络由STIM、ZigBee和NCAP三部分组成,在IEEE的结构模型上用无线接口取代了有线的TII接口,通过在STIM和NCAP中嵌入ZigBee模块,采用ZigBee协议实现了STIM和NCAP之间的无线数据传输。

3.1 系统硬件总体设计

无线传感器节点执行数据采集、处理和通信等工作。ZigBee技术将终端从器件上分成两类。一类是全功能器件FFD,它拥有足够的存储空间来存放路由信息并且处理能力也相应增强,它承担了网络协调者的功能,可以同网络中的任何设备通信,可存在于任何拓扑结构中。另一类是简化功能器件RFD,它内存较小,功耗低,不能作为网络协调者,只能与FFD通信,实现简单,多用于星型拓扑结构中。全功能器件主要起到网关的作用,而简化功能器件是最基本的传感器节点,用来捕获数据信息并传递给其范围内的网关节点。

整个网络由若干终端设备和监控中心组成,网络采用星型拓扑结构,监控中心由1台计算机和多个协调器组成,协调器是一种实现一组很多ZigBee服务的FFD,负责与所控制的子节点通信、汇集数据和控制或起到通信路由的作用。设备节点可以是FFD或RFD,RFD是最简单的ZigBee节点,只实现一组最少的ZigBee服务。

数据采集模块主要负责监测区域内信息的采集并将各种传感器采集的信号转变为数字信号并送给微处理模块;微处理模块负责控制整个节点的处理操作、路由协议、同步定位、功耗管理、任务管理等,最主要的是需要实现网络安全可靠的通信协议;无线通信模块负责与其他节点进行无线通信,交换控制消息和收发采集数据;电源模块管理单元选通所用到的传感器。通过通用接口实现附加功能与系统核心模块相分离,降低系统复杂性并可根据实际应用添加不同类型的传感器。

3.2 系统软件总体设计

ZigBee系统软件的开发是在厂商提供的ZigBee协议栈的基础上进行的,这涉及与传感器的配合以及网络架构等方面的问题。ZigBee协议栈分为有偿和无偿两种。目前世界上最大的两家ZigBee芯片提供商TI和Freescle都推出了符合各自生产的ZigBee芯片的协议栈。

当一个无线传感器网络形成之后,节点一般处于休眠状态。而当某个节点在一个随机时间醒来或被某事件唤醒后,其第一个步骤就是搜索其通信范围内已存在的网络。如果找到网络,本节点将根据所获得的网络信息选定一个父节点并提出入网申请,同时等待父节点的请求响应。此时如果没有找到任何网络,节点将申明自己为PAN网络协调器并建立网络,并作为父节点接收入网申请。当父节点收到一个入网申请后,将根据请求信息作出是否允许加入网络的判断,若允许加入,父节点将发出请求响应并告知子节点。子节点收到请求响应后,将获得父节点分配给它的一个网络地址(也称为短地址)作为网络内唯一的身份标识。至此,节点将成功加入网络。加入网络后,节点将作为协调器广播信标帧,同时接受新节点的入网请求。这样,通过一级一级的短地址分配,传感区域内的所有节点将组成簇树的网络拓扑结构。

簇树结构的无线传感器网络中的所有节点均为FFD。任何一个节点都有建立网络的能力,建立网络的节点及PAN网络协调器对应着无线传感器网络中的网关节点。其它协调器可作为子节点加入网络,并具有加入其他未入网节点的能力,每个节点都具备路由和数据转发功能。在节点入网的过程中,相互通信的一对节点构成父子关系,已经加入网络的节点称为父节点,另一个节点称为它的子节点。

3.3 系统测试总体设计

系统测试分为硬件测试和软件测试两种方法。硬件测试包括:射频部分测试、ADC测试、温度传感器测试、UART测试、时钟模式测试、随机数测试、加密解密测试、直接存储测试、电源模式测试、时钟中断测试和外部中断测试等,其中,射频部分测试是最为重要的部分。软件测试是将插上带有射频控制模块的监控设备通过USB接口连接到计算机后,配合使用一些列工具软件实现一台ZigBee数据协议分析仪的功能。

参考文献:

zigbee协议篇9

关键词:ZigBee 智能家居 无线传感网

中图分类号:TN925 文献标识码:A 文章编号:1672-3791(2014)06(a)-0010-01

近年来,随着智能设备的普及和移动互联网的发展,无线网络得到了快速发展,在此过程中也出现了各种无线网络数据标准,如WiFi、Wireless usb、Bluetooth、Z-wave等,不同的协议标准对应着不同的应用场景和应用领域。同时,无线传感网络的发展和研究也得到了快速发展,各种无线传感网络协议标准也日渐规范化。其中不得不提的,广泛应用并且最具增长潜力的协议就是ZigBee协议。

1 什么是ZigBee技术

ZigBee技术是一种面向短距离、架构简单、具备延长电池寿命、低消耗功率与低传输速率的无线通讯技术,具有传输距离长、可靠度高、省电以及高度扩充性等特点,主要适合用于自动控制和远程控制领域,可以嵌入各种设备。

2 ZigBee的技术特点

2.1 低传输速率

Zigbee标准是为低数据率、短距离无线网络通信定义的一系列通信协议。基于Zigbee无线设备工作在868 MHz,915 MHz和2.4 GHz频段,最大数据数率是250 kpbs。

2.2 低功耗

由于ZigBee的传输最大数据数率是250 kpbs,发射功率极低仅为1 mW,再加上采用了休眠模式,功耗低,因此,ZigBee设备非常省电。据估算,在低耗电模式下,一个ZigBee设备节点仅靠两节5号电池就可以维持长达6个月到2年左右的使用时间。

2.3 低成本

通过大幅简化协议(不到蓝牙的1/10),降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32 KB代码,子功能节点少至4 KB代码,而且ZigBee免协议专利费。低成本对于ZigBee也是一个关键的因素。

2.4 近距离

ZigBee传输范围一般介于10~100 m之间,在增加RF发射功率后,也可以增加到1~3 km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。

2.5 短时延

ZigBee的响应速度较快,一般从睡眠转入工作状态只需15 ms,节点连接进入网络只需30 ms,进一步节省了电能。相比较,蓝牙需要3~10 s、WiFi需要3 s。

2.6 高容量

ZigBee可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254个子节点,同时主节点还可由上一层网络节点管理,最多可组成65000个节点的大网。

2.7 高安全性

ZigBee提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL)防止非法获取数据以及采用高级加密标准(AES128)的对称密码,各个应用可以灵活确定其安全属性。

3 ZigBee技术的应用场景和应用领域

3.1 智能家居

智能家居是利用先进的计算机技术嵌入式系统和网络通讯技术将家庭中的各种设备如照明系统环境控制安防系统网络家电通过家庭网络连接到一起。

据最新数据显示,2013年智能家居全球市场规模或已达1万亿美元,到2020年,中国智能家居产值将会达到2万亿元。与此同时,ZigBee网络技术的发展和成熟,为智能家居设备的应用提供了环境基础,智能家居需求呈上升势头。

智能家居是ZigBee无线网络的一个主要应用领域,智能家居中典型的数据速率仅有10 kps。例如ZigBee抄表系统,不但可以传输每月的水电使用数据,同时检测设备存在的问题,实现对设备的无线管理。如果壁灯和开关都配备了ZigBee设备,那么,室内的任何开关都可以被指派来打开和关闭一盏电灯。

ZigBee智能家居的安装非常简单,不要凿壁布线,用户按照说明书在家就可以就地DIY,且设备移动性强,可以随时更换设备安装地点。

随着全球对能源和环境的要求越来越高,而ZigBee在智能家居节能方面的效果优势非常明显,因此,具有非常广阔的市场前景。ZigBee无线通信技术应用到智能家居中必将成为将来的发展趋势和潮流。

3.2 智能医疗

为节省全球人口高龄化所衍生的医疗成本支出,减少民众亲自到医疗院所进行例行性的检查已成为解决之道,而此须依靠内置无线通信技术的新型医疗设备来实现。在众多可打造远程医疗设备的无线通信技术中,ZigBee以低功耗、高传输距离,以及较佳的抗干扰能力备受青睐。

在国内,随着移动互联网、大数据的快速发展,医疗的各个细分领域如诊断、监护、治疗等都将进入智能化时代。其中病人远程监护和居民健康监察是重要的应用场景。家庭医疗用设备的数量将会大幅成长,并远超过目前既有的数目。另外,由于无线连接功能逐渐嵌入到目前许多家用的医疗监控与感应产品中,这使得若干原本只存在于医疗用或长期照护机构内的功能,也逐渐通过无线功能进入到家庭当中,这样的转变增加无线传感技术新的市场机会。对于低数据传输率、抗噪声能力、低功率感应及监控网络的需求而言,ZigBee仍会是首选解决方案。

3.3 工业控制

ZigBee网络的初衷就是为工业现场自动化控制数据传输而建立的,在工业级水平上,ZigBee网络可以用于能源管理、照明控制、过程控制和资产管理。

在工业控制领域,这些应用场景对低数据率、低成本、更长时间的电池寿命有较高的要求。ZigBee技术的优势得以充分的发挥。在一些ZigBee应用中,无线设备持续处于活动状态的时间是有限的,大部分时间无线设备都处于省电模式,ZigBee设备在电池需要更换以前能够工作数年以上。

4 展望

早在2004年ZigBee技术就被列为当今世界发展最快,市场前景最广阔的十大最新技术之一。ZigBee技术的目标就是针对工业,家庭自动化,遥测遥控,汽车自动化、农业自动化和医疗护理等领域。ZigBee非常适合于低功耗、低数据速率的监视、传感网络。但是任何一种技术的成功,并不只由其技术本身的因素决定,市场对技术成败也有很大作用。即便如此,今后若干年,都将是ZigBee技术飞速发展的时期。

参考文献

zigbee协议篇10

关键词:ZigBee 无线网络 结构

中图分类号:TP393.03 文献标识码:A 文章编号:1674-098X(2013)05(c)-0029-01

1 ZigBee的由来

随着物联网技术的发展,成百上千个传感器之间的如何通信变得越来越重要,短距离无线通信技术成为一个重要的解决方案。目前,短距离无线通信方式有蓝牙、红外线、NFC、Wi-Fi、ZigBee而ZigBee无疑是最适合的通信技术。蜜蜂一旦发现花粉,就会用飞翔和抖动翅膀的方式来向同伴说明花粉所在的位置、距离、方向等信息,因此,每一个蜜蜂成为通信点,最终构成一个群体的通信网络。这就是ZigBee名称的由来,是未来最具市场前景的无线通信技术。

ZigBee无线网络就是IEEE 802.15.4协议网络,它由四层网络体系结构组成,分别为物理层、数据链路层、网络层、应用层。

1.1 物理层

主要负责无线信号频段、功率设置,数据的发送与接收。使用频段共有三个,公共自由频段2.4 GHz,868 MHz和915 MHz分别分配给欧洲和美国使用。

1.2 数据链路层

数据链路层可以细分为逻辑链路控制层和介质访问控制层,逻辑链路层主要提供数据包的分段、重组、传输顺序服务,并为数据传输的可靠性提供保障。介质访问控制层主要负责无线传输线路的建立、维护和拆除,信道控制、帧校验等管理。

1.3 网络层

主要负责网络节点的加入和离开,路径设置,网络拓扑结构的建立,并进行安全密钥的设置。

1.4 应用层

为用户提供各种实际运用服务。

2 ZigBee协议的特性

耗电量小。针对无线网络供电困难问题,减少网络节点的工作周期、降低数据收发的功率、自动切换休眠状态(ZigBee在不工作时,自动进入休眠状态,传送数据时,自动唤醒),因些在正常情况下,普通电池可以供电12个月左右。

可靠性高。使用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)[1]机制,当客户端发送数据后,只有等到服务端返回确认信号后,数据才算发送成功。

成本低。由于协议设计简单,普通8位处理器,4kbyte ROM就可以满足要求,研发成本也可以降到最低。

网络节点容量大。最多可支持255个设备进行通信。

安全性高。协议采用了AES128加密算法,提供数据鉴别功能和完整性验证。网络节点之间的通信都必须通过加密进行收发。

3 ZigBee的网络设备

在ZigBee网络中共有以下几种节点类型

终端节点ZED(ZigBee End Device)它是网络的未端节点,内存小,功耗低、可以进行睡眠和唤醒状态的切换,只进行数据的接收和发送。

协调节点[2]ZC(ZigBee Coordinator)启动后进行网络的配置(信标、信道、频段、网络地址分配等),管理其它网络设备的加入,并实现相应的路由功能。

路由节点ZR(ZigBee Router)当其它节点节点加入后,重新计算路由信息,添加相关节点的路由信息,实现网络节点间的通信。

针对节点的功能不同,可以将网络设备进一步简化,可分为FFD(full-function device)、RFD(reduced-function device),RFD只负责接收或发送来FFD的信息,相对功能简单,可以节省掉部分内存和电路,从而降低硬件成本,只需简单的8位处理器就可以实现功能。

FFD具有充足的存储容量来存放路由信息,数据处理控制能力相较强,可以担任网络ZC或ZR,构成网络,从而让其它设备加入,继承802.15.4协议的所有功能特性。

4 ZigBee网络拓扑结构种类

4.1 星型拓扑结构

星型网络是由一个ZC或ZR和一个或多个ZED节点组成。在星型结构中FFD设备即作为ZC设备,又作为ZR设备。它负责整个网络的搭建与管理,上电后,开始检测网络环境,确定自己的频段,设定自己的信道,统一定义整个网络的标识符,最终完成网络的组建。在完成组网后,ZR通过计算,生成相应的路由表,确定到达各个末端结点的路径。而其它节点都为RFD设备,分部在ZC周围,直接由ZC负责与它们进行管理和通信。ZigBee星型拓扑结构受无线距离影响,这种结构运用的比较少。

4.2 树型拓扑结构

它是以ZC为中心,向一个方向延伸出多个中间节点ZR和多个末节点ZED,所有的叶节点是RFD设备,根节点(ZC)负责整个网络的构建。由于到叶节点的信息传输,只有一条路径,而一旦线路破坏,信息就无法传输,因此,网络稳定性不佳。在数据传输量不大,需要一定的传输距离的,可以选择树型结构。

4.3 网状拓扑结构

网状拓扑结构可以自由组网,因此具体很强的适应环境能力。在网络中只要是在ZR可以通信的范围内,都可以添加设备,因此,该结构是无序的复杂网络结构,网状拓扑通过不断添加ZR来增大网络的覆盖范围。由于网状结构,是自由组网,路由表必须是在不段的更新当中,网络传输质量受链路状态、路由选择算法[3]影响较大。适用于网络复杂的场合。

参考文献

[1] 彭燕.基于ZigBee的无线传感网络研究[J].现代电子技术,2011(5).