无线传感器网络随着计算机技术、网络技术与无线通信技术的迅速发展,人们开始将无线网络技术与传感器技术相结合,无线传感器网络(WSN,wireless sensor network)应运而生。
它由部署在监测区域内大量的微型传感器节点组成,通过无线的方式形成的一个多跳的自组织网络,不仅可以接入Internet,还可适用于有线接入方式所不能胜任的场合,提供优质的数据传输服务。
微机电系统(MEMS,Micro-Electro-Mechanical Systems)、超大规模集成电路技术(VLSI,Very-Large-Scale-Integration systems)和无线通信技术的飞速发展,使得它的应用空间日趋广阔,遍及军事、民用、科研等领域;但由于网络结点自身固有的通信能力、能量、计算速度及存储容量等方面的限制,对无线传感器网络的研究具有很大的挑战性和宽广的空间。
本实验系统采用IEEE802.15.4和Zigbee协议实现了多个传感器节点之间的无线通信,通过对本实验提供的软件操作以及对路由的观察,能够使学生对无线传感器网络的组网过程、路由协议有一个较为深入的理解。
1 目的要求(1)理解并掌握无线传感器网络的工作原理及组网过程。
(2)理解无线传感器网络的路由算法。
2 基本原理2.1 概述微电子技术、计算技术和无线通信技术的进步推动了低功耗多功能传感器的快速发展,使其在微小的体积内能够集成信息采集、数据处理和无线通信等功能。
部署在监测区域内大量的廉价微型传感器节点通过无线通信的方式形成一个多跳的自组织网络,即无线传感器网络,这些节点可以协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。
传感器、感知对象和观察者构成了传感器网络的三个要素。
2.2 无线传感器网络结构无线传感器网络是一种特殊的Ad-hoc网络,它是由许多无线传感器节点协同组织起来的。
这些节点具有协同合作、信息采集、数据处理、无线通信等功能,可以随机或者特定地布置在监测区域内部或附近,它们之间通过特定的协议自组织起来,能够获取周围环境的信息并且相互协同工作完成特定任务。
无线传感器网络典型的体系结构如图1所示,包括分布式传感器节点、网关、互联网和监控中心等。
在传感器网络中,各个节点的功能都是相同的,它们既是信息包的发起者,也是信息包的转发者。
大量传感器节点被布置在整个监测区域中,每个节点将自己所探测到的有用信息通过初步的数据处理和信息融合之后传送给用户,数据传送的过程是通过相邻节点的接力传送方式传送给网关,然后再通过互联网、卫星信道或者移动通信网络传送给最终用户。
用户也可以对网络进行配置和管理,发布监测任务以及收集监测数据等。
传感器节点图1 无线传感器网络体系结构2.3传感器节点结构传感器节点通常是一个微型的嵌入式系统。
从网络功能上看,每个传感器节点既具有传统网络节点的终端功能,又兼具路由器的功能。
除了要进行本地信息收集和数据处理外,还要对其他节点转发来的数据进行存储、管理和融合等处理。
一个传感器节点通常由传感器模块、处理器模块、无线通信模块和能量供应模块四部分组成,如图2所示。
传感模块负责采集监测区域内的有用信息并进行数据转换;处理器模块负责控制整个传感器节点的运行,存储和处理本身采集的数据以及其他节点发来的数据;无线通信模块负责与其他传感器节点进行无线通信,交换控制信息和收发采集到的数据;能量供应模块为传感器节点提供运行所需的能量,通常采用微型电池。
传感器节点为低功耗设备,为了最大限度地节约电源,在硬件设计方面,要尽量采用低功耗器件,处理器通常选用嵌入式CPU,射频单元主要由低功耗、短距离的无线通信模块组成,在没有通信任务的时候,要切断射频部分电源;而且在软件设计方面,各层通信协议都应该以节能为中心,必要时可以牺牲一些网络性能指标,以获得更高的电源效率。
图2 传感器节点的体系结构2.4 无线传感器网络协议栈无线传感器网络通信协议主要包括物理层、数据链路层、网络层、传输层和应用层,与互联网协议栈的五层协议相对应。
在低层采用IEEE802.15.4工作组所定义的MAC层和物理层协议,而在MAC层以上的协议则是由Zigbee联盟制定。
完整的Zigbee协议栈模型如图3所示。
另外,协议栈还包括能量管理平台、移动管理平台和任务管理平台。
这些管理平台使得传感器节点能够按照能源高效的方式协同工作,在节点移动的传感器网络中转发数据,并支持多任务和资源共享。
图3 Zigbee协议栈2.4.1 物理层物理层负责载波频率产生、信号的调制解调等工作。
IEEE802.15.4定义了2.4GHz物理层和868/915MHz物理层两个物理层标准,两个物理层都基于DSSS(Direct Sequence Spread Spectrum,直接序列扩频),使用相同的物理层数据包格式,区别在于工作频率、调制技术、扩频码片长度和传输速率的不同。
2.4GHz频段有16个信道,能够提供250kbps的传输速率,物理层采用的是O-QPSK调制;868MHz是欧洲的ISM频段,只用一个信道,传输速率为20kbps,物理层采用BPSK调制;915MHz是美国的ISM频段,有10个信道,传输速率为40kbps,物理层采用的也是BPSK调制方式。
2.4.2 数据链路层数据链路层负责数据成帧、帧检测、媒体访问和差错控制。
媒体访问协议保证可靠的点对点和点对多点通信,差错控制则保证源节点发出的信息可以完整、无误地到达目标节点。
就实现机制而言,介质访问控制(MAC)协议可分为3类:确定性分配、竞争占用和随机访问。
前两者不是传感器网络的理想选择。
因为TDMA固定时隙的发送模式功耗过大,为了节省功耗,空闲状态应关闭发射机,竞争占用方案需要实时监测信道状态,也不是一种合理的选择,随机介质访问模式比较适合于无线传感网络的节能要求。
IEEE802.15.4定义的MAC 层采用了CSMA-CA(载波监听多信道接入/避免冲突)协议的信道共享多点接入技术;为了保证传输的可靠行,还采用了完整的握手协议。
在无线传感器网络中,两个主要的错误控制模式是前向错误修正(FEC)和自动重复请求(ARQ)两种。
2.4.3 网络层网络层主要负责路由生成与路由选择。
网络层协议是无线传感器网络的重要因素,在无线传感器网络中,大多数节点是无法直接与网关进行通信的,需要通过中间节点进行多跳路由才能将采集到的数据发送给网关。
针对无线传感器网络中数据传送的特点和难题,人们提出许多新的路由协议。
这些路由协议可以大致分为四类:洪泛式路由协议、层次式路由协议、以数据为中心的路由协议、以及基于位置信息的路由协议。
1.洪泛式路由协议:这种协议是一种古老的协议。
它不需要维护网络的拓扑结构和路由计算,接收到消息的节点以广播形式转发数据包给所有的邻节点。
对于自组织的传感器网络,洪泛式路由是一种较直接的实现方法,但容易带来消息的“内爆”(implosion)和“重叠”(overlap),而且它没有考虑能源方面的限制,具有“资源盲点”(resource blindness)的缺点。
典型算法为扩散法(Flooding)。
2.层次式路由协议:它的基本思想是将传感节点分簇,簇内通讯由簇头节点来完成,簇头节点进行数据聚集和合成减少传输信息量,最后簇头节点把聚集的数据传送给终端节点。
这种方式能满足传感器网络的可扩展性,有效的维持传感节点的能量消耗,从而延长网络生命周期。
典型算法为低功耗自适应聚类路由算法(LEACH )。
LEACH (low energy adaptive clustering hierarchy )LEACH 是MIT 的Chandrakasan 等人为无线传感器网络设计的低功耗自适应聚类路由算法。
与一般的平面多跳路由协议和静态聚类算法相比,LEACH 可以将网络生命周期延长15%,主要通过随机选择聚类首领,平均分担中继通信业务来实现。
LEACH 定义了“轮”(round)的概念,一轮由初始化和稳定工作两个阶段组成。
为了避免额外的处理开销,稳定态一般持续相对较长的时间。
在初始化阶段,聚类首领是通过下面的机制产生的。
传感器节点生成0,1之间的随机数,如果大于阈值T ,则选该节点为聚类首领。
T 的计算方法如下: 1[mod(1/)]p T p r p =- 其中p 为节点中成为聚类首领的百分数,r 是当前的轮数。
一旦聚类首领被选定,它们便主动向所有节点广播这一消息。
依据接收信号的强度,节点选择它所要加入的组,并告知相应的聚类首领。
基于时分复用的方式,聚类首领为其中的每个成员分配通信时隙。
在稳定工作阶段,节点持续采集监测数据,传与聚类首领,进行必要的融合处理之后,发送到sink 节点,这是一种减小通信业务量的合理工作模式。
持续一段时间以后,整个网络进入下一轮工作周期,重新选择聚类首领。
3.以数据为中心的路由协议:它提出对传感器网络中的数据用特定的描述方式命名,数据传送基于数据查询并依赖数据命名,所有的数据通信都限制局部范围内。
这种方式的通信不再依赖特定的节点,而是依赖于网络中的数据,从而减少了网络中大量传送的重复冗余数据,降低了不必要的开销,从而延长网络生命周期。
典型算法为向扩散(Directed Diffusion )。
定向扩散模型是Estrin 等人专门为传感器网络设计的路由策略,与已有的路由算法有着截然不同的实现机制。
节点用一组属性值来命名它所生成的数据,比如将地震波传感器生成的数据命名为Type=seismic ,id=12,timestamp=02.01.22/21:10:23,location=75−80S/100−120E 。
Sink 节点发出的查询业务也用属性的组合表示,逐级扩散,最终遍历全网,找到所有匹配的原始数据。
有一个称为“梯度”的变量与整个业务请求的扩散过程相联系,反映了网络中间节点对匹配请求条件的数据源的近似判断。
更直接的方法是节点用一组标量值表示它的选择,值越大意味着向该方向继续搜索获得匹配数据的可能性越大,这样的处理最终将会在整个网络中为sink 节点的请求建立一个临时的“梯度”场,匹配数据可以沿“梯度”最大的方向中继回sink 节点。
图4描述了定向扩散模型的工作原理。
图4 定向扩散路由原理4.基于位置信息的路由协议:它利用节点的位置信息,把查询或者数据转发给需要的地域,从而缩减数据的传送范围。
实际上许多传感器网络的路由协议都假设节点的位置信息为已知,所以可以方便的利用节点的位置信息将节点分为不同的域(region)。
基于域进行数据传送能缩减传送范围缓和中间节点,从而延长网络生命周期。
典型算法为GEAR算法。
GEAR是充分考虑了能源有效性的基于位置的路由协议,它比其他的基于位置的路由协议能更好的应用于无线传感器网络之中。