基于无线传感网络的环境监测系统*
2015-03-10林杰华谢仕义
王 骥,林杰华,谢仕义
(广东海洋大学信息学院,广东湛江524088)
无线传感网络WSN(Wireless Sensor Networks)是由大量小体积、低成本,具有无线通信能力、也能采集和处理相关数据的传感器节点组成[1]。WSN涉及多个专业领域的理论,同样也在多个工程领域中受到了广泛的关注[2]。WSN的产生和高速发展得益于现代网络技术、无线通信技术、传感器技术和嵌入式系统技术的快速发展[3-4]。由于WSN能够准确、快速地获取客观物理信息,在军事国防、工农业控制、智能家居、生物医疗和环境监控等多个领域得到了广泛应用[5]。
ZigBee是一种新兴的短距离、低功耗、低成本、低复杂度的短距离无线网络通信技术,它基于IEEE802.15.4标准,主要应用于低速传输,适合作无线传感器网络的通信协议[6-7]。ZigBee协议栈呈分层结构,每层为其上层提供特定的服务。ZigBee技术是构建在IEEE 802.15.4标准之上,IEEE 802.15.4标准仅定义了物理层(PHY)和媒体访问控制层(MAC)的规范[8]。ZigBee在802.15.4标准之上指定了网络层和应用层规范[9]。ZigBee协议的体系结构如图1所示。
图1 ZigBee协议的体系结构
ZigBee网络设有三种逻辑设备类型:协调器、路由器和终端设备,每个ZigBee网络都是由网关节点、若干个路由器和终端设备节点组成[10-11]。如图2所示,ZigBee的网络拓扑类型有3种:星型、树型和网状型[12]。
图2 ZigBee的网络拓扑结构
1 相关工作
本文研究目的是利用ZigBee技术结合WSN设计安全高效的、个性化的环境监测系统。许多本领域学者已经利用WSN设计了一些环境监测系统,代表性的成果有:雷旭等利用无线传感器网络设计了隧道环境信息监测系统。系统以STM32微控制器为核心设计了低功耗网络节点与网络汇聚节点设计了B/S模式访问的监控中心软件[13];梅海彬等提出了一种基于Arduino开放平台与XBee Pro增强通信距离的无线传感器网络,对近海环境进行了实时监测[14];陈克涛等设计了以CC2530为核心处理器的无线传感器网络农业环境监测网关节点[15-16];王德麾等提出一种基于无线传感器网络和3G/4G的远程环境监测系统[17];孙纪敏等研究了WSN接入In⁃ternet的 方 法[18];Arch Rock Corp 等 研 究 了IPV6WSN[19];另外,针对农田土壤参数(诸如温湿度等)的精确采集系统设计上,很多学者研究了土壤WSN精确化应用系统与实现的关键技术[20~23]。诸如此类,这些都是典型的WSN环境监测系统与关键技术研究的文献成果。概括这些目前WSN环境监测领域文献共性特点,大多是针对农业、海洋等某一领域设计的应用系统,缺乏共性通用的系统平台设计思想;另外由于缺乏目前云计算、Android等最先进的新技术植入,缺乏先进与人性化设计理念。针对这些弱点,本文进行了研究改进。实践证明本文设计的系统,用户随时随地都可以了解监测场所的环境信息,如:温度、湿度、可燃有毒气体及其浓度、火灾、光线明暗程度等数据。此外,系统利用数据融合技术实时闭环环境信息的预警决策,能根据信息特点实现对环境的智能化管理,如环境安全指数超标会做出决策并采取一些措施。
2 系统设计方案
整体系统框图如图3所示。本文环境监控系统分为三大部分:WSN终端节点、GPRS网关(控制/管理中心)和服务器/手机端APP/计算机端网页。
为了充分实现设计任务要求,优化现有WSN环境监测系统,本文系统智能网关系统设计为分为两部分:以CC2530为微控制器的控制中心与以STM32为微控制器的管理中心。而且主要在网关设计上利用软硬件优化实现系统的先进性与人性化理念。
2.1 GPRS智能网关
网关设计时技术上考虑与WSN节点、移动4G网络的双向交互并将二者无缝结合实现WSN远程有效通信。具体如下:①控制中心负责ZigBee网络的组建,接收来自传感器节点的传感数据,并将来自管理中心的指令发送到传感器节点或LED灯节点,同时还要将传感器数据发送到管理中心。②管理中心负责将来自控制中心的数据利用LCD显示屏实时显示并用SD卡保存,同时实现GPRS远程通信,即通过SIM900A将数据以GPRS的方式发送到服务器,或请求读取服务器上的数据。当然,用户是可以通过管理中心实现对传感网络中传感器节点的设置与管理。如:设置传感器节点采集传感数据的周期、信息融合、预警决策等。
图3 系统框图
2.2 传感器节点
本系统设计时考虑了4类传感节点,分别采集不同类型的环境信息。传感器节点实现对其环境信息的采集后,通过ZigBee无线传感网络节点协作将环境数据发送到控制中心并最终送达管理中心。系统的WSN节点既能够在用户需要时采集环境数据,也能按照所设定的采集周期长度来实现环境数据自动采集和发送,即工作方式采取主动与被动式随机选择的模式。而且当传感器节点设置为路由节点时,可以同时实现数据包的中转,从而扩大WSN的覆盖范围与数据传输能力。
2.3 服务器/手机端/电脑端
为了实现更大程度的智能化,系统采用了开放的物联网云平台Yeelink,通过GPRS将数据上传到Yeelink的服务器,用户就能通过安卓应用软件(An⁃droid App)和计算机网页查看数据,同时还可以设置相关监测目标数据与阈值,当超越了阈值就触发自动发微博功能来通知用户,保证用户快速有效地接收到信息并处理。实现了系统对环境监测的网络化、智能化。
3 系统硬件系统设计
在本设计中,下位机部分包括GPRS智能网关、4类传感节点和LED灯节点,各类传感器网络节点硬件电路除了传感器的不一样外,其他部分(CC2530最小系统、电源稳压模块)基本上一致,虽然涉及节点种类多,但都只在传感器模块的传感器种类上有区别。
3.1 传感器节点硬件设计
传感节点主要包括电源稳压模块、时钟/复位单元、射频天线单元、按键/LED单元和传感器模块等等,传感节点的系统结构图如图4所示。
图4 传感节点的系统结构图
3.2 智能网关硬件结构
网关功能特点如下:控制中心负责ZigBee网络的组建和相关控制,接收节点数据,发送命令到各节点,与管理中心实现数据交互;管理中心完成ZigBee网络的管理工作,计算机和管理中心采用USB和UART1的通讯方式可以对ZigBee网络完成相关配置,同时完成配置使用按键与LCD显示屏与WSN的功能结合。传感器的数据除了可以发送到服务器外,还可以保存到SD卡,保存周期可以按需设置。智能网关的硬件结构组成如图5所示。
图5 智能网关硬件结构
4 系统软件设计
4.1 节点通信程序设计
4.1.1 计算方法
温度传感器产生与环境绝对温度成正比输出电压。这个电压和温度的关系如方程(1)所示。
其中,uT为传感器输出电压,单位:mV,T为摄氏温度值。uT不是直接输出的电压,而是将其输入到ADC产生线性的二进制编码。编码如式子(2)所示。
其中C为ADC输出码;G为ADC传输函数(增益),本文实验中假设为2(随机);uREF为参考电压值,电源3V时,实验测试拟合约为2.43V。则得到传感器输出温度值T计算式(3)。
在本设计中,软件设计是重中之重。由于网络规模不大,终端节点设计没考虑复杂的数据处理算法,其软件只需要实现节点与节点、节点与协调器、协调器与网关之前的接力通信即可。传感器数据通过点对点的单播方式发送到协调器,而协调器是通过广播的方式直接将命令数据包广播给所有节点,节点根据需要有选择地接收命令。这种通信方式的优点是各个节点复位后短地址的变化不影响正常通信。节点通信的数据包格式如下:
4.1.2 算法实现流程图
传感器节点中数据的发送一般放在定时的事件中执行,而这个定时的时间是可以通过网关的管理中心进行设置。数据发送算法流程如图6所示。
图6 传感器数据发送流程
4.2 智能网关软件程序设计
4.2.1 控制中心数据交互融合
多个WSN节点数据融合可以看成是一个带有约束条件的多变量目标函数[24-25]。为便于研究,本文设为:
约束条件
对目标函数求αi的偏导数
由式(2)、式(4)得
由式(4)、式(5)可以得
由式(1)、式(2)得可以得出二次加权平均值
Step 1 首先对接收到的多传感器节点中的所有传感器信息进行处理,单个传感器不同时刻的状态估计值采用alman递归滤波算法,建立传感器数据初始的误差方阵P0,由递归公式计算出t时刻误差方阵Pk(k=1,2,..,t),计算出mintracePk的时刻k。
Step 2 开始由初始值进行递归计算,根据计算t个时刻的vt,再结合Step-1的计算结果,确定k时刻的最小pk,再由式子(7)计算最优比例权重。
Step 3 对发散或估计精度差的数据,按照最优比例权重进行加权,根据公式(10),计算出加权后的状态估计值(j=1,2,…,t)。
Step 4 由每个传感器的方差并根据公式(9),可以计算出融合权重ai,将Step-3中的经过加权的各个传感器的状态估计值进行融合,再根据公式(4),计算出融合值。
Step 5 网关数据融合决策,依据设定预警阈值,判别融合后的数据与阈值关系,输出预警等级结果。
网关协调器接收的数据包源头有网络内各节点和网关管理中心。网关管理中心的数据包一般是命令数据包,需要广播到各个节点;终端节点的数据包除了传感器数据,还有按键命令等命令数据,传感器数据会发送到STM32控制的管理中心,命令数据经处理后会广播到各节点,协调器也可以结合多个传感器的数据广播相关命令到各节点。协调器处理相关数据的流程如图7所示。
协调器与管理中心串口通信的数据包格式为:
联合体中数组databuf和结构体BUF是共享一个内存区域的,选用联合体的原因是方便将接收到的数据复制到结构体变量,使用start[2]为数据包的头帧是为了方便判断数据包是否来自网关中的控制中心,而数据的类型指的是发给管理中心的传感器类型。
图7 协调器处理数据流程
4.2.2 管理中心软件程序设计
本设计中,管理中心主要实现的功能有:①LCD显示传感器数据;②传感器数据通过GPRS上传到服务器;③传感器数据保存到SD卡;④ZigBee网络配置;⑤接收GSM短信命令包,将命令包发送到控制中心;⑥接收计算机数据,完成相关操作。
这些功能的实现是必须由软件编程实现,驱动相关外设,调用相关底层驱动等等。功能实现涉及的代码量大,管理中心主函数的流程如图8所示。
图8 管理中心主函数流程图
5 实验测试
为了全面了解系统的性能,需要对系统进行综合测试,从而实现系统的功能。主要测试工作包括ZigBee无线网络的数据收发与组网性能、管理中心功能完备性、环境参数管理和报警功能、网关GPRS数据上传等等。为节约成本,项目组实物测试之前首先进行了系统仿真测试。
5.1 系统仿真测试
仿真实验选择NS-2软件系统作为网络仿真平台,它提供了通信模型、随机拓扑和节点移动模型生成等辅助工具。在仿真中使用的场景文件就使用了随机模型工具实现[26]。在仿真中设置了以下的仿真情景:scene-100 n-1 p-60 m/s-120 t-1 200-1 200中的100 n表示100个节点,1 p表示到一个地方的停留时间是1 S,60 s表示节点移动的最大速度为60 m/s,100 t表示模拟场景的持续时间是120 s,50-50表示场景的大小为50 m×50 m。假设100个节点在某个随机时刻某节点启动一个CBR(Con⁃stant Bit Rate)流,该CBR流各节点间最大的连接数为25,每秒发送2个长度为256 Byte包。
①端到端的延时分析:采用网状组网形式,端到端的延时反应应用中的时间特性,主要包含报文传送过程中的所有时延,如发送缓冲器等待时间、接口队列排队时间、MAC层重传时间、包的转发时延等。端到端平均时延=目的结点分组接收时间-源结点分组发送时间。数据包在转发的过程中的包时延与节点数目间的关系如图9所示。其中三条曲线分别对应网络中数据包个数。可以得出,节点与数据包的数量增多在本文算法下对延迟的影响小。
图9 数据包的延时
分析原因,数据包的转发在刚开始时,端到端的延时变化幅度大。当然,随着网络中参与数据传输节点的数量的增加,传输时延会渐渐增加,随后随节点数增加网络延迟减小是因为数据“转发节点”由软件算法选择,数目增多容易选择最合适节点(近距离或能量大)进行转发而改善了网络性能。
②节点间的传输速率:随着节点数目增加,分集信息流数也增加,研究系统的平均符号误码率ASEP和信道容量性能情况很重要[27]。本文用传输速率表示。假设节点之间有一个CBR数据流,现对节点间的数据流传输情况进行分析。实验中测试,节点平均传输速率为 0.50 kb/s,最大的传输速率为 1.90 kb/s。随后又对多个节点传输平均速率进行仿真分析对比,结果如图10所示。可知数据包在整个网络中的传输速率基本保持恒定,节点数目增多,速率不减反增,原因在于数据融合算法减少了数据量而减少了碰撞,所以本文研究系统适合大规模WSN应用。因此,网状组网对WSN环境监测协调具有很好的有效性。
图10 数据流数目与传输速率关系
5.2 管理中心功能完备性测试
管理中心的选取5传感器网络节点数据显示和采集周期的设置界面如图11所示。系统内4类传感器网络节点的数据在有效通信范围内均能成功发送给协调器并显示在TFT显示屏。管理中心能对各个传感节点的采集周期进行设置并保存到Flash,每次复位或重新启动都会读取保存在Flash中的采集周期,每个节点连接到ZigBee网络后都会向协调器请求其采集周期。为保证支持低功耗工作,网关还支持屏幕休眠和数据上传通道关闭。
图11 传感器显示界面和采集周期的设置界面
①环境参数控制和报警功能测试
在本设计中,环境参数选取亮度参数作为控制实例。实现了亮度的自动控制,并能结合LED节点、人体红外传感器、光强度传感器等多参数实现亮度的闭环控制,具体实现方法为:当人体红外传感器检测到移动人体存在于其检测范围且光强度传感器检测的环境亮度低于一定的阈值(可自行设置)则打开继电器控制的LED灯开关,可以推广到应用于诸如楼梯和走廊过道的照明系统等的智能化管理;而报警功能部分则实现了火焰报警,即火焰检测到疑似火焰情况则将网络内的蜂鸣器打开,网关发短信通知用户。
②GPRS数据上传测试
串口显示GPRS上传湿度、温度、光强等结果,包括数据上传成功与否和传感数据和数据类型。截图如图12所示。
图12 传感器网关显示截图
GPRS上传的数据能够在网页上查看,网页上同样可以查看历史数据。网页实时显示传感器数据如图13所示。
图13 网络中心网页显示
5.3 实验结果分析
本文设计的ZigBee网状组网的环境监测系统中节点数据收发情况与组网性能进行了完整测试。由于实验中传感节点没有使用CC2530前端射频功率放大,因此传输距离比较短,无障碍下10 m内丢包率为0,距离增加丢包率直线上升,15 m就会断开连接,有障碍时传输距离更短,丢包率更高。但本系统设计了网关数据融合算法改善了网络数据碰撞拥塞情况,所以WSN环境监测系统大规模应用的条件得到了改善,而且安卓与云计算技术的引入是系统在人性化与数据存贮方面相比现有系统是一个大的闪光点。后续研究中会在改善节点的传输能力的方向与物联网化方向深化系统功能,使其更加实用化、工程化。
6 结论
本文的理论研究与实践证明,ZigBee技术的强大组网能力和低功耗等特点使得恶劣环境监测的发展前景更加广阔,本文系统设计中植入了云计算与Android技术,使基于WSN环境监测系统管理与工作模式更加高度智能化、人性化和安全化;另一方面,本文设计的系统中利用传感器拾取的数据与控制技术相互结合,实现了对环境信息的有效监测与控制,同时智能网关以GPRS的通讯方式将传感器数据发送至服务器,用户可以通过网页等途径查看,所以,移动通信(可升级至4G/5G)等技术的融入使得本系统的更具实用性与先进性。
[1]任丰原,黄海宁,林闯.无线传感器网络[J].软件学报,2003,14(7):1282-1291.
[2]马祖长,孙怡宁,梅涛.无线传感网络综述[J].通信学报,2004,25(4):114-124.
[3]Wang K,Xu Y,Huang L S,et al.GPS based location oriented routing protocol for MANET[J].Chinese Journal of Electronics,2006,15(1):173-178.
[4]LanemanJ.N.,TseD.N.C.WornellG.W.Cooperative diversity in wireless networks:efficient protocols and outage behavior[J].IEEE Transactions onInformation Theory,2004,50(12):3062-3080.
[5]Truman Chiu-Yam Ng,Wei Yu.Joint optimization of relay strate⁃gies and resource allocations in cooperative cellular networks[J].IEEE Journal onSelected Areas in Communications,2007,25(2):328-339.
[6]Yi Zhihang,Kim Il-Min.Diversity order analysis of the decode-and forward cooperative networks with relay selection[J].IEEE Trans⁃actions onWireless Communications,2008,7(5):1792-1799.
[7]Bletsas A.,Khisti A.,Reed D.P.,et al.A simple cooperative diver⁃sity method based on network path selection[J].IEEE Journal on⁃Selected Areas in Communications,2006,24(3):659-672.
[8]Hao Zhu,Guohong Cao.rDCF:a relay-enable medium access con⁃trol protocol for wireless ad hoc networks[J].IEEE Transactions onMobile Computing,2005,5(9):1201-1214.
[9]Liu Pei,Tao Zhifeng,Lin Zinan,et al.Special issue-advancesin smart antennas-cooperative wireless communications:a cross-lay⁃er approach[J].IEEE Wireless Communications,2006,13(4):84-93.
[10]Bin Zhao,ValentiM.C.Practical relay networks:a generalization of hybrid-ARQ[J].IEEE Journal on Selected Areas in Communi⁃cations,,2005,23(1):7-18.
[11]Zhang Wenshu,DuanDongliang,Yang Liuqing.Relay selection from a battery energy efficiency perspective[J].IEEE Transac⁃tions onCommunications,2011,59(6):1525-1529.
[12]D.Duan,F.Qu,L.Yang,A.Swami,and J.C.Principe.Modulation Selection from a Battery Power Efficiency Perspective[J].IEEET⁃ransactions on Communications,vol.58,no.7,pp.1907-1911,Ju⁃ly 2010.
[13]雷旭,李阳,李思慧.基于WSN的长大隧道环境监测系统设计与实现[J].计算机工程与设计,2013,(08):2675-2679.
[14]梅海彬,张明华,黄冬梅.基于无线传感器网络的实时近海环境监测系统设计[J].计算机应用与软件,2015(1):110-113.
[15]陈克涛,张海辉,张永猛.基于CC2530的无线传感器网络网关节点的设计[J].西北农林科技大学学报(自然科学版),2014(5):183-188.
[16]王晓喃,钱焕延,唐振民.6Lowpan网关的设计与实现[J].传感器技术学报,2009:22(5):717-721.
[17]王德麾,冯军帅,宋海亮.基于无线传感器网络和3G/4G的远程环境监测系统研究[J].物联网技术,2015(3):17-18.
[18]孙纪敏,沈玉龙,孙玉.传感器网络接入internet体系结构和服务提供方法[J].通信学报,2008:29(4):84-88.
[19]Arch Rock Corp.,San Francisco.IPv6 in Low-Power Wireless Net⁃works[J].Proceedings of the IEEE,2010;98(11):1865-1878.
[20]刘卉,汪懋华,王跃宣,等.基于无线传感器网络的农田土壤温湿度监测系统的设计与开发[J].吉林大学学报(工学版),2008,38(3):604-608.
[21]张荣标,谷国栋,冯友兵,等.基于IEEE 802.15.4的温室无线监控系统的通信实现[J].农业机械学报,2008,39(8):119-122.
[22]冯友兵,张荣标,沈敏.面向精确灌溉的无线传感器网络构建[J].农业机械学报,2009,40(1):56-59.
[23]李震,Wang Ning,洪添胜等.农田土壤含水率监测的无线传感器网络系统设计[J].农业工程学报,2010,26(2):212-217.
[24]陈辉,邓记才,吴晓辉,宋杨.多传感器信息融合在轮式机器人运动控制中的应用[J].传感技术学报,2011,24(6):915-918.
[25]房卫东,张小珑,石志东,孙彦赞,单联海.基于二项分布的无线传感器网络信任管理系统[J].传感技术学报,2015,28(5):703-708.
[26]Riliskis,L.Osipov,E.Symphony.A Framework for Accurate and Holistic WSN Simulation[J].Sensors,2015,15:4677-4699.
[27]徐凌伟张浩吕婷婷施威GulliverTA.移动无线传感器网络系统在n-Rayleigh信道下的性能分析[J].传感技术学报,2015,28(2):265~270.