zigbee协议范文
时间:2023-04-05 03:03:39
导语:如何才能写好一篇zigbee协议,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
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.
篇2
关键词:无线网络分析器;ZigBee;802.15.4
短距离无线网络市场正呈爆炸性增长。In-Stat称,通过ZigBee协议规范和其他专有协议,到2009年IEEE 802.15.4无线个人局域网(PAN)的市场可实现200%的增长,年发货量将超过1,5000万单位。
对于无线设计人员而言,目前有许多射频(RF)收发器和ZigBee协议栈可用来在应用中实现ZigBee协议功能。无论选择了哪种收发器和协议栈,设计工程师都应该查找能够帮助他们快速评估和开发ZigBee协议应用的设备和工具。若已确定ZigBee协议的复杂度,那么设计人员也需要使用合适的开发工具来帮助他们设计和调试应用程序。
有多个无线网络分析器或“嗅探器”可供使用。在您首次:开始无线开发时,获取一个无线网络分析器是一项关键性投资,可为您免去许多麻烦。有些分析器具有图形界面,而有些分析器则具有更为基于文本的界面。请确保选择的分析器具有易于阅读的界面。在以下示例中,我们将使用Microchip的ZENA无线网络分析器,它采用图形的格式显示消息。但是不管您选择了哪种分析器,能够快速解密ZigBee协议消息的密钥部分将有助于您高效地开发和调试系统。
网络构成
设备加入ZigBee协议网络时出现的消息会告诉我们许多关于网络的信息。当设备试图加入一个网络时,它会发出一个信标(beacon)请求。邻近的协调器或路由器通过发出信标作出响应。新设备将选择一个信标,然后向该设备发送一个关联请求,请求加入网络。在一段短暂延时后,新设备发送一个数据请求,请求响应。网络设备则发送一个关联响应,指示该新设备是否已被网络接受。这些消息显示如图1。
第一条消息来自于新设备,用于请求信标。后两条消息是信标。我们可以从这些信标中知道一些关于设备的有用信息。首先,我们可以知道第二条信标来自于协调器,因为其源地址为0x0000且信标有效负载中指定的深度为0。第一条信标来自于路由器,因为其源地址非零。我们也可以知道此路由器会通过该协调器加入网络,因为它在同一个网络上(源PAN是相同的)且信标有效负载“深度”为1。我们还可以知道在应用层,这两个设备都将接受新设备加入网络,因为超帧规范“Assoc”位被置1。但是,如果我们查看信标有效负载,我们可以看到协调器不能接受任何其他路由器或终端设备加入网络,因为“RtrCap”和“DevCap”位均为0。同时,路由器仍然可以接受路由器和终端设备。
在第四条消息中,新设备已决定试图加入网络。通过检查关联请求的目标地址,我们可以知道新设备正试图加入哪个网络设备――路由器。关联请求可告诉我们关于新设备的许多信息。其关键元素是“Dev”和“RxOn”位。“Dev”位指示设备正试图作为终端设备加入。而且,可以知道此设备将总是保持其收发器开启,因此其父设备不必为其缓冲消息。此位对于以后的通信很重要。如果“RxOn”设置:为关闭,那么其父设备将认为新设备保持其收发器关闭,它将为新设备缓冲消息。如果新设备从未请求消息,那么父设备也从不会发送消息给它!
最后,我们可以看到关联请求成功。现在我们在网络上有了一个新的FFD(全功能设备)终端设备,其短地址为0x1AF9。
应答的发送
ZigBee协议是一个高度应答的协议。有三个应答级别:MAC(介质访问控制)、APS(应用子层支持)和AF(应用框架)。这不但提高了系统的可靠性,也使我们在发生问题时能够识别故障所在。在图2中,设备0x0001正告知设备0x0000来使用应答的所有三种级别将属性设置为指定值。
第一条消息是发送给设备0x0000、要求设置属性的命令。接下来是一条短MAC应答,指示接收设备的收发器正确接收消息,通常可由收发器自动生成。ZigBee协议指定所有消息必须请求MAC应答。在第一条消息的APS帧控制字段中,有一个位指示是否请求了APS应答。如果该位置1,那么接收方ZigBee协议栈的APS层将自动生成一条APS应答,如第三条消息所示。此应答指示目标设备的协议栈接收到了消息。APS应答还将生成另外一条MAC应答,如第四条消息所示。
查看第一条消息的事务解码,我们将看到使用了“Set with Acknowledge”命令。这是一条发送给应用层的指示,应用层必须使用“Set Response”命令对该命令进行应答,如第五条消息所示。此应答指示应用层接收到了消息,而且在将属性设置为请求的值时,发送的错误代码将指示是否存在任何问题。AF应答将生成另外一条MAC应答,如第六条消息所示。此外,发送的AF应答带有请求的APS应答,这将生成第七和第八条消息。这些多层应答会产生相当大的数据流量;但是如果消息链中出现中断,我们将更容易定位问题,如表1所示。
拓扑问题
当开发了无线网络系统之后,无线网络分析器可以帮助进行安装和拓扑分析。一些无线网络分析器,如ZENA无线网络分析器在内,当消息经由网络的时候都能够以图形的方式显示数据流量。设备以圆形节点表示,而消息则以连接到节点的线表示若装载了描述物理布局的位图,则拓扑问题将清楚得多。
假设有一个网络,它有四个设备、一个协调器、两个路由器和一个FFD终端设备。尽管所有设备都是全功能设备,还是可以从数据包分析中看出,FFD终端设备和任一路由器之间的消息是通过另一个路由器发送的。如果打开“NetworkConfiguration Display”(网络配置显示)窗口,装载描述性位图,并将节点拖到描述其物理位置的位图上的相应位置时,那么可以很快地看出发生了什么。图3显示了“Network Configuration Display”窗口,其中网络流量有问题。我们可以看到有两个设备彼此都不在对方的射频范围内,很有可能是由于建筑物内的隔墙造成的。消息必须经过另一个设备路由才能到达其目标设备。因此,尽管这种情况一开始有点糟糕,但现在可以看出系统行为与预期设想完全一致。
注意,一个“嗅探器”可能无法看到网络上所有节点。为了观测所有网络流量,可能需要获得来自不同位置的多个消息捕获,或者使用位于不同位置的多个“嗅探器”。
篇3
【关键词】输电线路;微气象;ZigBee技术;IEC-60870-5-101规约
1.概述
目前,电网输电网络发展越来越迅猛,分布也日益广泛,但输电网络受到的威胁也越发严重,输电线路的安全维护成为各个国家关心的首要问题。在输电线路安全运行上,微气象因数因为地方差异性大、变化细微等特点造成的影响尤其严重。在一些山区,环境恶劣,输电线路的覆冰等现象极易发生,不及时采取措施,就会出现电气设备故障、杆塔倒塌等危害,造成大面积断电现象,产生巨大的直接或间接经济损失。现在,世界大部分国家都在研发和推广电网输线路的实时微气象无线监测技术。
无线数据通信技术蓬勃发展,无线组网通信发展迅猛,这些技术满足了电网工作人员对输电线路微气象信息随时随地地获取和交换的迫切要求。在复杂的电网环境中,分布广泛的微气象传感器需要通过无线数据传输系统形成网络体系,达到好的电网运行环境监测效果。
ZigBee,蓝牙,无线局域网,超宽频短距离无线传输到无线通信技术实现集成监控系统,其中ZigBee无线通讯协议更加适合输电线路微气象无线监测,ZigBee技术低速率和低功耗的特点使监测系统的前端数据收集部分需要的供电更少,这样监测设备工作更持久。本文针对ZigBee技术相关原理和输电线路微气象监测系统中ZigBee无线通讯协议的实现进行研究。
2.ZigBee技术
ZigBee无线组网通信技术的成本要求低,工作时电量需求不高功耗小能长时间[1]。IEEE802.15.4是ZigBee的基底,这种准则是IEEE PAN工作组里的一个标准。多信道的无线通讯设备和微控制器(MCU)是ZigBee的中心装置,它们在芯片上进行集成拼装。对需要相互沟通,相互交流,不同功能的无线网络节点,需要确保节点之间的信息的网络传输正常准确,即网络需要的标准,ZigBee就是依此而来的一种国际标准。
在输电线路微气象监测中,各个前端传感器要像一张大网一样相互连接,任意节点间可以相互进行通信,这种复杂的网络管理需要大量软件代码,但代码的ZigBee网络的实施是国标化机构和ZigBee联盟帮助下进行的,完整的机制,并提供源代码的软件库。因此我们使用ZigBee技术的无线监控系统的设计,安装方便,ZigBee无线网络可以使用便宜的电池就可连续工作很长时间,经济实用,降低传感器应用的安装和使用维护成本。同时,ZigBee分布式系统的帮助下,我们可以获得更准确,更具体的信息,信息可以覆盖到GPRS不到的区域。在通常的网络结构中,当一个节点出现故障会导致整个网络无法工作时,ZigBee的系统可以进行自我的调节并寻找代替方案[2]。在输电线路网络中某个微气象信息监测点出现问题时,无线自组织网状网络通过避开这个监测点,数据就能通过其他途径进行继续传递,保障监测系统可以正常工作。
3.ZigBee的协议体系
输电线路微气象无线监测系统的通信部分是根据IEEE802.15.4标准及ZigBee协议构建的。无线媒体接入控制层(MAC层)使用冲突避免机制。在数据传输机制充分证实,当有数据传输要求立即发送时,每个发送的数据包必须等待接收,如果没有消息的答复,表明碰撞发生需再发送。这样提高了微气象信息传输的可靠性,保证电网工作人员在接收到微气象信息后可以做出准确的处理措施[3]。
ZigBee协议栈构造并不复杂,实现起来很容易,并不需要其他特定的器件来组成,这样芯片的整个花费不高很经济。ZigBee协议栈体系基于标准的七层开放式系统互联模型,针对涉及ZigBee的层加以定义。
3.1 物理层
启动和停止能量检测,无线收发信器,信道选择,链路质量指示,空闲信道评估,数据的发送和接收是IEEE802.15.4物理层来做的工作。对IEEE802.15.4三频带物理层划分为27信道。同步头(SHR)授权接收装置同步和位流锁,物理层帧头中包含的信息帧的长度,有效负载部分三部分构成的物理层协议数据单元(PPDU)[4]。
3.2 MAC层
在概念层面上,MAC层还包括其管理实体和管理服务的接口;同时,也负责MAC和泛信息库的维护(MAC PIB)。MAC公共部分子层和MLME-SAP两个服务后PD-SAP和PLME-SAP物理层提供了一个连接之间的特定服务会聚子层和物理层。同时,一个内部的连接通道存在于MAC公共部分子层和作为独立于MAC层之外的实体之间,用于后者调用MAC的数据服务。
3.3 网络层
网络层包括两个服务实体,分别是网络层数据实体和网络层管理实体。在NLME中,应用程序可以与协议栈间进行交互。通过网络层服务访问点(SAP)提供了两种服务网络数据服务和网络服务管理。目的MAC地址及目的PAN标志应设置回路由请求命令帧的第一跳的网络地址和泛识别路径开始,该目的PAN标识应与相应路由请求命令发起设备的PAN标识相同。源MAC地址和源PAN标识应分别设置为发送路由应答命令设备的地址和PAN标识,该发送设备不一定是路由应答命令的发起设备,而只是转发设备。帧控制字段的设置应制定该帧为MAC数据帧并禁止MAC安全处理,因为NWK层发起的任何安全帧都应采用NWK层安全处理。在MAC帧的发送选项中应指定该帧要求确认。地址模式和PAN内标识位应支持地址字段的相应设置[5]。
3.4 应用层
IEC60870-5-101规约的实时数据传输利用网络数据交换数据而不是以往的串口传递的传统方式,这样就是整个通信系统网络更加的稳定可靠,成本也更低。
BZT发生动作时,动态信息主动上传到监测中心,此时,101规约的传送原因单元数据为0x03(突发信息);当监测中心召唤BZT信息时,监测中心发出召唤报文的信息体标识被定义为数据类别,信息体元素被定义为终端设备号,这是101规约在该装置中的特殊应用。例如,监测中心召唤02#设备的遥信量,则召唤报文的信息体单元数据为0x90(遥信量)0x00 0x02(2#设备)。
报文举例
召唤1#开闭所内的1#BZT设备的遥信量信息报文如下:
68 09 09 68 8B 01 64 01 05 01 90 00 01 88 16
响应报文如下:
68 0A 0A 68 28 01 28 8D 14 01 90 01 C0 00 44 16
带下划线的数据内容为信息体元素,召唤报文中代表设备号,响应报文中代表遥信量信息。3个16进制数最多携带24个遥信量。
4.微气象监测中心部分
微气象无线通信部分将前端数据采集部分的信息传递给终端的监测中心,由处理分析数据单元,存储数据单元,人机交互单元组成数据分析处理部分。电网工作人员可以通过微气象主站监测软件提供友好的上位机界面进行数据分析处理,同时工作人员还随时获取任意采集点的微气象信息,存储、统计与分析采集到的数据,并将所有数据通过曲线等方式直观的显示出来。其中,为了得到很高的开放性和互连性,上位机软件采用SQL SERVER数据库和MFC。为了使监测人员能够防患于未然,通过面向对象的编程技术编写的查询和系统监控软件统计,风速,风向,湿度,温度和其他相关的微气象信息能够得到及时的处理,确保了输电网络的安全运行。
5.结语
输电线路微气象无线监测需要安装大量的前端微气象信息收集处理装置在电网的各个关键部位,这样就要求监测系统装置的安装、信息的传递等部分需要设计的十分经济。以往的信息传输通信协议部分大部分采用通用分组无线服务技术GPRS,这种移动通信网不仅是有偿使用而且建立的移动基站价值一般都十分昂贵,而ZigBee这种短距离无线通信不需要申请无线频道,“基站”的建造也很廉价。
相对于其他通信技术,ZigBee针对特定的用途环境追求的是低速率、近距离,从而使设备的价格也十分低昂。输电线路的微气象信息并不是很庞大的数据,通过ZigBee传输的速度就已经够用,起到了经济实惠的目的。在监测设施中,通过多跳通信链路使短距离的ZigBee通信距离大幅度提高,并避免了因长距离传输导致的信息失真,保证了微气象信息的准确传输。由于由于电网的监测点多在野外等环境条件恶劣处,监测系统采用太阳能电池板和蓄电池相结合的方式,前端设备的用电需求就要得到控制,对于传输速率和数据量小的ZigBee节点,它的功耗非常低,耗电量小,能确保监测设备能够长时间稳定工作。通过ZigBee无线通讯协议在监测系统上的实现,分布在电网线路上的监测点上限可以得到扩展,更全面的监测输电线路网络各点的微气象信息,保证电网的运行安全。
作者简介:
篇4
ZigBee Gateway是ZigBee联盟推出的第十个应用标准,是一个沟通IP网络与ZigBee网络之间的桥梁。介绍了ZigBee Gateway的概念、性能、架构、功能等方面的内容,最后指出ZigBee Gateway可以帮助开发商、制造商缩短产品整体开发时间,并降低开发风险,免去使用定制或专用解决方案的必要,减少开发和制造成本。
【关键词】
ZigBee网关 IPHA ZigBee协议栈 ZGD
中图分类号:TN92 文献标识码:A 文章编号:1006-1010(2013)-18-0048-06
ZigBee Gateway for Wireless Sensor Networks
LV Ran, CHEN Chuan-hong
(Mobile Communication National Engineering Research Center, Guangzhou 510310, China)
[Abstract]
ZigBee Gateway, the 10th standard announced by the ZigBee Alliance, is a bridge between IP network and Zigbee network. This paper introduce the concept, performance, architecture and function for Zigbee network, and demonstrates that Zigbee shortens the time and the risk of R&D rather than customized or special solution.
[Key words]
ZigBee Gateway IPHA ZigBee protocol stack ZGD
*基金项目:2011年度广东省中国科学院全面战略合作项目-基于物联网的中老年关爱救援系统的关键技术研究及应用(2011A090100025)
收稿日期:2013-08-06
1 引言
随着宽带接入的普及和智能家居系统、远程健康跟踪/监护系统等的兴起,网关设备具有很大的潜在市场空间。
目前许多公司都开发了各自的网关产品,如家庭网关等,然而要开发出更多复杂的和具有兼容性的网关,迫切需要制定相应的网关标准。
ZigBee技术是一个具有统一技术标准的短距离无线通信技术,其物理层(PHY)和介质访问控制层(MAC)协议基于IEEE802.15.4协议标准,网络层(NWK)和应用层(APS)由ZigBee联盟来制定。为了更方便地控制ZigBee无线传感器网络,让各无线节点设备间有序、高效地工作,有必要将已经非常成熟的基于TCP/IP技术的以太网与ZigBee无线传感器网络相连通,从而实现通过以太网来控制ZigBee无线传感器网络。
2011年7月28日,ZigBee联盟宣布推出的第十个标准ZigBee Gateway(简称ZigBee网关),是ZigBee Network Devices(网络设备)这一新类别的首个标准。ZigBee网关提供了一种简单、高性价比的互联网连接方式,使服务提供商、企业和个人消费者可以将各种类型的ZigBee无线传感器网络连接至互联网,同时还提供了面向消费者设计的各种云和智能电话服务的使用权。
2 ZigBee Gateway概述
2.1 ZigBee技术介绍
ZigBee是基于IEEE802.15.4无线标准研制开发的关于组网、安全和应用软件等方面的技术标准,ZigBee的基础是IEEE802.15.4协议架构,如图1所示。IEEE802.15.4是IEEE无线个人区域网(PAN,Personal Area Network)工作组的一项标准,是一种经济、高效、低数据速率(250kbps),采用直接序列扩频(DSSS,Direct Sequence Spread Spectrum)技术,工作在2.4GHz和868MHz(欧洲)/915MHz(北美)的无线短距离技术,用于个人区域网和对等网状网络。
ZigBee联盟在IEEE802.15.4物理层、MAC层的基础上,对其网络层协议和应用程序接口(API)进行标准化,并对安全层进行开发。完整的ZigBee协议套件由高层应用规范、应用会聚层、网络层、数据链路层和物理层组成,应用汇聚层是把不同的应用映射到ZigBee网络上。多个ZigBee节点设备可以构成一个无线个人区域网,在这个网络中主协调器可以对各个节点设备进行控制。
随着ZigBee无线网络技术的广泛应用,如何通过现有网络基础设施(如Internet网)对其进行远程管理、控制,逐渐成为该领域的重要研究课题。
2.2 ZigBee网关简介
ZGD(ZigBee Gateway Device,ZigBee网关设备)作为ZigBee无线传感器网络的一部分,在整个无线网络中具有唯一性,所有无线节点设备数据均发送给网关,并由其进行地址、协议转换后发送给以太网;反之,以太网数据也需由网关进行地址、协议转换后,才发送给ZigBee无线传感器网络。总的来说,ZigBee网关是ZigBee无线传感器网络与以太网数据交换的中转站。
一个连通ZigBee无线传感器网络和以太网的网关应该解决以下问题:
(1)能与ZigBee无线传感器网络中的各节点设备进行通信,同时控制、协调无线传感器网络间的通信;
(2)能通过以太网接口与计算机实现有线通信;
(3)为了实现ZigBee通信,需要相应的底层驱动程序协议栈;
(4)具备与无线传感器网络中的新节点建立动态链接的能力。
自2002年ZigBee联盟成立以来,多家国际巨头公司参与到其标准的制定和应用推广,如今在智能家庭、工业控制、医疗健康监护和电信应用领域都有大量的应用。ZigBee联盟为制定Gateway的协议,于2004年2月成立网关工作小组,专门负责Gateway堆栈协议的制定与标准化。Gateway的首要目标,是建立IP网络的应用端与ZigBee网络之间的通信管道,整合ZigBee堆栈的服务,实现跨网络与服务的存取。
根据ZigBee联盟公布的标准规范文件,作为一个沟通IP网络与ZigBee网络之间的桥梁,ZigBee Gateway必须要满足以下最低限度的要求:
(1)ZCL(ZigBee Cluster Library,ZigBee簇库)的读、写属性,能够设定回报事件;
(2)提供ZDO(ZigBee Device Objects,ZigBee设备对象)针对网络搜寻与服务发现的宏操作;
(3)服务应用端点的管理;
(4)Gateway基础数据(Information Base)的存取;
(5)寻址ZGD's AIB、NIB和PIB属性;
(6)灵活地启动和网络连接操作;
(7)能够直接控制ZigBee的安全操作;
(8)ZGD与应用服务端(IPHA)的双向通信机制。
ZCL是ZigBee联盟根据各种应用制定的功能标准化的集合,可视ZCL为根据不同的应用功能而制定,是属于ZigBee堆栈应用层之上的协议,提供了传送各种属性值改变的一种机制、配置传送参数的命令。所以ZCL相关的操作,简单来说,就是支持应用层级制定的通信命令的操作,若厂商须自定义一个应用层级的沟通接口,就会使用到ZCL相关的操作。
ZDO则是属于ZigBee堆栈(ZigBee Stack)的一部分,提供ZigBee相关的服务,如装置与服务发现(Device and Service Discovery)、安全管理(Security Manager)、网络管理(Network Manager)、绑定管理(Binding Manager)与节点管理(Node Manager)。
通用的ZigBee网关部署示意图如图2所示:
ZigBee网关设备利用基于TCP/IP的主机应用程序,提供了一个通信传输通道连接到ZigBee个域网(ZigBee PAN)。该机制能使外部应用与单独的ZigBee节点互通,实现控制或获取节点的数据,反之,节点也能与外部应用进行互相通信。
网关的一端根据ZigBee协议栈和IEEE802.15.4介质访问控制层特性在服务访问程序(SAPs)上提供二进制编码远程程序调用API,另一端在UDP(User Datagram Protocol,用户数据报协议)传输层,通过特征引擎提供基于个域网的图形化显示,用户能以Web浏览器方式与树状节点交互。
ZigBee网关的基本功能是将基于TCP/IP协议的网络与基于ZigBee协议栈的数据进行转换,实现数据在两个协议之间的双向传输,从而可以将基于常用的以太网的数据发送到ZigBee网络中,也可以将ZigBee网络中的数据发送到以太网中,在无线传感器网络和以太网之间搭建一条数据传输通道。
消费市场细分要求提供廉价的ZigBee网关设备,因此ZigBee网关规范要确保最小需求的功能特征集和计算复杂性,为大多数家居/消费应用提供令人信服的功能。但实现一个最小限度的ZigBee网关可能会增加主机应用程序的复杂度。
相比之下,商业、工业等企业应用可能要求ZigBee网关设备具有丰富的功能,可用典型的环境协议访问。因此,ZigBee网关设备规范要确保可选特征集和功能,提供一套不以计算复杂度为限制的功能。但一个功能丰富的ZigBee网关设备有可能降低主机应用程序的实现复杂度。
3 ZigBee Gateway性能
ZigBee Gateway支持下列性能:
(1)核心IP,兼容IPv4或IPv6连接
1)IP安全域;
2)配置;
3)IP RPC(RemoteProcedureCall,远程过程调用)协议定义;
4)网络地址和端口转换(NAT)/防火墙穿越;
5)兼容IETF、W3C和其他现有的基于IP的标准(SOAP,REST)。
(2)提供广泛的ZigBee/IP应用程序的支持,且支持所有配置要求(通用)
1)公共配置文件的ZigBee网关能将ZigBee网络连接到IP网络;
2)专用配置文件的标准网关设备将专用的ZigBee网络连接到远程应用程序。
(3)可升级,可扩展
1)分层规范使其成为低成本、强大的网关;
2)网关框架扩展。
4 架构和功能
4.1 架构
网关的架构示意图如图3所示。
通过GRIP、SOAP、REST绑定,IPHA或网关在IP网络上通过远程过程调用(RPC)相互通信。其信息交换是请求-响应格式,每个设备都能发出请求和接收响应。IPHA发出到网关的请求指令在网关执行,且通过网关的无线接口寻址ZigBee节点,在远程节点上执行指令。反之,由网关发出到IPHA的请求指令由IPHA运行,网关重新定向节点始发的信息,通过回叫能力发送到IPHA。总之,IP网元通过网关提供的GRIP或REST协议接口,就可以对ZigBee无线传感器网络进行各种控制操作,或指定接收ZigBee网络定类型的消息事件。
(1)ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层,包括网络层(NWK)、应用层和安全服务提供层。ZigBee协议堆栈分层架构如图4所示。
网关应用提供了到应用支持子层(APS)、ZigBee设备对象(ZDO)、ZigBee簇库(ZCL)和其他通信(COMM)层的接口,如网络层和MAC层,以及网关管理对象(GMO)。所有这些层提供访问驻留在网关上的ZigBee协议栈,执行各种功能。
(2)应用支持子层(APS)通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备。
(3)ZigBee设备对象(ZDO)描述了应用框架层中应用对象的公用接口以及控制设备和应用对象的网络功能。这个功能在应用对象、设备profile和APS之间提供了一个接口。ZDO位于应用框架和应用支持子层之间。它满足所有在ZigBee协议栈中应用操作的一般需要。此外ZDO还初始化应用支持子层、网络层、安全服务规范(SSS)以及从终端应用集合中配置的信息来确定和执行安全管理、发现、网络管理以及绑定管理。
(4)规范中详细介绍了ZigBee簇库(ZCL)每个簇的用法,并列出特定簇能够传送的属性,提供了传送各种属性值改变的一种机制、配置传送参数的命令。
同时,ZigBee网关设备通过一个或多个下列PRC协议(绑定)提供标准的API:
(1)SOAP(Simple Object Access Protocol,简单对象访问协议)是交换数据的一种协议规范,通过超文本传输协议(HTTP)和扩展标记语言(XML)请求执行远程过程调用规范。请求的格式由XML文档(Web服务描述语言)规定。
(2)REST(Representational State Transfer,表述性状态转移)是一种针对网络应用的设计和开发方式,类似于SOAP,通常基于HTTP、URI、XML以及HTML这些流行的协议和标准,采用HTTP访问API的资源库。应用程序和ZigBee网关设备堆栈的脚本很小,许多操作由Web浏览器执行。
(3)GRIP是一种二进制协议,在传输控制协议(TCP)连接上原始数据格式的ZigBee堆栈结构的交换。是通过TCP封装实现基本的API过程,即发送和接收ZCL/APS/NWKs数据包,使得在ZigBee协议栈最高层网关配置最小。
4.2 功能
ZigBee网络与IP之间的互连是许多应用的关键,ZigBee网关规范应当满足许多不同的需求。因此,ZigBee网关不只是定义一个单一协议,而是应定义一个两层的API。
(1)一套概要功能(独立于协议)
1)网关规范定义了一个连接ZigBee功能的远程过程调用API和IP网关的管理:
支持完整的应用
支持ZigBee网络输入和输出的应用子层(APS)、ZigBee设备对象(ZDO)、安全服务(SEC)
2)允许ZigBee设备上的IP应用程序和配置应用程序之间的交互;
3)通过公开的应用程序接口以标准的方式使远程IP应用接口能与多个供应商的网关可以互操作;
4)将强制性的功能减少到最低限度,允许不同层次配置的产品的差异化。
(2)一组可扩展的RPC协议(即绑定),规定如何使用专用的协议提供公开的API
1)不同的绑定提供成本与功能权衡的可扩展性;
2)无需重新新发明每一个系统的接口,因平台规范不局限于一个特定的配置文件,但应给出到IPHAs的方式,以支持所需的配置文件;
3)网关规范版本1具有SOAP、REST和GRIP绑定:
SOAP提供了面向更高层次的Web服务访问网关API
REST提供一个轻量级基于Web的 API
GRIP是最简单的ZigBee网关设备精选协议,占用空间小
为了有效地适用于不同的应用,一个合适网关不需要实现所有RPC绑定,可仅实现其中一个,或者按需实现多个。在通用ZigBee网关规范上建立特定应用网关,可根据特定用例或典型场景实现某一个绑定。这样,一个配置可以授权一个特定用例的绑定或让供货商自己确定实现哪种绑定。
5 结论
ZigBee网关设备是独立、通用的设备,能够满足大多数应用对IP连接的需求。
ZigBee Gateway作为一项标准,为开发商、制造商提供了一种通用的方法,使他们能够集中精力开发应用产品并缩短产品整体开发时间。且可以帮助他们降低开发风险,免去使用定制或专用解决方案的必要,还能减少开发和制造成本。为产品制造商和服务提供商提供了一种易于使用的智能方法,通过互联网拓展设备功能和带来ZigBee控制的益处。为消费者提供更多监控功能的好处,包括方便的智能手机或成本更低的面向iOS、Android和Windows Phone操作系统的桌面应用整合。
ZigBee Gateway使得互联网连接整合变得更简单,尤其是对联网经验很少的开发商而言。归根结底,这个标准将使采用ZigBee的增值服务的数量增加,并为大家带来更多方便的控制选择。
ZigBee Gateway可以用于ZigBee楼宇自动化、ZigBee医疗保健、ZigBee家庭自动化、ZigBee零售服务、ZigBee智能能源、ZigBee电信服务公共应用标准的场景中。
现如今因特网普及全球,如果能把ZigBee网络同因特网连接起来,在世界各个角落都可以对某个ZigBee网络重点设备进行控制,有利于ZigBee技术的进一步发展。为此,网关在整个传感器网络中起着重要的枢纽作用,就如一座桥梁紧密地联系着ZigBee无线传感器网络与因特网,以ZigBee网关和Internet做媒介,使得世界范围内的不同监测区域都可以信息共享,大大缩小了物理世界的时空距离。
参考文献:
[1] ZigBee Alliance. Understanding ZigBee Gateway[EB/OL]. (2010-09-03). https:///zigbee-docs/dcn/09-5465.pdf.
[2] ZigBee Alliance. Network Device: Gateway Specification[EB/OL]. (2011-03-23). http://.
[3] 谢志聪. 满足多元控制/存取ZigBee Gateway趁势而起[J]. 新电子, 2008.
[4] 李小珉,赵志宏,郭志,等. ZigBee无线传感器网络的研究与实验[J]. 电子测量技术, 2007(6).
[5] 凌兴锋,何小敏. 基于ZigBee的无线网关解决方案研究[J]. 微处理机, 2010(4).
作者简介
篇5
【关键词】异构WSNs;ZigBee;6LoWPAN;IPv6
Design and Implementation of a Heterogeneous WSNs Communication System
ZHANG Yi-fei LI Xiao-long
(Key Lab of Industrial Wireless Network and Networked Control,Ministry of Education,
Chongqing University of Posts and Telecommunications, Chongqing 400065,China)
【Abstract】Aimed at the problem that heterogeneous WSNs cannot communicate with each other freely, a communication system is designed to realize point-to-point communication between heterogeneous WSNs, using ZigBee and 6LoWPAN wireless sensor networks as a reference. The hardware platform of the gateway is based on S3C2440 and CC2530. The key technologies involved in the research are expounded, and a test environment is setted up. The experimental results show that the research method is effective for the communication between these two heterogeneous WSNs, moreover it has certain reference value for communications of some other types of heterogeneous WSNs.
【Key words】Heterogeneous WSNs; ZigBee; 6LoWPAN; IPv6
0 引言
近年来,物联网发展迅速,在工业现场、智能电网、仓储物流等领域得到了广泛应用。作为物联网的重要组成部分,无线传感器网络(Wireless Sensor Networks, WSNs)是信息通信领域的一个热点。无线传感器网络包含诸多协议标准,如ZigBee、6LoWPAN、ISA 100.11a、RFID等,随着各种技术的发展,采用不同传感网协议的网络在现实生活中相互通信成为一个亟待解决的问题。
IEEE 802.15.4[1]是一种低功耗、低速率、短距离无线传输协议,描述了低速率无线个人局域网的物理层和媒体接入控制协议,具有可扩展性,且只规定了底层,即单一的媒体访问控制(MAC)层和多样的物理层,至于MAC以上的协议,可以采用不同的方案。由此就产生了多种不同的技术,比如ZigBee、6LoWPAN、ISA100.11a等。基于ZigBee协议[2]的应用已经遍布于工业控制、智能测绘、医疗、家居等各行各业,在技术的成熟度和产品的市场化方面都要比6LoWPAN更有优势,但是6LoWPAN也有其特有的优势,即6LoWPAN[3]网络层采用IPv6协议,使得6LoWPAN设备能够拥有IPv6地址,并在网络层面上通信,甚至可以接入互联网,使互联网的应用扩展到物理世界的任意角落。
本文研究了ZigBee网络和6LoWPAN网络,设计实现了ZigBee和6LoWPAN这两种不同传感器网络之间相互通信的异构WSNs网关系统,在不改变ZigBee与6LoWPAN协议的基础上,成功解决了两种无线传感器网络间不同协议互通的问题,对促进异构网络之间的无缝融合有积极意义。
1 异构传感网通信系统体系结构
图1 异构WSNs节点通信应用场景
Fig. 1 Heterogeneous WSNs communication scenario
1.1 网关通信应用场景
图1所示为本文所实现的ZigBee与6LoWPAN传感器网络中异构节点互通的场景。ZigBee网络与6LoWPAN网络通过本文设计的一个网关实现异构传感网节点间的互通,并可接入IP网络与互联网上的节点实现互通。
1.2 网关协议转换模型
图2 协议转换模型
Fig. 2 Protocol conversion model
图2所示是在图1的具体应用场景中网关的协议转换图。ZigBee网络接入模块与6LoWPAN接入模块分别通过串口与ARM处理器相连,一起构成网关的整体。ZigBee节点采集到的数据通过无线发送给ZigBee协调器,即ZigBee网络接入模块,解析出数据的有效载荷,通过SLIP协议发给ARM处理器,转换成IPv6数据,再通过SLIP协议发送给6LoWPAN边界路由器,即6LoWPAN网络接入模块,继而转发给6LoWPAN节点。
1.3 网关功能描述
网关由ARM处理器、ZigBee模块、6LoWPAN模块组成,ZigBee模块与6LoWPAN模块还分别作为ZigBee网络的协调器与6LoWPAN网络的边界路由器。
网关功能主要有:
(1)基本协议解析功能,包括ZigBee协议、6LoWPAN协议以及IPv6协议。
(2)服务查询功能,主要通过在网关建立起一个存储传感网节点EUI-64地址与所提供服务的服务表实现,节点向网关发送服务查询请求命令,网关向节点返回服务查询响应。
(3)协议转换功能。EUI-64地址要转换成IPv6地址,ZigBee数据包转换成IPv6数据包。
2 关键技术
2.1 服务注册及服务查询
2.1.1 服务注册
服务注册是将两个传感网中所有节点的EUI-64地址与其所提供的服务建立映射关系,将这些服务和提供服务的节点信息存储在服务表中,从而使网关具有服务查询功能[5]。
首先是网关初始化。ZigBee网络和6LoWPAN网络采用动态组网方式自动组网,之后ZigBee节点上传自身信息给ZigBee协调器,包括EUI-64地址、提供的服务类型(温湿度检测、设备控制等),6LoWPAN节点同样上传信息给边界路由器,最后ARM处理器汇总信息,建立映射并生成服务表。服务表如表1所示。
表1 服务表
Tab. 1 Service table
2.1.2 服务查询
服务查询是传感网节点向网关提出服务查询请求,网关向节点返回服务查询响应。
为了传感器节点能查询到服务提供者的EUI-64地址,设立了服务代码表,如表2所示,定义了服务查询请求以及服务查询响应的数据包格式,如图3和图4所示:
(1)服务代码表
把温度、湿度、一氧化碳浓度等服务类型分别用以下代码表示,如表2所示:
表2 服务代码表
Tab. 2 Service code table
(2)服务查询请求
图3 服务查询请求数据包格式
Fig. 3 Service query request frame format
其中,字符“?”为数据包的标志位,字符“P”为数据包的识别符,字符“1”为要查询的服务――湿度。
(3)服务查询响应
图4 服务查询响应数据包格式
Fig. 4 Service query response frame format
其中,字符“!”为数据包的标志位,字符“P”为数据包的识别符,字符“1”为要查询的服务――湿度,EUI-64为湿度服务提供者的EUI-64地址。
节点查询到服务提供者的EUI-64地址后,就可以构造报文发送到相应节点了。
2.2 应用层通信协议设计
ZigBee节点与6LoWPAN节点发送数据的时候要把自身的EUI-64地址、查询得到的6LoWPAN的EUI-64地址以及真正要发送的数据打包放在应用层负载中,因此,应用层数据通信协议就需要包含这些必要信息数据。在传输过程中统一的数据报文格式[6]如图5所示。
图5 应用层数据格式
Fig. 5 Application layer data format
2.3 SLIP封装与解封装
ZigBee无线模块与6LoWPAN无线模块都通过串口与ARM处理器相连,数据的传输通过串口进行。为了增加Linux主控单元和WSN子网接入模块之间通信的安全性,在报文传输过程中采用SLIP协议封装[7],接收数据时可以通过SLIP的标志位判断数据是否完整来决定接收或者丢弃,SLIP作为链路层协议直接承载IP数据包。SLIP协议封装具体格式如图6所示,将原报文中的字符0xC0替换为0XDB、0xDC,将字符0xDB替换为0xDB、0xDD,解封装是反之即可,这里不再赘述。
图6 SLIP的封装过程
Fig. 6 Encapsulation process of SLIP
2.4 UDP/IPv6数据包的封装与解封装
ZigBee数据需要转换成IPv6数据来与6LoWPAN网络通信,且6LoWPAN传输层采用UDP协议,因此UDP/IPv6数据包封装与解封装必不可少。
当应用层的数据产生后,首先要在传输层添加UDP首部,然后在网络层添加IPv6首部,最后在数据链路层添加SLIP首部,生成UDP/IPv6数据包的过程如图7所示。
ARM板串口接收到ZigBee模块发送来的数据包,SLIP解封装后得到应用层数据,依次取出报文中的各个变量,即ZigBee节点EUI-64地址、6LoWPAN节点的EUI-64地址、数据包长度、纯数据。按照IPv6首部、UDP首部、UDP伪首部、UDP校验和的规定依次填充各个变量,最终构造出UDP/IPv6数据包[8]。然后添加SLIP首部后通过串口发送给6LoWPAN边界路由器,边界路由器将IPv6报文压缩到只含必要内容,且能在以IEEE 802.15.4标准为底层协议的WSN内传输的小数据包,之后发送给目的6LoWPAN节点。
6LoWPAN节点发送数据到ZigBee节点时,要进行UDP/IPv6数据包的解封装,过程与前面所述相反。
图7 UDP/IPv6数据包封装过程
Fig. 7 Encapsulation process of UDP/IPv6 data packets
2.5 网关节点交互流程
节点交互过程主要分为3个阶段:网关初始化阶段、服务查询阶段以及数据传输阶段。图8所示为ZigBee节点(A)、异构WSNs网关(B)、6LoWPAN节点(C)之间的交互流程[9]。主要描述了3个阶段中网关初始化生成服务表后,由ZigBee节点发起服务查询请求,网关返回服务查询响应,ZigBee节点得到目的6LoWPAN节点地址后,发送数据到6LoWPAN节点,6LoWPAN节点接收数据的整个过程。
(1)网关初始化
网关初始化包括网络初始化和服务注册。网关启动后,ZigBee节点和6LoWPAN节点分别自动组网,建立ZigBee网络和6LoWPAN网络,之后节点向网关上传自己的EUI-64地址和所提供的服务,完成服务注册,由此网关建立起节点EUI-64地址与所提供服务的一一映射,存储ZigBee节点和6LoWPAN节点的EUI-64地址及节点提供的服务。
图8 网关节点交互流程
Fig. 8 Interaction flow of gateway nodes
图9 网关测试系统示意图
Fig. 9 Gateway test system schematic diagram
(2)服务查询
节点A向网关B发起服务查询请求,B收到请求后在服务表中查询此服务由哪个6LoWPAN节点提供,查询到是节点C后,把节点C的EUI-64地址回复给节点A,于是节点A就知道了节点C的EUI-64地址。
(3)数据传输
经过上面两步网络初始化和服务查询之后,节点A知道了提供所需服务的节点的EUI-64地址,然后构造这样的报文,即把ZigBee的EUI-64地址、6LoWPAN的EUI-64地址加上要发送的数据打包按照ZigBee协议发给网关,在网关处进行如下处理:ARM处理器接收到数据包后依次取出ZigBee的EUI-64地址、6LoWPAN的EUI-64地址以及数据,再调用UDP/IPv6封装程序封装成一个IPv6数据包。然后通过串口发到6LoWPAN边界路由器的网络层,再往下传送到适配层进行分片、压缩等处理,传给MAC层及物理层,通过无线发送到目的6LoWPAN节点,至此完成了数据从ZigBee节点到6LoWPAN节点的全过程。
3 网关测试系统搭建
网关测试系统示意图如图9所示:包括ARM处理器、ZigBee无线通信模块、6LoWPAN无线通信模块、ZigBee与6LoWPAN网络节点。ARM处理器采用三星公司的ARM9处理器芯片S3C2440,ZigBee模块采用CC2530芯片,6LoWPAN模块也采用CC2530芯片。ARM处理器与两个无线通信模块都采用串口相连。ZigBee模块同时作为ZigBee网络的协调器,6LoWPAN模块也同时作为6LoWPAN网络的边界路由器。两个传感网节点通过无线方式发送数据给ZigBee模块和6LoWPAN模块。
3.1 ZigBee网络软件设计
本文的ZigBee网络软件设计采用TI免费协议栈ZStack-CC2530-2.3.0-1.4.0,工具软件采用IAR Embedded Workbench for 8051 7.60。在TI免费协议栈的基础上,通过修改其应用层来实现不同的功能。
3.2 6LoWPAN网络软件设计
在本文的6LoWPAN传感网中,我们采用本实验室独立开发的6LoWPAN协议栈6lowsn_stack_v0.55,本协议栈已经实现了6LoWPAN的基本功能如报头压缩、分片等。工具软件采用IAR Embedded Workbench for 8051 7.60。用于6LoWPAN协议栈的芯片解决方案采用单芯片方案,即此协议栈可以单独运行在一块CC2530芯片上,成本和复杂性都比较低。
4 测试结果与分析
网关启动后,ZigBee节点与6LoWPAN节点分别各自组网,并在网关处建立起服务表。ZigBee节点向网关发送服务查询请求,网关向ZigBee节点返回服务查询响应。之后ZigBee节点向网关发送数据,网关经过处理后发送给目的6LoWPAN节点,完成了服务查询与数据传输的全过程,使用Chipcon Packet sniffer软件对整个过程进行抓包,抓包结果如下:
图10是服务查询抓包结果。可以看出网关启动后,ZigBee节点与6LoWPAN节点分别各自组网,之后ZigBee节点发送服务查询请求命令“?P1”,网关查询服务表后得到服务“1”提供者6LoWPAN节点的EUI-64地址,于是向ZigBee节点返回服务查询响应“!P1”加上6LoWPAN节点的EUI-64地址,服务查询阶段结束。
图11是数据传输抓包结果。ZigBee节点把自身EUI-64地址、查询到的6LoWPAN的EUI-64地址和要发送的数据“am”打包作为应用层数据发送给网关。网关接收到数据包后经过解析、封装IPv6包,发送给6LoWPAN边界路由器,最后转发给目的6LoWPAN节点,抓包显示收到ZigBee节点发来的数据包“am”。
5 结束语
本文对ZigBee和6LoWPAN这两种不同协议类型的传感网之间的通信进行了研究,并给出了实现方案,详细阐述了实现异构传感网通信的关键技术,并搭建了测试平台进行软硬件结合的测试,达到了设计的初衷,满足了异构传感网通信的需求,实现了两者之间的点对点通信。在不更改协议栈的基础上进行的网关设计具有较强的实用性和可扩展性,方便接入IPv6网络以及更多不同协议的传感网进行自由通信。
【参考文献】
[1]蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006.
[2]ZigBee Specification.Version 1.0 [R].ZigBee Alliance,2004.
[3]Shelby z,Bormann c.6LoWPAN:The wireless embedded Internet[M].New York, NY, USA: John Wiley & Sons Ltd., 2009.
[4]戚剑超.基于IPv6的无线传感器网络应用研究[D].合肥:合肥工业大学,2009.
[5]孙纪敏,沈玉龙,孙玉,张思东.传感器网络接入Internet体系结构和服务提供方法[J].通信学报,2008,29(4):84-89.
[6]吴功宜,董大凡,王,刘乾.计算机网络高级软件编程技术[M].北京:清华大学出版社,2007.
[7]Andrew puter Networks[M].3rd edition.北京:清华大学出版社, 2002.
篇6
低功耗射频技术虽然传输距离不长,数据传输率也不大,但它能使无线设备小巧灵活,在很多场合充分发挥作用。
ZigBee的兴起
提起低功耗射频技术,最知名的就是蓝牙(Bluetooth)和ZigBee技术。其中,蓝牙技术推广较早,已经有了相当广泛的应用基础,很多消费电子设备上都有蓝牙收发装置。zigBee技术则兴起得较晚,但是发展速度很快,大有赶超蓝牙之势。特别是家电和工业自动化领域,ZigBee的应用正有声有色地展开。
这里,先简单介绍一下zigBee技术。ZigBee是一种近距离、低复杂度、低功耗、低数据传输速率、低成本的双向无线通信技术,主要通信协议由ZigBee联盟制定,其底层是采用IEEE802.L5.4标准规范的媒体存取层与实体层。总结起来,ZigBee技术有下面几个优点:
1 低功耗:zigBee的传输速率较低,传输数据量很小,因此信号的收发时间很短。在待机模式下,ZigBee节点会进入休眠模式。这一切使得zigee设备非常节电,使用普通5号碱性电池对的zigBee节点可工作达6个月到2年左右。
2 数据传输可靠性强:ZigBee的MA C层采用talk when-ready的碰撞避免机制。
3 网络容量大:一个zigBee的网络最多可配置255个ZigBee网路节点,包括一个主控(Master)设备和其他从属(Slave)设备。若是通过网络协调器(Network Coordinator),整个网络最多可以支持超过64000个的ZigBee网路节点,再加上各NetworkCoordinator可互相连接,整个ZigBee网络节点的数目将十分可观。
4 高安全性:ZigBee提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL)防止非法获取数据,以及采用高级加密标准(AES 128)的对称密码,以灵活确定其安全属性。
5 短时延:ZigBee节电从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms。
6 低成本:通信协议的简化,降低了对设备的要求。
说到zigBee,就不得不提到zigBee RF4CE(Radio Frequency forConsumer Electronics)标准。这是一个由众多家电巨头和半导体器件供应商结成的联盟所制定的标准。它的起因是因为影音家电设备的智能化、网络化和显示设备的大型化趋势越来越明显,以前占据家电遥控器主导地位的红外传输技术已经跟不上时代的步伐,其接收角度狭小,无法双向传输信息的缺点愈加明显。为此,必须有新的无线技术取而代之。事实上,很多厂商都在开发相应的替代无线技术,但因为缺乏统一的技术标准,使得局面极为混乱。为了扭转这些不利的状况,全球家电业巨头松下、索尼、三星、飞利浦等决定携手推动射频遥控器软件协议标准化,并决定以IEEE 802.15.4作为射频遥控器所采用的无线电平台。随后,德州仪器、飞思卡尔、Ember等芯片供应商也加入,RF4CE产业联盟亦宣告成立。在今年4月,第一批ZigBee RF4CE参考平台正式通过了验证。这也就意味着,ZigBee进入家电遥控器市场的时间很快就要到来了。
另外,近年来发展很快的无线传感器网络也在大量使用ZigBee技术。这也为zjgBee的发展提供了另一个空间。
半导体器件商的高集成度解决方案
RF4CE产业联盟中的半导体厂商代表,如德州仪器、飞思卡尔等,都在不断推出自己的ZigBee产品,以期能迅速占领市场。
飞思卡尔公司在今年年初推出了其第二代芯片组M C1321x系列,其在第一代的基础上集成发射/接收开关,减少了所需的外部组件数量。
而德州仪器公司也在近日推出了自己的新产品――C C2530。该产品不仅支持IEEE 802.15.4标准,而且还支持包括ZigBee PRO网络、ZigBee RF4CE远程控制、智能能源、家庭与楼宇自动化、环境监控以及无线医疗等在内的一系列丰富应用。与同类解决方案不同,CC2530可提供达高达256K的闪存。其输出功率,也从前代产品C C2480的94dB增加到现在的10ldB。同时。该产品支持49dB的相邻通道抑制,这也是业界里一个非常高的指标。c C2530的Flash存储器可以支持多种应用,其集成了高级RF收发器、业界标准增强型805l McU、系统内可编程闪存、8KBRAM,可减少多种元件(DMA、GPIO、USART、ADC以及定时器)。对于ZigBee器件来说,开发工具也非常重要。C C2530也有多种开发套件,包括了基础开发套件(C C2530DK)、zigBee开发套件(cC2530ZDK)以及zigBee RF4CE开发套件(RemoTI-C C2530DK)。同时,还有免费的协议软件栈,包括适用于符合ZigBee标准应用的Z-Stack软件(ZigBee PRO),适用于ZigBee RF4CE遥控应用的Remo TI网络协议以及适用于专用网络应用的SimpileiTI网络协议。
需要解释一下Rem0 TI协议,这是面向ZigBee RF4CE规范的同时包含软件与硬件的完整网络协议,包含了CC2530 IEEE/802.15.4片上系统与软件协议栈。
篇7
【关键词】ZigBee 多因子 安全认证
1 引言
ZigBee是具有功耗低、成本低、r延短、抗干扰性强的短距离无线通信技术,广泛应用于无线网络领域。但由于网络规模大,数据通信量小,环境安全难于控制。因此,出现了一系列针对ZigBee入网及通信安全的研究,如针对网络安全威胁与攻击、信任机制、节点身份认证[1]等。文献[2]提出的基于信任中心的认证方案,能够解决移动节点问题,但加重了协调器的负担。文献[3]指出适合ZigBee节点身份认证的技术,但其仅适合单播通信节点的认证,在多播通信节点中会使组密钥信息泄露,导致网络不安全;当密钥因子泄露时会导致系统处于不安全状态。
综上所述结合非对称密码体制认证方案以及MAC层协议,提出一种适用于ZigBee网络的“新鲜因子+配置信息+密钥”多因子安全认证方案,设计簇头与控制中心、终端的双向认证流程,保证入网节点的合法性,抵御中间人攻击以及有效降低了协调器的负载,提高了ZigBee网络的综合性能。
2 多因子安全认证机制设计
方案中采用椭圆曲线密码机制。簇头发送入网请求帧,控制中心经认证通过后与簇头建立网络连接。然后,终端节点发送入请求帧,经簇头认证通过后建立整个网络结构。其具体的认证入网流程如下。
CHj在获取到NC的公钥PuKNC后将初始对称密钥keyic、IEEE地址、初始配置时间和网络ID加密发送给NC并且C=(keyic||Ad||Tdata||PANID)。NC计算DeECCk(c)得到keyic、Ad、Tdata和PANID后生成index(i)及Ti将该索引项信息存入控制中心合法节点库中。NC构造m=将发送给CHj。NC生成初始D并将含有该随机数的信标帧M以周期T0广播发送到各节点。CHj接收到NC发送的包含有D的信标帧后利用单向函数变换得到自身硬件信息因子H并保存。NC接收到消息m1检测T3到是否新鲜,检测通过后验证签名的有效性随后查找索引项index(j),利用当前的D计算硬件信息因子H并提取TLi和Tdata与消息m1中的字段匹配,匹配成功时NC获取当前时间戳T4并构造消息m2=向CHj发送消息m3=。CHj提取m3的签名验证字段,验证通过时检测T3T4的合理性然后确定m2来自于NC并更新两者之间的对密钥keyid从而完成CHj与NC的双向认证。
3 测试与分析
为了验证本方案设计的三种协议对入网性能的影响,设置两组对比实验,实验组一协调器与终端里的协议设置为基于Zigbee自身的协议;实验组二协调器与终端的协议设置为本方案设计的通信协议协议。将两组设备分别接入可信路由节点,记录设备入网成功所用的时间。
实验组2认证入网成功所用的平均时间略高于实验组1(相差5ms以内),在用户体验时,时延可以忽略,达到了协调器负载均衡的要求。因此本方案设计的安全协议性能达到了预期要求。可知本方案基于多因子安全认证机制的优点,协调器负载率明显降低,免疫力更强,扩展性更好,具有更高的优越性,相比原有的Zigbee规范中的认证方案,本方案在实现Zigbee节点的认证通信开销很小,同时有效的减小了协调器负载,提高了综合性能。既能在安全方面实现设备之间的安全身份认证,又能在性能上满足用户的响应时间需要。
4 结语
基于ZigBee网络以其低功耗、高安全性、网络节点容量大、低成本等特点必定将受到社会的青睐,本方案针对ZigBee网络缺乏身份认证以及协调器负载过大,从ZigBee网络的路由协议方面入手,结合分簇路由协议,并在深入把握ZigBee协议规范和组网技术的基础上,设计了一种多因子的ZigBee安全认证机制,对簇头与控制中心、簇头与终端节点的双向认证进行了设计。有效解决了ZigBee节点入网认证存在的安全问题,实验测试与分析结果表明系统设计达到预期要求,有效降低了通信开销,使协调器达到负载均衡,同时增强了ZigBee节点安全入网认证的性能。
参考文献
[1]Roszainiza Rosli,Yusnani Mohd Yusoff,Habibah Hashim. Performance Analysis of ID-Based Authentication on Zigbee Transceiver[C]2012IEEESymposium on Wireless Technology and Applications,012.USA:IEEE,2012.
[2]LeeKyunghwa,LeeJoohyun,ZhangBongduk,etal.An enhanced trust center based authentication in ZigBee networks[C].Advances in Information Security and Assurance,LectureNotes in Computer Science,Seoul,2009,5576:471-484.
[3]杨同豪,郁滨.基于身份的ZigBee节点认证方案[J].计算机工程与设计, 2012,11:1000-7024(2012)11-4127-04
篇8
关键词ZigBee协议;网络;IEEE802.15.4;路由算法;Tree路由;Z-AODV路由
1概述
ZigBee技术是由英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦等公司在2002年10月共同提出设计研究开发的具有低成本、体积小、能量消耗小和传输速率低的无线通信技术。
2000年12月,IEEE802无线个域网(WPAN,WirelessPersonalAreaNetwork)小组成立,致力于WPAN无线传输协议的建立。2003年12月,IEEE正式了该技术物理层和MAC层所采用的标准协议,即IEEE802.15.4协议标准,作为ZigBee技术的网络层和媒体接入层的标准协议。2004年12月,ZigBee联盟在IEEE802.15.4定义的物理层(PHY)和媒体接入层(MAC)的基础上定义了网络层和应用层,正式了基于IEEE802.15.4的ZigBee标准协议。
2网络层的研究
ZigBee技术的体系结构主要由物理层(PHY)、媒体接入层(MAC)、网络/安全层以及应用框架层组成,各层之间的分布如图1所示。
图1ZigBee技术协议组成
PHY层的特征是启动和关闭无线收发器、能量检测、链路质量、信道选择、清除信道评估(CCA)以及通过物理媒体对数据包进行发送和接收。MAC层可以实现信标管理、信道接入、时隙管理、发送确认帧、发送连接及断开连接请求,还为应用合适的安全机制提供一些方法。它包含具有时间同步信标的可选超帧结构,采用免碰撞的载波侦听多址访问(CSMA-CA)。安全层主要实现密钥管理、存取等功能。网络层主要用于ZigBee的LR-WPAN网的组网连接、数据管理等。应用框架层主要负责向用户提供简单的应用软件接口(API),包括应用子层支持APS(ApplicationSub-layerSupport)、ZigBee设备对象ZDO(ZigBeeDeviceObject)等,实现应用层对设备的管理,为ZigBee技术的实际应用提供一些应用框架模型等,以便对ZigBee技术的开发应用。
网络层的定义包括网络拓扑、网络建立、网络维护、路由及路由的维护。
2.1ZigBee的网络拓扑结构
ZigBee定义了三种拓扑结构:星型拓扑结构(Star),主要为一个节点与多个节点的简单通信设计;树型拓扑结构(Tree),使用分等级的树型路由机制;网格型拓扑结构(Mesh),将Z-AODV和分等级的树型(Tree)路由相结合的混合路由方法。三种拓扑结构如图2所示。
图2网络的三种拓扑结构
ZigBee定义了三种设备类型:ZigBee协调器(ZigBeeCoordinator,ZC),用于初始化网络信息,每个网络只有一个ZC;ZigBee路由器(ZigBeeRouter,ZR),它起监视或控制作用,但它也是用跳频方式传递信息的路由器或中继器;ZigBee终端设备(ZigBeeEndDevice,ZED),它只有监视或控制功能,不能做路由或中继之用。
在IEEE标准中,ZED被称为精简功能设备(Reduced-FunctionDevice,RFD),ZC和ZR被称作全功能设备(Full-FunctionDevice,FFD)。
2.2网络层路由算法的分析
网络层支持Tree、Z-AODV、Tree+Z-AODV等多种路由算法。
2.2.1AODV路由协议
DSDV(destination-sequenceddistance-vector)协议是一个基于传统的BellmanFord路由机制的表驱动算法,被认为是最早的无线自组网络路由协议。DSDV在传统的distance-vector算法的基础上采用了序列号机制,用于区分路由的新旧程度,防止distance-vector算法可能产生的路由环路。DSDV采用时间驱动和事件驱动技术控制路由表的传送,即每个移动节点在本地都保留一张路由表,其中包括所有有效目的节点、路由跳数、目的节点路由序列号等信息,目的节点路由序列号用于区别有效和过期的路由信息以避免环路的产生。
DSR(dynamicsourcerouting)协议是最早采用按需路由思想的路由协议,包括路由发现和维护两个过程。它的主要特点是使用了源路由机制进行数据包转发。
AODV(ad-hocon-demanddistancevector)协议在DSDV协议的逐跳路由、序列号、定期广播机制基础上,加入了DSR的按需路由发现和维护机制。
AODV在每个中间节点隐式保存了路由请求和应答的结果,并利用扩展环搜索(expandingringresearch)的办法限制搜索发现目的节点的范围。AODV支持组播功能,支持QoS,而且AODV使用IP地址,便于同Internet连接。但AODV基于双向信道的假设,路由应答数据包直接沿着路由请求的反方向回溯到源节点,因而不支持单向信道。与DSDV保存完整的路由表不同的是,AODV通过建立按需路由来减少路由广播的次数,这是AODV对DSDV的重要改进。与DSR相比,AODV的好处在于源路由并不需要包括在每一个数据包中,这样会降低路由协议的开销。AODV是一个纯粹的按需路由协议,那些不在路径内的节点不保存路由信息,也不参与路由表的交换。
2.2.2Z-AODV能量平衡路由
在ZigBee路由规范中没有过多的考虑能量控制,但是对于adhoc无线网络来说,能量控制非常重要。因此提出了能量控制策略来改进ZigBee路由。它将使节点避免用尽所有能量以至于过早的失去作用。当节点想要选择路径时,它将考虑路径上的节点的剩余能量。
Z-AODV算法是针对AODV(Adhoc按需距离矢量路由协议)算法的改进,AODV是基于序列号的路由,它总是选择最新的路由。Z-AODV是基于路径的能量消耗的路由,考虑到节能、应用方便性等因素,简化了AODV的一些特点,但仍保持AODV的原始功能。
在路由选择和路由维护时,ZigBee的路由算法使用了路由成本的度量方法来比较路由的好坏。假定一个长度为L的路由P,则它的路由成本为:为:
其中,表示从节点Di到节点Di+1的链路成本。对于链路l,链路成本可按照下面的表达式计算:
其中,pl为链路l中发送数据包的概率。
在ZigBee规范中没有涉及到pl的具体计算方法。pl可通过实际计算收到的信标和数据帧来进行估计,即通过观察帧的响应序列号来检测丢失的帧,这就通常被认为最准确地测量接收概率的方法。但是,对于所有的方法来说,最直接和有效的方法就是基于IEEE802.15.4的MAC层和PHY层所提供的每一帧的LQI通过平均所计算的值。即使使用其他方法,最初的成本估计值也是基于平均的LQI值。可以根据驱动函数表来映射平均LQI值与C﹛l﹜值的关系(见表1)。
表1LQI值与链路成本的关系
能量平衡运算要考虑许多因素来选择路由。这些因素包括临近节点的能量、节点自身的能量和链路质量。剩余能量Elocal可以在每一个ZigBee帧中的保留域发送,这样每个节点都能得到它的邻居节点最新的能量分配﹛E1,E2…En﹜。
2.2.3树型(Tree)路由
树型路由机制包括配置树型地址和树型地址的路由。当协调器建立一个新的网络,它将给自己分配网络地址0,网络深度Depth0=0。如果节点(i)想要加入网络,并且与节点(k)连接,那么节点(k)将称为节点(i)的父节点。根据自身的地址Ak和网络深度Depthk,节点(k)将为节点(i)分配网
络地址Ai和网络深度Depthi=Depthk+1。网络深度表示仅仅采用父子关系的网络中,一个传送帧传送到ZigBee协调器所传递的最小跳数。ZigBee协调器自身深度为0,而它的子设备深度为1。
图3为ZigBee树型结构。参数nwkMaxChildren(Cm)表示路由器或协调器在网络中允许拥有子设备数量的最大值。参数nwkMaxRouters(Rm)表示子节点中路由器的最大个数,而剩下的设备数为终端设备数。
图3ZigBee树型结构
一个新的RFD节点(i),它没有路由能力,它与协调器连接作为协调器的第n个子节点。根据它的深度d,父节点(k)将为子节点(i)分配网络地址:
Ai=Ak+Cskip(d)·Rm+n其中1≤n≤(Cm-Rm)
如果是新的子节点FFD,它有路由能力,父节点(k)将给它分配网络地址:
Ai=Ak+1+Cskip(d)·(n-1)
其中,
否则,参数nwkMaxDepth(Lm)表示网络的最大深度。
假设一个路由器向网络地址为D的目的地址发送数据包,路由器的网络地址为A,网络深度为d。路由器将首先通过表达式:
A<D<A+Cskip(d-1)
判断该目的节点是否为自己的子节点。如果目的节点是自己的子节点,则下一跳节点的地址为:
否则,下一跳节点是该路由器的父节点。
2.2.4Tree+Z-AODV路由算法的分析
根据上文对Tree和Z-AODV两种路由算法的分析,在我们的ZigBee网络中将二者结合,使用Z-AODV和分等级的树型(Tree)路由相结合的混合路由方法,构成网格型拓扑结构(Mesh)的网络。
具体实现方法是在数据帧帧头的DiscoverRouter域指定路由。该域可以是如下三种值:
⑴抑制路由发现:它使用已经存在的路由表。当路由表中没有相应的目的节点的地址时,参数nwkUseTreeRouting的值为TRUE,网络将使用树型路由。
⑵使能路由发现:如果在路由表中有路由地址,将按照该路由表进行路由。否则,路由器将使用Z-AODV路由算法初始路由发现。如果该节点没有初始路由发现的能力,它将使用树型路由。
⑶强制路由发现:不管是否有相应的路由表,节点都强制使用Z-AODV路由算法初始化路由发现。
在ZigBee规范中提出了将AODV和Tree路由混合的路由机制。但在ZigBee规范中并没有说明如何配置参数来选择路由策略,没有使两者平衡的设计方法。根据上面Tree路由和Z-AODV的分析,我们提出了基于数据特性的路由方法,即在两种路由算法构成的网格型网络中,根据节点间传输数据特性的不同,通过设置数据帧帧头的DiscoverRouter域,选择不同的路由方法。对于捆绑型的连续数据,ZigBee应用层应选择使用使能路由的方法。即采用Z-AODV路由首先建立路由发现,然后选择跳数少的路由,成为最佳路径;对于爆发型的不连续数据则使用抑制路由发现的方法,即在路由表中没有响应的目的节点的地址时,采用Tree路由方法。因为这种路由不需要建立路由表,因此对传输的数据响应较快。
图4为节点接收到上层或其他节点发送的数据包时,网络层处理程序的流程图。
图4路由算法流程图
2.3总结
Tree路由是一种由网络协调器展开生成树状网络的拓扑结构,适合于节点静止或者移动较少的场合,属于静态路由,不需要存储路由表。树型路由对传输数据包的响应较快,因为树型路由不需要建立路由表。其缺点是所选择的路由并非是最佳的路由,不能获得最小路由。树型路由适用于爆发型的数据传输。
Z-AODV需要首先建立路由发现,然后选择跳数少的路由,成为最佳路径。Z-AODV适用于连续的数据传输。
在ZigBee规范中,设计了Z-AODV和Tree路由混合的路由策略,这里我们提出了基于数据服务的ZigBee路由选择策略。根据上述分析可以看出,这种路由选择机制在网络性能和低功耗方面有明显的优势;并且根据能量控制机制,可以有效地平衡节点能量,避免节点耗尽能量而过早地失去作用。
3ZigBee模块硬件设计
模块集无线收发器、微处理器、存储器和用户API等软硬件于一体,可实现1.0版ZigBee协议栈的功能。
图5ZigBee模块框图
图5是模块的硬件框图,射频芯片采用Chipcon公司生产的符合IEEE802.15.4标准的模块CC2420;控制射频芯片的微处理器可以根据需要选择Atmel公司的AVR系列单片机或者SiliconLabs公司的8051内核单片机。单片机与射频芯片之间通过SPI通信。单片机与外部设备之间通过串口通信,单片机自带若干ADC或者温度传感器,可以实现简单的模数转换或者温度监控。为了方便代码移植到不同的硬件平台,模块固件采用标准C语言编写代码实现。
参考文献
[1]蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006
[2]ZigBeeSpecification.ZigBeeAlliance[R],2006
[3]IEEE.IEEEstandards8021.15.4[R];2003
篇9
关键词:无线传感器网络 ZigBee技术 IEEE802.15.4协议
中图分类号:TN929.5;TP212.9 文献标识码:A 文章编号:1007-9416(2015)11-0000-00
Abstract: ZigBee technology is a new and emerging low power technology which is the most closely integrated with the wireless sensor network. This paper analyzes the characteristics of ZigBee technology and the network topology of ZigBee, and studies the architecture of ZigBee protocol stack, the hardware platform of wireless sensor based on CC2530 chip, and the process and application of wireless sensor network based on ZigBee technology.
Key words: Wireless sensor network;ZigBee;IEEE802.15.4 treaty
1 引言
无线传感器网络(WSN)是一种融合了微电子、嵌入式计算、现代网络及无线通信、分布式信息处理等先进技术的网络,由大量廉价无线传感器组成。并且这种网络不采用基站或交换机作为中转,又常常被人称为Ad-Hoc网络[1],是一种特殊的多跳移动无线网络。目前用于无线传感器网络的主要网络技术有Bluetooth、ZigBee、Wi-Fi、以及IrDA等。其中,ZigBee技术以其组成的无线传感器网络体积小、成本低、功耗低、结构简单、放置灵活、扩展方便、安全可靠[1]等特点成为无线通信应用的首选技术。因此,探讨基于ZigBee技术的无线传感器网络实现方案具有重要的实用价值。
2 ZigBee技术
ZigBee在中国被译为“紫蜂”,其突出特点是支持低成本、低功耗、可靠的数据传输、网络容量大、各层次的安全性、易于实现等。
在ZigBee无线网络中,网络拓扑结构大概有3种类型:星状网络结构、串状网络结构、网状网络结构[2]如图2所示。在这之中,每个节点的功能都不一样,有的充当协调器节点,有的充当路由节点,有的则充当终端节点。
ZigBee协议框架[3]是建立在IEEE802.15.4标准之上的。IEEE802.15.4标准满足国际标准组织开放系统互连参考模式,定义了ZigBee的物理层(PHY)和媒体访问控制层(MAC);ZigBee联盟则定义了协议的网络层(NWK)、应用层(APL)和安全服务规范如图2。这其中ZigBee技术标准包括两个物理层:一个是全球通用的通信信道为16个的2.4GHz频段,其传输速率为250kbps另一个是美国的915MHz和欧洲的868MHz频段频段,信道分别为10个和1个,传输速率分别为40kbps和20kbps。
3 无线传感器网络的构建
本文采用CC2530芯片构建无线传感器网络,CC2530芯片是一款完全兼容8051内核,同时支持IEEE802.15.4协议的2.4GHz无线射频芯片[4]。最大拥有256K可编程FLASH容量,12个10位精度的A/D转换通道,21个双向的I/O端口,由它构成一个微型化的嵌入式系统的无线传感器网络节点,节点硬件组成如图3,可以看出硬件由CC2530芯片上系统收发模块、电源模块、接口模块及传感器模块等。节点的软件包括终端数据采集、实现ZigBee协议栈以及无线通信软件等。
4 ZigBee无线传感器网络的组网过程
在一个ZigBee网络中,只有协调器节点可以建立网络。协调器具有允许设备加入网络和离开网络的功能,并给设备分配内部网络地址,维护邻居表等。建立一个新网络首先是协调器节点的应用层调用NLME-NETWORK-FORMATION.request原语来实现,然后向网络层发出建立网络的请求,网络层收到这个请求之后,便向下层的MAC层发出信道能量扫描的要求,MAC层便调用MLME-SCAN.request原语找到信道能量低于设定能量值的可用信道,然后在可用信道中搜寻ZigBee设备。找到了合适的信道后,便将随机选择一个PAN,它是可以识别一个特定ZigBee网络的标识号,不与原来的冲突,如果没有找到,也通过原语告诉上层结果;如果找到了,就通过原语在MAC层注册这个ID号,作为新建立的无线网络的网络号,并发送MLME-START.request原语,获取PAN ID和信道扫描结果,并通过confirm原语发送给上层。收到PAN开始的状态,NLME将告知应用层它要求的建立网络的状态,这通过NLME-NETWORK-FORMATION.confirm原语来实现[5]。如图4就是协调器建立网络过程图。
ZigBee协调器节点建立网络后,路由节点或终端节点可以加入该网络。加入方式有两种:第一种关联方式,当某设备希望加入网络成为一个子设备时,应用层向网络层发送一个NLME-NETWORK-DISCOVERY.request原语。然后网络层再向MAC层发送服务请求开始信道扫描。根据扫描网络的结果,选择一个网络加入。向网络层发NLME-JOIN.request原语。MAC层发送MLME-ASSCIATE.confirm原语向网络层报告连接情况。另外一种连接方式是子设备以直接方式加入网络。这种情况,网络协调器事先已保存了子设备的64位扩展地址。开始加入网络时,网络层的上层向网络层发送一个叫NLME-DIRECT-JOIN.request原语,这个原语中包含了一个64位的扩展地址,网络层接收到这个原语,就会检查自己的邻居表,是否在邻居表中发现与这个64位地址相匹配的值。如果发现,网络层管理实体就会禁止这个原语。如果没有找到与这个64位地址相匹配的值,网络层将本网络内的唯一的16位短地址分配给这个子设备。
5 结语
基于ZigBee技术的无线传感器网络成本低、功耗低、性能高。本文所采用的基于CC2530无线传感网络系统设计方案不失为一种较为高效、节能、抗干扰能力强的廉价组网方案。像例如环境的监测和保护、医疗护理、目标跟踪、工农业的数据采集等等,基于ZigBee技术的无线传感器网络将得到越来越多的关注与应用。
参考文献
[1]刘瑞霞,李春杰,郭 强.基于ZigBee 网状网络的分簇路由协议[J].计算机工程,2009,35(3):161-163,181.
[2]施承.基于ZigBcc协议的无线传感器网络关键技术的研究和实现[D].东南大学硕士论文,2006.
[3]张维勇,冯琳,魏振春.ZigBee实现家庭组网技术的研究叨.合肥工业大学学报,2005,28(7):75 5-759.
篇10
ZigBee技术在WSN(无线传感器网络)和物联网应用的提出已经有很多年了,并且ZigBee在智能化信息管理、电子收费系统、自动化控制监测和军用智能无人机器方面有广阔的市场前景。
WSN网络和物联网通信技术的不成熟、软硬件标准的不统一,信息安全方面特别是信息安全技术的敏感性和各个研发单位的安全技术保密的不成熟,而ZigBee网具有很强的安全、稳定性能,可以有效的解决这一难题。
由于ZigBee无线网应用极其广泛,选取POS收费系统应用作为具体研究对象,而且将ZigBee技术应用在POS收费系统上本身也是个研究前沿。所以,对确立在STM32单片机基础上,基于ZigBee无线网络的POS机信息安全问题进行整体的初步探讨,以期起到抛砖引玉的作用。
1 基于ZigBee无线网的POS系统信息安全环境
1.1 ZigBee网POS系统环境配置
具有安全特性的高性能、低功耗、自组网的ZigBee组网是当今WSN和物联网RFID技术组合的主流高新技术之一,相比蓝牙、Wi-Fi和GPRS,ZigBee组网更具有特别的安全性;而STM32单片机高效能、高可靠、低成本和技术成熟,还可以实现51单片机不能完成的复杂功能用途,是很有发展前途的一款单片机。
因此,STM32单片机是安全、稳定的ZigBee组网节点的恰当选择。μC/OSⅡ操作系统具有执行效率高、空间占用小、多任务、可扩展能力强和稳定可靠的特点,符合WSN的信息安全稳定工作要求。
建立在STM32单片机、ZigBee组网和μC/OSⅡ操作系统基础上的软硬件系统是建立低成本、高可靠、高安全的无线网的必要条件。将无线网络信息安全建立在使用STM32单片机、基于ZigBee组网和μC/OSⅡ等实时操作系统上的POS系统环境,相比建立在基于51单片机裸机上的ZigBee组网的POS系统环境,安全度更高更可靠。
1.2 ZigBee无线网的安全特性
ZigBee无线网是一种短距离、低功耗、自组网和高安全性的高新无线通信网络,由一个高性能的FFD(全功能节点)和多个的RFD(精简功能节点)组成PAN(私人用局域网)。只能有FFD建立PAN网,由多个PAN网建立整个ZigBee组网。
万一有FFD被击毁,可以由临近有效范围的FFD自动重新组网;当孤立的RFD不在FFD范围内,可以通过其他附近的FFD加入PAN网,灵活性和稳定性很高。由于ZigBee无线网的有群集性多跳性,定位节点位置是技术难题,就需要再组合GPS应用模块进行补充,
1.3 ZigBee无线网安全的关键技术
ZigBee的无线通信安全的关键是通信协议,ZigBee协议规范提供了信任中心、网络层安全和APS层安全,不提供链路层安全。ZigBee遵守IEEE802.15.4协议,并可以在简单的IEEE802.15.4协议基础上开发简单的WSN应用协议,用于建立小规模简易局域网如星型网。
甚至在此基础上自行开发大规模复杂的协议栈,比如用于智能家居自动监控系统的Mesh网。还可以创新多种功能的应用程序和系统软件。我们甚至可以把开发出来的有安全保护的协议栈固化到芯片中去,使用AES协处理器实现信息的硬件加密加速的功能,而我们的软件只需要设计一个自己的API接口就行。
1.4 ZigBee无线网的POS系统信息安全架构
针对ZigBee组网的POS系统信息安全问题,从上层到底层可分为:操作安全、网络安全、软件算法安全、底层硬件安全。操作安全要求有一套严格的操作规章制度,禁止未授权人非法使用、越权使用。网络安全要求网路的安全,包括接入点安全和网络协议族安全。软件算法安全最重要也很复杂,包括各种加解密算法安全、电子签名和身份认证。底层硬件安全包括、POS机安全和意外安全。
2 基于ZigBee无线网的POS系统软件算法安全及算法比较
身份认证可以使用不对称加密算法和对称加密算法,一般应使用不对称加密的RAS算法。使用预定好的密钥进行身份认证,身份认证成功后,对存储器的任何操作都是加密的。身份认证共有三轮,如图,流程为: 第一轮:a) 读写器指定要访问的存储区,并选择预定密钥A 或B。b) 射频卡从位块读取密钥和访问条件。然后,射频卡向读写器发送随机数。
第二轮:c) 读写器利用密钥和随机数计算回应值。回应值连同读写器的随机数,发送给射频卡。d) 射频卡通过与自己的随机数比较,验证读写器的回应值,再计算回应值并发送。
第三轮:读写器通过比较,验证射频卡的回应值,正确后才能对卡进行读写操作。这样认证加密后,就有效的保护了个人隐私。身份认证成功后,读写器/芯片指定后续读取的存储器位置,数据加密采用TEA、DES、AES等。为保证终端设备的安全,必须一卡一码,并且每次只能对一张卡操作。认证完成后才能进行卡的读写操作,每次只能有一张卡选中,获得认证后进行读写操作,其他的卡则进入休眠态,以保证不会出现由串卡现象引起的误操作。射频卡读写器的安全软件由生产商配备,并且通常要固化到硬件。
RSA算法的难度在于如何产生密钥对,RSA生成公钥的方法:任意选两个大素数M、N,选择一个加密密钥E,使E不是(M-1)和(N-1)的因子;
生成私钥D的公式:(D*E)MOD(P-1)*(Q-1)=1;
用公钥E加密公式:CT=PTEMOD(M*N);
用私钥D解密公式:PT=CTDMOD(M*N)。
在ZigBee网中,对于敏感性信息的安全保护没有太高要求的应用领域,在32位CPU或MPU处理器主频80Mhz情况下,使用对称加密方法的DES,加解密的速度为26.75Mbyte/s, 加解密的速度水平较高。如强化安全性能可以升级为更先进对称加密方法的AES,如使用AES加解密,加解密的速度11.69Mbyte/s, 加解密的速度水平中等,比前者慢。
在ZigBee网中,对于敏感性信息的安全保护有很高要求的领域,特别是在财务、金融和军用领域,必须要保证身份认证和数据信息的绝对安全。所以,算法必须使用复杂加密方法RSA,并配合数字签名。在32位CPU或MPU处理器主频80MHz情况下,1M的 RSA 签名次数 32 次/秒,认证次数 32 次/秒,正所谓慢工出细活。
RSA使用公钥密钥对机制,再配合数字认证可避免中间人攻击,这对于开放性更强的无线网络尤为重要。如果采用对称密钥算法,密钥容易被入侵者截获,对收发双方进行欺骗并非法获利。并且RSA伸缩性更好,所需密钥数与消息交换参与者个数相等。
而对称加密算法容易受到中间人攻击,密码会被盗用;并且一旦网络规模加大,密钥对的数目的需求成指数级别增长,是消息交换参与者个数的平方,在密钥发放过程中很容易泄密。因此,身份认证应采用安全度更高但速度慢的RSA;经常大量的数据包加密采用速度快的DES或AES,并可用ZigBee节点自带的AES协处理器进行硬件加速。若要进一步加速数据包加解密速度,可以将主节点与上位机的串行数据接口改为高速的USB接口,就可加快加解密速度。以下简述AES的应用程序设计。
3 POS系统的ZigBee网络安全
在TCP/IP各层数据安全中,ZigBee的网络数据信息安全的数据安全主要特点有:非法网络节点的过滤和无线网信息加密,可有效避免网络的非法入侵。通过IEEE802.15.4协议栈的应用库,例如如在基于MAC协议栈的MAC库API上,通过建立PAN网,每个PAN都有独有的PAN地址ID,这样就可通过PAN网ID和节点ID过滤来区分ZigBee网节点的合法性。在发送和接收数据包过程中,通过AES算法来加密来实现数据的信息安全。
据最新报道,AES加密算法已被国外顶尖专家破解,但是也不必惊慌,对于绝大多数情况下,附加其他综合安全措施,它目前还是很安全。AES高级加密标准(Rijndael算法)明文分块和密钥为可变长,加密的轮数为可变次,每一轮4步:第一步:使用S盒技术进行字节替换。
第二步移行,第一行不变,其他的行移动可变次数。第三步混合列。第四步,轮密钥加法,将密钥与输入的字符进行字节异或操作。其中的可变部分由用户自行确定后,生成的密文更难破译。
此外,网络接入点的防火墙也很重要,防火墙保护可信任内部网络免受不可信网络的入侵威胁,能极大地提高政府部门、企业内部网络的信息安全,同时允许信任的双方通信,并通过过滤不安全的网络服务而降低风险。
ZigBee无线网的接入点也必须要有完备的防火墙设置,采用路由器相互认证、地址翻译等方法,方可有效防止假冒的路由器接入内网和非法截取私有敏感数据,以确保无线网的信息安全。
在以STM32单片机为节点的ZigBee无线网,可加载GPS卫星定位模块,将关键的可读写的FFD节点中嵌入GPS模块并且全部定好位,并将地址上传到主控机节点,而执行多跳的RFD节点不加载GPS模块,以减少信息安全成本。这样,凡是不在正确的GPS位置的非法入侵FFD节点一律无法加入ZigBee网并且会导致启动入侵报警程序。
4 POS系统硬件安全
由于是无线网,ZigBee网的安装和POS机入网离网非常方便,易于随身携带,比固定POS机好保管、防盗。在POS机内置高容量缓存,可暂时保存网络通信延迟信息。内置后备供电池,防止突发停电。配置后备存储器,暂时断网后可脱机保存消费信息。
5 结束语
基于ZigBee无线网的POS系统信息安全不仅要有严密的安全算法,健全的软、硬件和网络安全环境也起了不可替代的作用。此外,无线网信息安全应当考虑到加解密算法的安全性能、成本和时间的平衡点,寻求安全、低价和快速的实施方案。有有效的方法就是:首先,身份认证采用安全度更高但速度慢的RSA算法,极度敏感数据采用加载GPS模块的STM32单片机来定位入侵;
其次,经常大量的数据包加密采用安全度较低但速度快的AES算法,并采用低价、高效和低功耗的STM32单片机为节点的ZigBee无线网,使用AES协处理器加速加解密处理;
第三,ZigBee无线网组网的FFD节点加载GPS定位模块,并登记GPS地址到主控机,解决ZigBee节点的准确定位问题,防止非法节点冒名顶替和准确定位入侵者。 最后,ZigBee无线网的接入点必须采用防火墙。只有软硬件互相配合和严格的安全管理,才能保证基于ZigBee无线网的POS系统信息安全万无一失。