基于ZigBee的远程湿地监控系统设计
2014-11-20赵晓军温丁一申军涛张国骞
赵晓军,温丁一,申军涛,张国骞
(河北大学电子信息工程学院,河北保定071002)
白洋淀是华北平原最大、最典型的湿地,对维护周边生态平衡发挥着不可替代的作用。但由于上游工业生产、居民生活用水持续增加,开发利用地表水,超量开采地下水,使白洋淀湿地面积逐年减少面临着干淀的威胁。因此,对白洋淀湿地进行监测和保护已经刻不容缓,然而湿地环境复杂,定期地对湿地各个区域进行监测保护将会耗费大量人力物力,而且不能做到实时监控,有一定的滞后性。
现在基于ZigBee的无线传感网络具有低功耗、低速率、低成本、高安全性以及全数字化等诸多优点使得其轻松地解决了湿地监测方面的问题。因此本文采用ZigBee无线传感技术构成静态无线传感网络覆盖湿地的复杂的地形区域,以无人船携带ZigBee节点构成移动节点来监测水质信息,形成更大范围的现场监测网络。现场网络通过GPRS通信技术连接互联网,互联网网站用来实时显示湿地各区域的温度、湿度、水质等信息。从而实现了对湿地环境的大范围监测,为及时地采取保护湿地的行动和措施提供实时的信息。
1 远程监控系统总体结构
基于ZigBee和互联网的远程监控系统可分为现场ZigBee无线传感监测网络、网关和监控网站终端3个部分。远程监控系统的总体结构如图1所示。
图1 远程监控系统的总体结构图
现场监测网络采用ZigBee无线传感网络,ZigBee固定节点和移动节点(无人船等)携带各类传感器来监测湿地环境数据,路由节点组成中间传输线路负责把这些数据传给协调器[1-2]。网关负责把 ZigBee 协调器接收来的数据通过GPRS传到互联网上确定地址的服务器。监控网站终端把接收到的信息进行识别,分组储存到数据库中,并把监控到的信息和各节点的分布、工作情况显示在网站的前台页面上,这样用户可以随时随地登录网站,访问网站数据库来查看监控信息,而且网站还可以显示ZigBee各个节点的工作情况,了解整个网络的工作情况,如果发生故障,便可以及时了解制定决策方案。
2 ZigBee监测网络设计
2.1 ZigBee技术
ZigBee是一种基于IEEE802.15.4的无线通信协议,它包含了有关组网、安全和应用软件方面的技术标准。而且具有功耗低、成本低、网络容量大、安全性高、协议简单、全球通用等优势。因此非常适宜小数据流的传输。
完整的ZigBee协议栈由高层应用规范、应用汇聚层、网络层、数据链路层和物理层组成。网络层以上协议由ZigBee联盟制定,IEEE802.15.4负责物理层和链路层标准[3]。协议栈构架如图2所示。
图2 协议栈构架
2.2 ZigBee静态监测网络设计
现场静态监测网络负责覆盖湿地复杂地形区域,以全功能设备(FFD)作为协调器和路由节点来组建网状拓扑结构的网络,以精简功能设备(RFD)作为终端节点来采集信息。
ZigBee网状拓扑结构是一个高级别冗余性网络。它能自动选择最优的传播路径,提高连接质量。当路由节点部署的密度够大时,一旦一条最优的通信路径中断,网络会自动在冗余的其他路径中选择另一条最合适的路径维持正常通信,这就很大程度地提高了系统信息传输的可靠性和稳定性[4]。
为了确保各个终端节点处于正常工作状态,所有的终端节点每隔1 min发送一次信息给协调器,协调器不断检查节点信息,如果5次检测不到某个节点的信息,则认定该节点出现故障,则向上级发送故障警报。
建立网络过程如图3所示。
图3 ZigBee网络构建流程图
2.3 ZigBee移动节点切换接入设计
网络中移动节点主要是利用无人船等设备配备终端节点来监测湿地的水质信息,然后把采集到的水质信息通过动态连接静态网络路由节点,它能配合陆地上的静态监测网络来实现湿地的全方位监测。
移动节点设计主要问题是移动节点入网和出网的问题,移动节点移入移出静态网络或者从一个静态网络移出而进入另一个网络,要保证信息传输的连贯性和无失真。这里采用了一种信号能量检测的方案:ZigBee协议栈的物理层包含信号能量监测的功能。根据ZigBee协议定义,通信过程中接收方有两个数值能反映两个通信节点的距离,那就是接收信号强度指示RSSI和LQI[5]。
移动节点移入网络过程中网络中的节点会接收到移动节点的信号,这需要在静态网络各个路由中预先设定好最大门限值(RSSI_Max和LQI_Max),而且需要移动节点以广播的方式发送自己的RSSI和LQI,这样路由节点可以从移动节点的广播发送中得到RSSI和LQI。然后与设定好的RSSI_Max和LQI_Max值进行比较,如果比门限值大则该路由查找路由表,如果移动节点不存在,则把移动节点注册为子节点,随后马上通知移动节点解除与原父节点的关联[5]。这样就解决了网络切换中的通信中断问题。移动节点切换接入流程如图4所示。
图4 移动节点切换接入设计
3 ZigBee节点硬件设计
ZigBee网络以CC2530[6]芯片为核心,网络中的协调器、路由节点和终端采集节点都采用CC2530芯片。结构如图5所示。CC2530芯片外围射频电路采用巴伦电路,由于CC2530的RF输入/输出是高阻抗差分信号,要想使用倒F天线(PCB天线),需要设置巴伦电路(通常说的平衡/非平衡变压器)以达到最佳性能,巴伦电路可以使用低成本的电感和电容实现。终端节点需要在CC2530的最小电路上接上各种传感器,用来采集现场的各类信息。
图5 ZigBee节点硬件结构图
4 ZigBee/GPRS网关设计
4.1 网关硬件设计
要把ZigBee网络监测到的数据传输到网络上需要一个网关,这里采用ZigBee/GPRS网关,它的硬件组成包括TI公司生产的CC2530和MSP430F149芯片、GPRS模块GTM900(带天线)、外围射频发射电路。硬件结构如图6所示。
图6 网关硬件结构图
MSP430是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式,简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。因此以MSP430为核心处理芯片,CC2530作为ZigBee网络协调器,由于采集节点比较多,为了保证通信的速度和效率,这里采用SPI方式实现CC2530与MSP430的数据通信。MSP430把信息进行处理并通过串口传输给GPRS模块GTM900,这里采用3.3 V供电的GTM900,因为MSP430也是3.3 V供电,所以省略了电源转换电路,从而简化了硬件设计。为了避免出现故障或掉电造成的数据丢失,也为使SPI与串口数据传输速度保持同步性。把MSP430处理好的数据存入SD卡中缓存一下,再从SD卡中读取数据传送给GPRS模块。GPRS模块负责把数据发给指定IP的网络服务器[7]。
4.2 网关程序设计
CC2530协调器采用的是2007协议栈协调器程序,其中内嵌了SPI程序,这里只需稍作修改。MSP430中编写了SPI程序和串口程序,分别与CC2530、SD卡、GPRS模块通信。由于MSP430串口与SPI接口共用,而且MSP430有两个串口,因此必须通过IO口模拟出一个串口。GPRS无线通信模块内嵌TCP/IP协议,MSP430编程时调用AT指令来操作GPRS模块,这样就能方便地与控制中心的服务器建立TCP/IP连接。这样一来,系统的软件设计就再也不用考虑链路层PPP的脚本控制程序和网络层TCP/UDP套接字程序的设计,从而大大降低了软件设计部分的复杂度,有效地提高了系统的可靠性。MSP430程序流程图如图7所示。
图7 MSP430程序流程图
5 系统软件设计
终端检测网站程序是在ASP.NET平台下用C#语言编写的B/S模式和C/S模式的软件程序,程序主要包括前台程序、Windows服务程序和数据库操作程序,如图8所示。
图8 网站终端结构
前台程序是编写的B/S模式下的网页程序,包括登录页面程序、监测页面程序和用户操作页面程序。这样可使不同权限的用户登录不同的页面,进行不同权限数据的监测和数据库的操作。Windows服务程序是编写的C/S模式下的运行在服务器上的后台程序,它是通过Socket套接字按TCP/IP协议与GPRS进行数据传输,并把数据储存到数据库中[8]。数据库操作程序也是编写在运行于服务器后台的Windiws服务程序中的。Windiws服务程序用SQL语言把从互联网中得到的数据存入数据库。
利用互联网B/S的网络结构体系和C/S的后台操作功能,增强和扩大了设备的管理能力和范围。在实时采集数据的基础上,还可以对数据进行再加工,生成报表、曲线、图表等图形化内容供用户参考,以做出更好、更准确的决策。同时企业减少了数据采集、处理、维护等活动的时间和工作量,可以获得更好的经济效益。
6 实验结果
本实验以白洋淀湿地为试验点,实验中分布安装了20个终端节点来采集湿地的温度、湿度和光照强度。而且分布了10个路由节点组成静态网络来传输信息,有一条船携带移动节点来采集水质信息。移动节点采集的信息加入静态网络后把信息传给路由节点。各个节点采集的数据通过GPRS/ZigBee网关传输到实验室的网络服务器上,通过实验室另一台计算机登录服务器,成功对现场进行了监测。如图9为网站显示现场节点测试结果。
图9 网站显示现场节点的采集信息(截图)
图9为通过计算机访问远程网站来查询站点的数据,实验表明现场采集节点工作良好,而且能很好地将采集的数据传到网站上。网站可以查询各个节点工作情况,如果某个站点出现问题则可以及时采取相应的措施。
通过对大量节点监测数据,实验结果表明ZigBee网状结构具有稳定性,当取走一个路由节点时,网络运行正常。而且路由节点的增加会使网络的丢包率降低、延时变小,而且随着网络的增大,网络的稳定性和所覆盖的范围可以大大提高。增加路由节点的个数缩短了节点距离,可以使发射功率减小。但如果减少节点数,则节点的距离增大会出现丢包和延迟现象。因此需要在降低网络延迟和丢包率、增加发射功率且降低功耗上作进一步研究。
7 小结
本方案是基于ZigBee和互联网的远程监控系统软硬件设计方法,通过ZigBee构成的节点监测网络,以静态网络和动态节点相结合全面覆盖湿地各个区域,实现了对白洋淀湿地的实时大范围监测,网关通过GPRS成功地把监测结果发给互联网网站,服务器网站把结果显示在前台页面上,而且通过数据库实现了监测结果的长期存储,通过湿地不同时期状况的对比来预测湿地的发展趋势,客户端可以随时随地登录网站查看信息,及时做出解决方案。
[1]祝晓东,肖四友.ZigBee技术在无线温室数据采集系统中的应用研究[J].计算机应用系统,2007(12):82-85.
[2]朱永利,陈涛,郭少杰.ZigBee技术在无线抄表中的应用[J].电力系统通信,2008(8):37-39.
[3]王钦,陈忠辉,陈新.基于ZigBee的仓库温湿度采集系统设计[J].计算机与数字工程2009,37(9):207-211.
[4]陶晓玲,黄廷磊,王勇.ZigBee网状网技术探讨[J].广西师范学院学报:自然科学版,2006,23(3):67-71.
[5]刘骞,孙懋珩.ZigBee网络移动节点接入与切换机制仿真分析[J].计算机与现代化,2008(1):60-62.
[6]盛希宁,顾济华.基于ZigBee无线传感网络的实验室监控系统设计[J].电子工程师,2007,33(9):67-73.
[7] YANG Xinkai,LIGeng.Pervasive computing oriented automatic meter reading system based on ZigBee and GPRS[J].Journal of Shanghai Normal Universtity:Natural Sciences,2007,36(4):41-43.
[8]明日科技.C#程序开发范例宝典[M].北京:人民邮电出版社,2007.