基于Zig Bee的无线传感器网络大气监测系统设计*
2014-12-31王文博赵培陆梅笑冬卢革宇
王文博,赵培陆,梅笑冬,王 彪,卢革宇
(1.吉林大学电子科学与工程学院,集成光电子学国家重点实验室吉林大学实验区,吉林长春 130012;2.中国科学院长春光学精密机械与物理研究所,吉林长春 130033)
0 引言
近些年来,随着大气环境污染问题的不断加重和人们的环保意识不断增强,环境监测问题日渐得到了越来越广泛的关注。目前,国内的大气环境监测方法主要有2种:一种是人工取样实验室分析法,这种方法设备条件要求低、操作相对简单,但是整个监测过程耗时较长,不能满足对大气环境进行实时监测的要求;另一种是在线监测法,虽然这种方法具有监测准确、分辨率高以及灵敏度高等优点,但是目前此方法主要依赖于国外进口设备,依然无法为全面准确监测大气环境提供一个有力的保障[1]。针对这一现状,本文设计了一种基于Zig Bee技术[2]的大气监测系统。该系统成本低廉,可以在大范围内对多种不同的大气污染物进行监测,并且操作简便,具有良好的实时性。
1 系统总体概述
该大气监测系统主要由无线传感器网络和远程监测中心组成,无线传感器网络包括Zig Bee网络和GPRS网络。Zig Bee网络有3种类型的网络拓扑结构,分别是星型网络拓扑结构、网状网络拓扑结构和树状网络拓扑结构。星型网络拓扑结构中的终端节点需要在网关节点的范围内,从而限制了网络的覆盖范围;网状网络拓扑结构虽然具有可靠性高和覆盖范围大的优点,但是同样存在着管理复杂、电池使用寿命短等缺点[3];鉴于树状网络拓扑结构具有灵活、可靠、高效的特点,所以,本系统采用树状网络拓扑结构组建Zig Bee网络。为了使采集的气体体积分数数据实现远程传输,通过GPRS网络完成与远程监测中心通信。硬件方面,网络中的节点包括传感器节点和网关节点,其中传感器节点又包括终端节点和路由节点。终端节点主要负责采集大气中的气体体积分数数据,并将其传送至路由节点,再通过路由节点进行转发实现多跳方式的数据传输[4]。路由节点负责实现路由功能,同时为了在监测网络中获取更多的环境信息,路由节点还具有数据采集功能。网关节点主要负责汇总数据并通过GPRS与远程监测中心进行通信,将汇总的数据进行上传[5]。远程监测中心负责数据的接收、存储及显示。系统总体结构框图如图1所示。
图1 系统总体结构框图Fig 1 Block diagram of whole structure of system
2 无线传感器网络设计
2.1 传感器节点设计
传感器节点包括终端节点和路由节点,两者的硬件设计相同,都具有数据采集和无线通信功能[6]。唯一的区别在于终端节点只负责发送自身采集的数据,而路由节点除了发送自身采集的数据外,还要负责转发其子节点所采集的数据。
2.1.1 硬件设计
传感器节点由电源模块、传感器模块、模/数转换模块和核心处理模块组成。电源模块使用干电池对整个节点进行供电,并具有低电量检测功能[7]。
传感器模块选用的是费加罗公司的TGS2201型气体传感器,对NO2和CO气体的灵敏度较高,并且具有寿命长、功耗低等优点。TGS2201传感器是电阻型的器件,信号处理电路只需选择合适的负载电阻器与传感器电阻串联采集其分压信号即可。由于测量不同气体浓度时的传感器电阻值变化很大,为了提高模/数转换精度,选择3只电阻器串联,利用MAX4620模拟开关控制其3只电阻器实现3个不同的负载电阻档位,其信号处理电路图如图2所示。
图2 信号处理电路Fig 2 Signal processing circuit
模/数转换模块负责将从传感器模块上采集到的模拟电压信号转换成数字信号,并最终传送给核心处理模块。模/数转换模块基于Maxim公司生产的16位的MAX1300芯片设计完成,此芯片具有8个模拟输入信号通道,能够处理多只传感器的输入,因此,在一个监测点上能够方便地获取多个环境参数的数据,此外该芯片还具有功耗低、精度高等特点,能够很好地满足系统需要。
核心处理模块采用TI公司生产的CC2530作为主控制器,此芯片基于增强型8051内核设计而成,外设资源较丰富,内置了德州仪器的单元Zig Bee协议栈,提供了一个强大和完整的Zig Bee解决方案,另外,CC2530芯片还集成了一个IEEE 802.15.4兼容无线收发器,用于完成数据的无线收发功能。
2.1.2 软件设计
由于传感器节点主要被使用于户外环境,因此,需要使用独立便携的电源系统,在本设计中选择干电池进行供电。因为干电池的电量有限,而当电池电量耗尽时节点就会停止工作,并且导致部分网络终断[8],所以,当终端节点不进行数据发送时应该尽量减少节点的功耗,使其进入睡眠模式,即只有低频晶振工作而数字核心模块关闭,同时设定其睡眠计数器初值,当睡眠计数器溢出时再唤醒节点,对传感器上的相关数据进行采集和发送,之后再次进入睡眠模式[9]。当终端节点由于距离问题而无法直接与协调器通信时,就会自动向其周围节点广播自身信息,如果在其广播范围内发现路由节点,就将其中最匹配的路由节点确定为自身的父节点,从而实现数据的多跳传输。路由节点主要负责采集数据并转发其子节点的数据。路由节点加入网络之后,一方面与终端节点建立父子关系,接收其子节点传送的数据;另一方面,自身采集环境数据,再将数据转发到它的上一级路由节点或者网关节点中[10],路由节点与终端节点程序流程图如图3所示。
图3 路由节点与终端节点程序流程图Fig 3 Program flow chart of routing and end node
2.2 网关节点设计
2.2.1 硬件设计网关节点由电源模块、主控制器模块、Zig Bee无线通信模块及GPRS通信模块组成。因为网关节点对处理能力和运算速度的要求比较高,所以,采用基于ARM7TDMI—S内核的LPC2138作为主控制器。LPC2138是Philips Semiconductors公司生产的16/32位微控制器,其最高CPU操作频率可达60 MHz。Zig Bee无线通信模块与传感器节点相同都是基于TI公司的CC2530芯片设计完成。GPRS模块基于SIMCOM公司的SIM900芯片搭建完成,该芯片是紧凑型、高可靠性的四频GSM/GPRS模块 ,且内部集成了TCP/IP协议栈,使模块开发变得简单、方便。网关节点结构框图如图4所示。
图4 网关节点结构框图Fig 4 Structure block diagram of gateway node
2.2.2 软件设计
Zig Bee无线通信模块实现2个功能:一是组建Zig Bee网络并与网络中的其他节点进行通信,二是通过串口将数据传输至LPC2138。系统上电后,网关节点上的Zig Bee无线通信模块(即协调器)进行网络初始化,找到在工作频率范围内的最优信道建立网络,并确定一个PANID网络标识;然后协调器向网络中的各个节点发送网络参数,通知其加入网络,传感器节点收到参数之后即加入网络[11]。网络建立完成后,协调器接收网络中各个节点发送的数据包并通过中断的方式将这些数据包传送给LPC2138主控制器。主控制器接收到数据包之后通过向GPRS模块中写入相应的AT指令,将数据发送到无线公网,移动基站再将获取到的GPRS信号转到Internet,等待监测中心接收数据。
3 监测中心设计
监测中心利用Microsoft Visual C++6.0开发基于Socket的通信模块完成数据接收,同时监测中心能够实现数据显示与数据存储功能。通信模块的实现主要是采用socket套接字的非阻塞形式,创建套接字将其绑定到一个固定IP和端口上,再将其设为监听模式,准备接收请求,当有连接请求到来时建立接收和发送数据线程,从而接收GPRS模块传送的数据。监测中心接收到数据之后,对数据包进行解析,分离数据包中的数据,将节点自身16位短地址以及其父节点地址、气体体积分数数据进行数据类型转换并保存;数据显示模块能够实现列表显示与波形显示,方便监测人员了解相关监测信息;同时实现将数据存储在Excel表格中以便日后对数据的处理与分析[12]。
4 实验结果
本系统做了小规模的测试,搭建一个模拟的大气污染环境,即搭建了多个气室,选择监测的气体是NO2和CO。在实验现场部署了多个相互间距在100 m左右的传感器节点,组建成一个无线传感器网络,其中,路由节点每30 s传送一次数据,终端节点每10 s传送一次数据,并且利用GPRS模块将数据发送至远程监测中心,再由远程监测中心软件进行数据显示与存储。表1列出网络中的一个路由节点和一个终端节点采集的历史数据,完成了一个网关节点—路由节点—终端节点的网络分支,其中,网关节点的自身短地址是0x0000,路由节点的自身短地址是0x39D1,终端节点的自身短地址是0x2024,通过父节点地址和自身短地址可以看出它们是父子关系。
5 结论
针对大气监测的需求,实现了一个基于Zig Bee技术的大气监测系统,解决了目前大气监测维护困难、实时性差等问题。系统利用Zig Bee协议组建树状拓扑结构的网络,并完成网络中传感器节点的软硬件设计,实现了多节点数据采集,多跳传输的方式扩大了监测网络的覆盖范围;利用LPC2138作为网关节点的主控制器提高了系统的运行速度和数据处理能力。为了实现远程监测功能,利用GPRS模块实现数据的远距离传输;利用Microsoft Visual C++6.0编写的上位机监测中心软件,完成数据的接收、显示以及存储,大大加强了监测软件的可操作性,并且使得监测界面更加友好。
表1 大气环境监测数据Tab 1 Monitoring data of air environment
[1]耿军涛,周小佳,张冰洁.基于无线传感器网络的大气环境监测系统设计[J].西华大学学报,2007,26(4):44-46.
[2]宋 谦,马树元,黄 杰,等.基于Zig Bee的无线扭矩测量系统研究[J].传感器与微系统,2013,32(6):40-42.
[3]常 超,鲜晓东,胡 颖.基于 WSNs的精准农业远程环境监测系统设[J].传感技术学报,2011,24(6):879-883.
[4]吕咸耀,左 莹,程卫平,等.基于磁致伸缩换能器的铁轨无线监测系统设计[J].电子科技,2012,25(8):110-113.
[5]王舒憬,党彦博,黄 河,等.Zig Bee无线传感器网络结合GPRS实现远程监控[J].仪表技术,2008(3):13-15.
[6]隋 振,刘洪岐,洪 伟.基于ZigBee协议的环境检测系统开发[J].吉林大学工学报,2011,29(4):297-303.
[7]庞 娜,程德福.基于ZigBee无线传感器网络的温室监测系统设计[J].吉林大学工学报,2010,18(1):55-60.
[8]苏维均,邵 军,于重重,等.基于Zig Bee的温室监测系统的低功耗设计[J].计算机测量与控制,2012,20(7):1812-1814.
[9]毛乾杰.用于环境监测的ZigBee无线传感器节点设计[J].计算机工程应用技术,2009,5(1):232-234.
[10]尹 航,张奇松,程志林.基于ZigBee无线网络的温湿度监测系统[J].机电工程,2008,25(11):20-23.
[11]李 劲,程绍艳,李佳林,等.基于Zig Bee技术的无线数据采集网络[J].测控技术,2007,26(8):63-65.
[12]王中生,曹 梅.基于 Zig Bee的串口监控软件设计与实现[J].电子设计工程,2011,19(14):13-15.