ZigBee无线传感器网络在远程环境监测中的应用
0 引言
2008年5月12日,8级强震袭击了中国西南部,遇难69227人,受伤374643人,失踪17923人,直接经济损失达845l亿元;2009年8月2日台风莫拉克登陆,造成财产损失至少34亿美元。上述这些骇人的数据足以提醒人们迫切需要对环境进行精确、实时监控,以降低火灾、自然灾害等对人类造成的生命财产损失。但是,传统的有线方式布线难度大、成本高且维护困难,因而需要另一种体系结构来对无人职守的环境进行实时连续地监控,从而让监控网络摆脱电缆布线和人工坚守的束缚。
在无线传感器网络中,传感器节点可通过飞机布撒,人工布置等方式,以一定的间隔距离分布在监控区域内。这些节点再通过自组织方式构成无线网络,并以协作的方式感知、采集和处理网络覆盖区域中特定的信息,从而实现对任意地点信息在任意时间的采集、处理和分析。这种以自组织形式构成的网络,可通过多跳中继方式将数据传回中心控制节点,最后将整个区域内的数据传送到远程控制中心来进行集中处理。
目前迫切需要一种符合低端、面向控制、应用简单的专用标准,而Zigbee的出现正好解决了这一问题。Zigbee有着高通信效率、低复杂度、低功耗、低成本、高安全性以及全数字化等诸多优点。这些优点使得Zigbee和无线传感器网络完美地结合在一起。目前,基于Zigbee技术的无线传感器网络的研究和开发已得到越来越多的关注。
ZigBee是基于IEEE802.15.4无线标准研制开发的一种短距离、低功耗、低成本的无线组网技术。ZigBee所使用的频段是免费开放的,分别为2.4GHz(全球)、915MHz(美国)和868MHz(欧洲),传输范围依赖于输出功率和信道环境,一般介于10米到100米之间,并支持无限扩展。在ZigBee网络中存在三种逻辑设备类型:协调器、路由器和终端设备。协调器包含所有的网络消息,并具有存储容量大、计算能力强等特点,其主要任务是发送网络信标、建立一个网络、管理网络节点、存储网络节点信息、寻找一对节点间的路由消息和不断地接收信息;路由器的功能主要是允许其他设备加入网络、多跳路由和协助自己由电池供电的子终端设备的通讯;终端设备没有特定的维持网络结构的责任。可以睡眠或者唤醒,因此,它可作为一个电池供电设备。
本文提出的无线传感器解决方案的体系结构由传感器节点、中心控制节点和环境信息监控中心三部分组成。其系统结构框图如图l所示。基于实时性、便捷性和运行成本的考虑,本系统采用基于ZigBee技术的无线传感器网络来实现环境数据的采集和上传。传感器节点则通过人工布置或飞机分撒等方式分布在监测区域内,通过自组织形式形成无线多跳网络,在采集环境数据后,可直接或经路由器间接地将环境数据上传到中心控制节点,中心控制节点则通过串口将环境数据传输到监控中心计算机上进行环境数据分析、存储和预警。
2 无线传感器网络硬件设计
无线传感器网络是整个系统的核心,也是本设计的重点。它主要由一个中心控制节点和多个传感器节点构成,主要功能是利用传感器技术采集环境数据,同时采用ZigBee技术形成无线多跳网络,从而实现环境数据在无线传感器网络中的传输。
2.1 无线通信模块选型
目前市场上针对ZigBee标准研制的芯片已经有很多种,比较典型的产品有TI公司的CC2430、Helicomm公司的IP-Link系列和Freeseale公司的MCl3192/3等。综合考虑到系统的稳定性、节能性和传输频率的需求,本系统的无线通信模块采用TI公司针对低系统成本、低功耗方面发布的射频芯片CC2430来设计。图2所示是CC2430的应用设计电路。
CC2430是真正的系统芯片CMOS解决方案。这种解决方案能够提高性能并满足以ZigBee为基础的2.4 GHz ISM波段应用对低成本、低功耗的要求。CC2430在单个芯片上整合了ZigBee射频前端、内存和微控制器。它使用1个8位8051MCU,并具有32/64/128 KB可编程闪存和8 KB的RAM,还包含模拟数字转换器、几个定时器、AESl28协同处理器、看门狗定时器、32 kHz晶振、休眠模式定时器、上电复位电路、掉电检测电路以及21个可编程I/O引脚。
对于环境远程监测系统来说。一方面需要对监测区域内的环境参数进行实时、精确地采集,整体了解监测区域的温度、湿度等参数分布状况,并进行必要的预测;另一方面,当某一参数值出现异常时,还要求网络应能及时报警,以预防事故发生。野外环境的各种参数变化比较缓慢,但是从缓慢的变化中可以看出变化的趋势,因而需要对环境数据做周期性的采集并向上报告,以便管理人员根据数据的变化对可能出现的危险提前做出预测并采取相应的处理措施,从而尽可能避免灾难的发生。但考虑到节点的能耗要求,节点不应该一直不停歇的对监测区域的环境参数进行采集,因此,本系统传感器节点的设计采用电池供电,中心控制节点采用稳压电源供电。中心控制节点与监控中心通过串口相连。
2.2 无线传感器节点的结构设计
传感器节点是系统的数据源,它主要由湿度、温度、烟尘等多路传感器采集模块、信号调理模块和无线收发模块组成,负责采集和上传监测区域内的各种环境参数和接收环境监控中心发送的模式控制命令。为满足野外无人值守的需求,设计可采用电池供电方式。其硬件结构框图如图3所示。
中心控制节点负责启动整个网络和维护节点,采集无线传感器网络上传来的环境参数,并通过串口发送到监控中心计算机上,同时侦听串口接收中断,用以向传感器节点发送模式控制指令,因此,在中心控制节点的硬件平台上可扩展使用RS232串口。考虑到功耗等问题,电源系统的设计采用稳压电源供电,这样电量较为充足,能够满足系统需求。除了上述特殊需求外,中心控制节点的结构设计与传感器节点的不同之处是其不包含传感器组和信号调理模块。
3 软件程序设计
3.1 无线传感器网络层数据帧
传感器节点、中心控制节点之间的数据传输必须遵循一定的数据格式,才能保证传输数据的正确性和有效性。一种有效的数据帧格式对于通信网络中数据的准确传输能起到事半功倍的效果。数据帧的定义应该满足两个条件:一是要具有很好的扩展性,以方便系统扩展其他服务;二是要尽量简洁,以减少通信网络中的数据流量,使数据通信更通畅。
当传感器节点向中心控制节点发送数据时,必须让中心控制节点知道自己上传数据的类型以及自己的设备特征,这样,当出现异常时,监测网络就可以报告出现异常的区域以及异常的特征。考虑到这个需求,在网络中传输的数据就必须按照网络约定的格式进行存储。图4所示是无线传感器网络层数据帧的格式定义。
其中OXAAH为帧头,是一个数据帧开始的标志;
0XBBH为帧尾,是一个数据帧结束的标志;
校验和用于表示通过校验位来检验数据帧在传输过程中是不是发生了数据位的改变,通常从帧类型到数据域尾进行加和校验;
通过帧类型域可以判断此数据帧所携带的是哪一种数据。为了满足系统需求,一般可设置周期采集数据和中断数据两种数据类型。其中“0X01H”表示中断数据, “0X02H”表示周期采集数据。
利用设备标识,在无线传感器网络中,传感器节点在此域中写入自己的短地址的低字节作为自己的标志,上级网络根据这个标志就可以知道是哪个设备的数据。
数据域是数据帧的主要部分。在无线传感器网络中,数据域包括系统定义的几种参数测量值(3字节ASII码)。在系统定义的数据帧格式中,各个参数的位置是固定不变的,顺序依次为温度值、湿度值、节点电池电压值,因此,数据域的长度为固定的9字节。存放测量值的数据域每次都在传感器点采集数据前都将民初始化为全0,这样,如果某个参数没有传递过来自己的测量值,上级设备就可以根据某段数据是否为全0来判断数据是否成功采集。
3.2 中心控制节点程序设计
中心控制节点是无线传感器网络与监控中心交互的关键部分。它作为无线传感器网络的协调器,可建立一个新的ZigBee无线通信网络,以负责网络标识符的选取,并允许加入网络,实施节点绑定;接收传感器节点的环境数据,并进行预处理;同时,还通过RS232串口将数据传输到监控中心进行数据分析和处理。因此,中心控制节点应该一直处于活跃的工作状态,时刻监听无线数据和串口数据,其中心控制节点的设计流程如图5所示。
中心控制节点在无线传感器网络中充当着协调器的角色,它应该具有建立一个新的网络并允许其他节点加入的能力;同时,中心控制节点还要实现无线传感器网络和监控中心计算机的数据通信功能。中心控制节点工作时,首先用电源开关S1启动监测站网关,以开始建立一个新的网络过程,并进行串口初始化。监测站网关的应用程序应通过应用层接口与协议栈连接,从而建立网络、允许加入网络和绑定等,而且这些工作应在协议栈内自动完成。
初始化完毕后,中心控制节点即进入一个无限循环。在此循环中,中心控制节点首先判断是否有串口中断指令,然后响应指令,并将指令广播发送到传感器节点;若无串口中断数据,则侦听空中无线数据,若侦听到无线数据经加和校验判断为有效数据,则将数据通过串口发送到监控中心。
3.3 传感器节点程序设计
考虑到节点对能耗的要求,节点不应该一直不停歇的对监测区域的环境参数进行采集,因此,本系统为传感器节点设计了周期采集和睡眠两种工作模式。在周期采集模式下,网络中采集数据的节点将按照设定的时间间隔和循环采集次数对环境数据进行采集和上传,当采集发送指定次数后,传感器节点自动进入睡眠模式。传感器节点的工作流程如图6所示。
传感器节点初始化工作完成后,即可运行ZStack协议栈,以自动完成加入网络、建立邻居表等底层操作。应用层在收到成功入网的事件消息后,将设置睡眠定时器并开启全局中断,此后节点将进入睡眠状态以实现低功耗工作。在睡眠状态下,传感器节点的大部分内部电路掉电关闭,只有上电复位、外部中断、32.768 kHz睡眠时钟处于活跃状态,但此时传感器节点能够时刻侦听空中的无线数据。在睡眠模式下,若传感器节点侦听到无线数据,则对接收到的数据进行解析。若为有效的周期采集命令,则唤醒传感器节点进入周期采集工作模式,同时设置周期采集时间间隔Tc和采集次数N。开始循环采集上传环境数据。当采集发送到指定次数时,传感器节点又自动进入睡眠侦听模式。
若传感器节点未侦听到无线数据,则判断睡眠定时器是否溢出,若睡眠定时器未溢出,则继续睡眠侦听;反之,定时器溢出中断触发一次环境数据采集过程,并判断环境参数是否超出阈值,若超出阈值,则启动报警电路,并将异常数据打包发送到监测站网关;如果采集到的环境参数在正常范围内,则丢弃该数据,节点继续睡眠侦听。
4 结束语
本文提出了无线传感器网络环境监控系统的整体架构、底层硬件和应用程序软件的设计方法。该系统经连接测试可组成多层分簇无线网络,从而实现数据的传输,并可达到预期效果,同时系统稳定性、响应速度等性能都可满足实际需求。此外,本系统还具有良好的扩展性,可以根据具体要求方便地在数据采集模块上进行相应传感器的扩充以完成特定数据采集的需要。Zigbee无线传感器网络因其组网灵活、节点耗电低、可自动恢复等强大功能,其应用领域将会越来越广泛。
adc相关文章:adc是什么
传感器相关文章:传感器工作原理
路由器相关文章:路由器工作原理
路由器相关文章:路由器工作原理
波段开关相关文章:波段开关原理
风速传感器相关文章:风速传感器原理
评论