带有时间/地理标签无线传感器网络的农业环境远程实时监测系统
2013-08-01孙书诚苏长杰
孙书诚,郎 朗,苏长杰
(安徽工程大学安徽省电气传动与控制重点实验室,安徽芜湖 241000)
传统农业设施环境监测系统主要采用有线传感器网络,它的数据传输依靠导体介质,需要铺设电缆,由此带来布线复杂、预设接口破坏建筑、线路检测检修困难、线路扩容困难等一系列和传输途径有关的弊端,这些问题突出表现为有线传感器网络可移动性差且日后的维护保养十分不便。近些年来,随着移动通信技术的飞速发展,为建立通畅、可靠的无线网络提供了可能,越来越多的传感器网络的信息采集和传输采用了无线通信技术。无线传感器网络(wireless sensor network,WSN)可以有效降低有线方式传输信号对农田环境的影响,获取精确的环境和作物的信息。
在精确获取环境和作物信息的同时,往往需要在这些信息上带有精确的地理坐标和时间标签,这样采集到的这些信息能更加精确地反映农田、作物或畜牧家禽的实际情况,为作物在农田中精准耕作或畜牧家禽精密喂养提供了数据支持。另一方面,多数的研究成果侧重于传感器测得数据的远程传输,无线传感器网络与Web服务器的连接或者Web服务器与互联网的连接仍采用有线的连接方式来实现,其明显的缺陷是在检测区域比较大、检测节点比较多的情况下,设备安装与现场布线显得繁琐,可移动性较差。
针对现有系统的不足,为了能获取无线传感器网络中更多的信息,同时为了符合农业监测中地域大、测点多、时间久的特点,更好地实现精密农业,本文设计了一种带有时间/地理标签无线传感器网络的农业环境远程实时监测系统。
1 系统结构原理与设计
北斗导航定位系统是世界上继美国GPS和俄罗斯GLONASS后第3个投入运行的卫星导航系统,也是世界上第1个区域性卫星导航系统,是可以依赖的卫星导航系统[1],对定位授时技术在农业精密耕作中的应用至关重要。ZigBee作为一种新兴的无线通信技术,其低成本、低功耗、自配置和灵活的星型网络结构非常适合于无线传感器网络的组网[2]。在实际使用无线传感器网络时,用户常需要对相关节点数据进行查询,即需要将无线传感器网络的各个节点接入外部网络。Wireless Fidelity(Wi-Fi)作为一种无线互联网技术,在无线网络信号覆盖的有效范围内都可以采用Wi-Fi的方式连入Internet。
基于以上考虑,在本次设计中选用“北斗一号”导航系统为各传感器节点提供地理与时间信息,同时各传感器节点的内部组网采用ZigBee无线通信技术,在此基础上将无线传感器网络通过Wi-Fi技术接入Internet,实现传感器网络中数据的远程传输。从逻辑结构上将系统划分为:安装在农业环境现场的无线传感器网络、基于ARM11的嵌入式无线网关和基于Web的数据管理与监测部分。系统结构如图1所示。
无线传感器网络中的各个从节点采用星型连接方式,从节点用于采集农业环境现场中的数据,并通过北斗卫星获取从节点处的地理信息(经、纬度)和采集现场数据的精确时间,形成带有时间/地理标签的数据信息,利用ZigBee无线通信技术将其发送到网关。
基于Web的数据管理与监测部分是运行在Web服务器上的一套网络应用程序。用户可以通过任意一种Web浏览器对无线传感器网络中的任意数据进行接收和监测,极大地方便了用户的操作,实现对无线传感器网络的远程访问。
图1 带时间/地理标签的无线传感器网络系统结构
2 基于ARM11的网关硬件设计
网关硬件电路主要由控制器模块(S3C6410)、JTAG调试接口、通信模块(ZigBee模块和Wi-Fi模块)和其他外围设备等组成,网关硬件电路结构框图如图2所示。
图2 网关硬件电路结构框图
设计的无线传感器网络网关采用以ARM1176ZJF为核心的32位 RISC微处理器S3C6410作为主控制器[3],该处理器集成了LCD控制器、USB Host、NAND控制器、BUS控制器、中断控制、功率控制、存储控制、UART、SPI和GPIO等丰富的外围资源,通过外扩存储器、串口、USB接口和JTAG调试接口等构成硬件平台。在ARM11处理器中移植Web服务器,负责对整个无线传感器网络的管理以及远程监控。
S3C6410 芯片选用 UART0(TxD0、RxD0、nRTS0、nCTS0引脚)与ZigBee模块(协调器)的串口连接引脚,设置相应波特率后实现数据传输。
Wi-Fi模块采用威盛的VT6656芯片实现网关与Internet的连接,S3C6410芯片与Wi-Fi模块通过标准的USB2.0接口相连。
3 软件平台设计
网关软件主要由底层驱动层、操作系统层、网络协议层与应用程序层4部分构成。其中:底层驱动层描述网关节点中硬件设备ZigBee模块和Wi-Fi模块的驱动;操作系统层在控制器S3C6410移植了Linux操作系统;网络协议层在移植ZigBee和Wi-Fi协议栈的基础上实现ZigBee和Wi-Fi协议互相转换工作;应用程序层在Linux操作系统上开发了可以接收用户查询请求的Web服务器。网关软件体系结构如图3所示。
图3 网关软件体系结构
实现无线传感器网络网关的软件平台首先需要在其控制模块S3C6410及其扩展芯片上移植Linux操作系统。利用操作系统开发可以接收用户查询请求的Boa Web Server,服务器在解析请求后调用相应的CGI程序,再将CGI程序执行的结果发送给浏览器。由于网关与ZigBee协调器的通信采用串口进行,需要在Linux操作系统中开发串口驱动[4]。S3C6410相关的软件平台模块如图4所示。
图4 基于ARM11的软件平台模块
1)Boa服务器在基于S3C6410嵌入式Linux平台上的配置
Boa是一个单线程的Web服务器,依次完成用户的请求,且源代码开放,可通过互联网免费下载,适合应用在嵌入式系统中[5]。
Boa Web Server编译、安装、配置流程:
①从http://www.boa.org官方网站上下载Boa源码,并进行解压缩:#tar xzf boa-0.94.13.tar.gz,进入/src 目录。
②生成Makefile文件。
③修改Makefile文件,将其修改为CC=armlinux-gcc、CPP=arm-linux-g++ 。
④运行make进行编译,即可生成Boa可执行文件。
⑤编制配置文件。在Linux操作系统下,应用程序的配置都是以配置文件的形式提供的,Boa的配置文件 boa.conf和 mime.types放置在目标板/home/httpd/目录下。
一个典型的boa.conf文件格式为:
DocumentRoot/home/httpd
ScriptAlias/cgi-bin//home/httpd/cgi-bin/
ScriptAlias/index.html/home/httpd/index.html
它指定了HTML页面放到/home/httpd/html目录下。
⑥编译烧写内核。将重新编译的内核烧写入内核,可以通过Web浏览器访问Web服务器。例如,输入平台的 IP 地址 http://192.168.0.100,即可访问到自己做的网页index.html。
2)CGI应用程序的实现
用户使用Web浏览器和Web服务器进行通信,向服务器端发出HTTP请求。服务器响应用户的请求,分析浏览器请求的资源,发现是一个CG I程序,于是开始引导到指定位置的CG I程序。用户通过验证程序输入用户名和密码后,确认通过,执行后续的CGI应用程序;没有通过,提示出错页面,避免了非法用户获取监测数据。
通过验证后,可根据用户端发出的请求,分别查询和分析数据库中存储的无线传感器网络检测到的数据。数据查询程序实现上传数据流的远程浏览,提供当前数据查询、历史数据查询。数据分析程序实现上传数据流的解析,根据用户预先设定的预警值与当前的查询数据进行分析比对,若超出预警值,可实现报警。数据查询和分析的结果以信息流的方式传回给Boa服务器,服务器将信息流转换传递给浏览器,作为用户所需的输出结果。
数据交换程序提供通过串行驱动访问串行通信线路的功能,实现与ZigBee协调器的数据通信。CGI应用程序编写好放到/home/httpd/cgi-bin目录下供调用,并在内核编译时加入,实现了动态Web技术。
4 系统实验验证
在实验室内按系统的组成部分进行分步骤软、硬件开发和测试,并以此为基础进行集成组装,当综合性能指标达到设计要求时,安装到实际生产场地进行测试和应用。结果表明,系统总体性能达到了预期设计目标,尤其在简化设备安装布线、提高系统移动性和便捷性等方面效果十分显著。
按照测试要求,传感器网络中安装了1个Zig-Bee协调器和2个完整功能节点,每个完整功能节点上携带3个部分功能节点,每个部分功能节点安装的传感器类型包括空气温度、湿度和土壤温度、湿度。无线传感器网络组建后,传感器每隔1 h采集上述4种农田环境参数,传输至基于嵌入式的网关,对数据进行相应处理,并通过Web浏览器及时显示各个节点的农田信息,如图5、图6、表1所示。采集到的这些信息能更加精确地反应农田的实际情况,为农业的进一步精准耕作提供了数据支持。同时,各农业专家也可以通过浏览器登录监测系统,结合专家的管理经验和栽培知识,提供远程咨询和信息服务,使得专家的技术资源得以更广泛的应用,进而提升农业生产水平,促进农业的信息化建设。
图5 Web浏览器登陆界面
图6 Web浏览器实时数据查询界面
表1 传感器节点采集信息
5 结束语
主要介绍了带有时间/地理标签的无线传感器网络在农业环境远程实时监测系统中实现的基本原理、硬件各模块的设计方案、软件开发的主要流程以及应用检验效果。利用无线传感器网络分布式的特点,大幅度改善了系统可移动性和组网灵活性。利用Wi-Fi、ZigBee协调器和嵌入式Web服务器设计的网关实现了全网无缝连接,同时克服了传统网关构架下ZigBee传输速率较低的瓶颈,使得用户通过Web浏览器实现对农业耕作现场环境数据的浏览和分析。无论身在何处,只要通过计算机均可随时了解各种环境因子的空间分布与变化,随时监测作物各生长阶段的环境情况。
[1]陈孟元,陈跃东.基于高精度晶振同步北斗1pps的同步相量测量装置时钟源研究[J].电力自动化设备,2011,31(9):111 -114.
[2]韩华峰,杜克明,孙忠富,等.基于ZigBee网络的温室环境远程监控系统设计与应用[J].农业工程学报,2009,25(7):158-163.
[3]满莎,杨恢先,彭友,等.基于ARM9的嵌入式无线智能家居网关设计[J].计算机应用,2010,30(9):2541-2544.
[4]李勇.CGI在嵌入式Web服务器中的应用和实现[J].微计算机信息,2008,24(10 -3):110 -111,184.
[5]罗淳榕,秦现生,马新刚.基于CGI的嵌入式远程控制系统[J].测控技术,2006,25(8):50-52.
[6]余成波,张一萌,张进,等.基于ZigBee的粮库环境监测系统[J].重庆理工大学学报:自然科学版,2010(10):51-55.
[7]杨毅,罗德超.多尺度分析技术在无线传感器网络节点定位中的应用[J].四川兵工学报,2010(4):93-96.
[8]毛冬冬,王超.无线传感器网络的目标跟踪算法[J].压电与声光,2011(6):993-995.
[9]陶红艳.无线传感器网络动态分簇路由BWAS的算法研究[J].压电与声光,2011(1):155-160.