传感网技术以互联网为代表的计算机网络技术是二十世纪计算机科学的一项伟大成果,它给我们的生活带来了深刻的变化。然而网络功能再强大,网络世界再丰富,也终究是虚拟的,它与我们所生活的现实世界还是相隔的,在网络世界中很难感知现实世界。传感网络正是在这样的背景下应用而生的全新网络技术,它综合了传感器、低功耗、通讯以及微机电等技术。通过感知识别技术,让物品“开口说话、发布信息”,是融合物理世界和信息世界的重要一环,是物联网区别于其他网络的最独特的部分。物联网的“触手”是位于感知识别层的大量信息生成设备,包括RFID、传感网、定位系统等。传感网所感知的数据时物联网海量信息的重要来源之一。中国物联网校企联盟认为,传感网的飞速发展对于物联网领域的进步,实现物联网具有重要的意义。1.传感网概述传感网是物联网的重要技术支撑,是由各种传感器组成的信息获取的网络,是物联网感知和获取信息的主要手段。作为物联网中获取信息的感知层,是物联网的最底层,它传输层和应用层的关系如下图所示。图中,椭圆点画线内为通常所说的感知层,其功能完成对相关信息的采集、转换和收集。中间层为网络层,主要完成有线和无线网络的接入,实现信息的分发和传送。最上层为应用层,是将收集到的各种信息处理后,由应用平台控制指令发送到控制器,供用户使用。2.网络传感器网络化智能传感技术实现了传感器的网络化和智能化,从根本上改变了信息获取能力和信息控制能力。从空间域上讲,将会大大突破人类获取信息的地理空间限制,实现真正意义上的大规模信息获取与控制。从时间域上讲,各种“即插即用”传感器的应用将会大大缩短应用和配置的时间。这种新的信息获取能力和控制能力将会大大提高工业生产效率,改变工业、农业、军事、医疗、教育等诸多领域的现状。网络传感器通常是指将各种高可靠、低功耗、低成本、微体积的网络接口芯片集于一体的新型传感器。产品的特点是能够与计算机网络进行通信,能与现场总线等控制系统密切配合,成为人工智能系统、专家系统、模糊控制、神经网络控制等重要单元。3.无线智能网络传感器无线智能网络传感器多用在无人和偏远地区,以及战场等特殊环境下,无线接入方式在很多场合都得到应用,以取代原有的有线接入方式,时无线智能网络传感器成为传感器发展的一个重要方向,无线智能网络传感器系统是新一代传感器系统,较有线智能网络传感器系统的优势在于易部署、扩展性好、容错能力强。目前比较常用的无线通信技术有蓝牙技术(IEEE802.15.1)、射频技术(RF)超宽带无线技术、ZigBee技术(IEEE802.15.4)等。ZjgBee是一种新兴的短距离、低速率无线网络技术,主要用于近距离的无线连接,能够实现多节点间的相互协调通信,只需要很少的能量,以自组网多跳的方式进行数据传输,已被认为比较适合无线传感网络的通信协议ZigBee协议ZjgBee标准依照7层OSI开放系统互连参考模型建立起来。每一层为上层提供一系列特殊服务,数据实体提供数据传输服务,管理则提供所有其他服务。所有的服务实体通过服务接入点SAP为上层提供你一个借口,每个SAP都支持一定数量的服务原语来实现所需的功能。ZjgBee标准的协议框架结构如图所示,其中IEEE802.15.4标准定义了底层即物理层PHY和介质访问控制层MAC。ZigBee联盟在此基础上定义了网络层NWK和应用层APL架构。应用层包括应用支持子层APS、应用构架AF、ZigBee设备对象ZDO以及用户定义对象MDAO.1.物理层IEEE802.15.4物理层定义了无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。物理层数据服务从无线物理信道上收发数据,物理层管理服务维护一个由物理层相关数据组成的数据库。根据标准的定义,物理层能实现以下功能:激活和休眠射频收发器、对当前信道进行能量检测ED、对收发包进行链路质量指示LQI、收发数据和空闲信道评估CCA等。2.介质访问控制层MACIEEE802.15.4定义的MAC层提供两种服务:MAC层数据服务和MAC层管理服务。前者保证MAC层数据协议单元在物理层数据服务中的正确收发,后者维护一个存储MAC子层协议状态相关的数据库3.网络层网络层需要提供保证IEEE802.15.4MAC层正确操作的函数,并为应用层提供服务接口。网络层为应用层提供了两种服务实体:数据实体NLDE和管理实体NLME的接口。网路层数据实体NLDE需要提供一种数据服务,来允许应用程序在两个或多个设备间传输应用协议数据,网络管理实体NLME负责提供允许应用程序与协议栈交互的管理服务。NLME利用NLDE来完成一些管理任务,同时它负责维护网络信息数据库NIB。4.应用层应用层是ZigBee协议栈的最高层。应用层主要负责把不同的应用映射到ZigBee网络,包括应用支持层APS、ZigBee设备对象ZDO和应用对象AO。应用支持层提供两个接口:应用支持层管理素具实体服务接入点APSME—SAP、应用支持层数据实体服务接入点ASPDE—SAP。前者用于实现安全性并通过协调的ZDO来接受应用层的信息,后者通过应用对象和ADO来发送数据。一、ZigBee协议栈中的术语1.Profile。Profile是对逻辑设备及其接口的描述集合,是面向某个应用类型的公约和准则。它规定不同设备对消息帧的处理行为,使不同的设备之间可以通过发送命令或数据请求来实现互操作。2.Endpoint。Endpoint是物理设备中的逻辑设备,每一个物理设备可支持240个这样的逻辑设备,其中逻辑设备号0用于整个ZigBee设备的配置和管理,也就是物理设备本身。应用程序可以通过短点0与ZigBee其他层通信,从而实现对这些层的初始化和配置,附属在端点0的对象被称为ZigBee其他层通信,从而实现对这些层的初始化和配置,附属点0的对象被称为ZigBee设备对象。3.Cluster。端点之间的通信是通过称为簇的数据结构实现的。这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。4.Attribute。这是一个数据实体,代表一个物理量或者物理状态,可以通过这个网络变量在设备之间传递数据或命令。5.Binding。这是在逻辑端点Endpoint或Cluster对和一个目的逻辑端点Endpoint之间,建立一个单向的逻辑连接,即基于两台设备的服务和需要将他们匹配地连接起来。二、ZigBee数据传输机制数据传输到终端设备和从终端设备传输数据的确切机制,随网络类型的不同而有所不同。在无信标的星型网络中,当终端设备希望发送数据帧时,它只需等待信道变为空闲。在检测到空闲信道条件时,它将帧发送到协调器。如果协调器想要将此数据发送到终端设备,它会将数据帧保存在其发送的缓冲器中,直到目标终端设备明确地来查询该数据为止。终端设备必须查询协调器以获取其数据,而不是保持接收器开启,从而允许终端设备降低其功耗要求。根据应用的要求,在绝大部分时间内终端设备处于休眠状态,仅定期地唤醒设备来发送或接受数据。在无线传感器网络中,传送的基本上是短消息。信息的格式包括帧头、数据内容和帧尾,数据内容的格式目前有两种,一种是KVP,另外是MSG。KVP帧是ZigBee规范定义的数据传输机制,通过一种规定来标准化数据传输格式和内容,主要用于传输较简单的变量值格式数据,其格式比较严格。MSG帧相对于KVP帧在结构上来说相对自由很多,主要用于专用的数据流或文件数据等数据量较大的传输机制。在应用程序中,将规定用什么样的帧结构来传送指定的数据。两种结构中都包含ClusterID信息,但是在一个Cluster中不会同时包含这两种帧。三、ZigBee网络路由的实现1.ZigBee路由基本算法通常ZigBee网络的协调器与路由器支持下列路由操作。(1)在路由查找及路由修补时,使用ZigBee路径损耗度量。(2)维护路由表以记录最佳的可利用路径(3)为应用层初始化路由查找(4)为其他路由器初始化路由查找(5)初始化端到端路由修补(6)为其他路由器初始化本地路由修补当网络层接收的数据帧来自于MAC子层时,设备会首先判定该数据帧是否为广播帧。如果是,网络层将向其他设备转发该帧,同时将广播帧发布到应用层进行处理。如果不是,网络层会通过比较帧目的地址与自身的逻辑地址,来判定是否自己就是目标设备。若两个地址相等,该数据帧会被送到上一层进行处理。如果不等,则说明该设备为中介设备,要继续进行帧的转发。当网络层接收的数据帧来自于应用层时,如果目的地址为广播地址,则网络层将广播发送该帧。比较简单的情况是帧的目的地址为终端设备,且为发送广播帧设备的孩子,则该帧可通过数据请求原语直接发送到目的设备,且下一跳地址即为最终的目的地址。通常一个拥有路由容量的设备会经常检查其网络帧头控制域中的查找路径子域,如果查找路劲子域的值为0x02,设备会立即初始化查找。否则,设备将搜索路由表,查找与帧目的地址相一致的记录项。如果存在这样一个一个记录项,且该记录项的路径状态域为激活,则设备可利用数据请求原语转发该帧。当转发一个数据帧时,数据请求原语中的源地址模式和目的地址模式参数值皆为0x02,源个域网ID目的个域网ID皆应等于转发设备的记录项的下一跳地址域决定。如果路由表中与目的地址的记录项的路径状态域查找过程中,说明该路由查找已经被初始化,通常网络中所有的非协调器设备都是协调器的后裔,没有设备室终端设备的后裔。对于ZigBee路由器来说,当地址为An,纵深为d时,如果下列逻辑为真,则地址为D的目的设备即为它的一个后裔,即ADA+Cskip(d-1)若通过该逻辑表达式确定了目的设备为转发设备的后裔,则下一跳的地址为N=D。对于ZigBee终端设备而言,当DA+Rm*Cskip(d)时,N由下式求得:N=A+1+D-((A+1)/Cskid(d))*Cskip(d)2.路由方式路由的设定通常有禁止路由发现、使能路由发现和强制路由发现3中模式。(1)禁止路由发现。如果发现网络路由器存在,数据包路由指向该路由器。否则,数据包沿着树形推进。(2)使能路由发现。如果发现网络路由器存在,数据包路由指向该路由器。如果网络路由器不能确定,路由器可以启动一个路由发现过程,当发现完成,数据包将沿着计算机出来的路由传送。如果该路由器没有路由发现能力,数据包将沿着树形推进。(3)强制路由发现。如果路由器没有路由发现能力,不管路由是否已经存在,都将启动一个路由发现过程,当发现完成,数据包将沿着计算出来的路由传送。如果这个路由器没有路由发现能力,数据包将沿着树形推进。这个选择必须小心使用,因为它会产生较大的网络冗余,它的主要用途是修复破坏了的路由。对于树形拓扑结构设备间的数据转发,通常可将源地址简化为上行路由(RouteUP)h或下行路由(RouteDown)。如果LocalAddrDestAddrLocalAddr+Cskid(d-1),则为下行路由;否则为上行路由。通常网络的协调器与路由器都含有一个邻接设备表,该表记录了一定区域内与其有邻接关系的设备。若想使用邻接表进行路由,只要目标设备在物理区域内可见,即可直接发送信息。对于网络拓扑结构,要使用路由表进行路由,通常协调器或路由器都拥有自己的路由表,如果目标设备在路由表中有相关的记录,那么信息就可以根据路由表中的记录进行发送,否则要沿着树形拓扑来传输数据。四、ZigBee网络的自适应机制1.网络负载问题网络自适应机制主要是为解决网络的负载平衡而专门为ZigBee网络设置的一种均衡机制,该机制对ZigBee网络主要有两种情况下适应:一种是网络形成时的网络负载均衡,另一种是网络形成后的自我调节负载均衡。当ZigBee网络形成时,加入终端设备节点加入网络路由设备过程无约束和无组织,这样就会使路由设备所加入的终端设备的数量出现很大的差距,进而使路由设备处理所负载的所有终端设备通信数据有很大差距,这样在大量的节点长时间通信时更会出现网络负载的不均衡现象,使整个网络的数据在各个设备间传输时出现严重的不平衡状态。一个路由设备数据已经传输完毕,而另一个路由设备还有大