周晓倩,马孝义,陈 磊 ,陈海涛
(1.西北农林科技大学 机械与电子工程学院,陕西 杨凌 712100;2.西北农林科技大学 水利与建筑工程学院,陕西 杨凌 712100)
灌区气象数据的及时、准确获取是实施精确灌溉的必要条件,因此灌区的信息化十分重要。气象数据监测系统利用实时采集的气象资料,对未来一段时间内的气象情况作出较为精确的预测和预报,对于农业生产具有一定的指导意义[1]。随着通信和网络的发展,GPRS在农业、工业上的应用越来越广泛,它能充分利用网络资源,具有传输速率快、组网灵活、永远在线和按流量计费等优点。然而,由于专网APN和固定IP的价格对于小型灌区的长期使用过于昂贵,因此目前采用动态IP接入Internet仍然是大部分用户的选择[2]。
本文提出一种低功耗、设计相对简单的监测系统。主要功能是监测农田的温度、湿度、光照等气象参数。采用MSP430单片机与QUECTEL M20无线通信模块,设计基于GPRS的动态IP的农田气象数据监测系统。研究内容包括硬件设计和软件编制,硬件设计包括搭建系统下位机平台,完成采集、处理、通信电路设计;软件编制包括下位机采集、处理、通信程序设计以及上位机数据中心软件编制。
下位机监测部分包括各种气象传感器、单片机微控制器、GPRS无线通信模块。气象数据传感器负责实时采集农田中的温度、湿度和光照信息,并由MSP430单片机通过RS232串口实时地将气象数据发送给GPRS M20模块。下位机模块采用SD卡将时间和气象信息以文本的方式进行存储,方便用户以后查阅[3]。下位机硬件结构图如图1所示。
图1 下位机硬件结构图
系统围绕低功耗进行设计,包括MSP430的低功耗模式和M20的休眠模式。低功耗模式与正常工作模式切换的具体实现如下:用手机发送休眠命令(M)给GPRS无线通信模块,GPRS M20收到该命令就会将信息通过标准RS232串口传送给MSP430控制器,接着MSP430就会将DTR0线置为高以使M20进入休眠模式,一旦M20进入休眠模式,MSP430也将进入低功耗模式。在M20处于休眠模式下,仍然可以正常接收短信,这时向M20发送一条短信,就会将M20从休眠模式唤醒(DTR0变成低电平)。一旦M20进入工作模式,MSP430也将被唤醒,从而系统又返回正常工作模式。通过这种设计,大大降低了系统的功耗。MSP430与GPRS M20之间的具体连接实现如图2所示。
本系统采用ADSL拨号上网,每次拨号上线后,得到的IP地址是变化的。采用花生壳6.5工程版,通过使用花生壳动态域名的端口映射功能,在没有固定公网IP的情况下,借助花生壳服务将动态公网IP和域名进行实时绑定,通过已激活花生壳服务的域名从外网访问内网服务。而且6.5工程版新增花生壳映射功能,可以直接利用它来取代路由器端口映射的操作,只要输入内网的IP和端口号,就能实现在外网轻松访问内网下路由器的功能。
图2 通信连接图
GPRS无线通信模块与MSP430微控制器间的通信采用的是AT指令集。在GPRS无线通信模块上网之前,需要对DTU的参数进行设置。主要的工作有:通过AT+IPR=9600命令设置通信波特率,波特率设为9 600 b/s;通过AT+CGDCONT=1,"IP","CMNET"命令,设置GPRS接入网关为移动梦网;使用AT+CGACT=1,1命令开通GPRS功能;通过AT+QIOPEN="TCP","benbensandai.eicp.net",5566命令设置接收服务器的协议类型、域名和端口号,如果返回的结果为CONNECT OK就实现了模块与上位机的正常连接;通过AT+QICLOSE命令,模块注销 GPRS 网[4]。
为了方便程序设计,增强程序可读性,将建立连接所需的AT命令以字符串形式存放于AT命令缓存区,所需多条AT指令长度不一且发送顺序不可改变。为了有效控制每条AT指令,提高CPU利用率,需将AT指令缓存区设置为指针数组形式,在建立连接时通过循环调用字符串发送函数将这些AT命令发送,相邻AT命令间要有2~3 s的延时,所以每发送完一条AT命令都要调用一个3 s的延时子程序,然后通过串口中断接收函数接收AT命令返回值来判断连接是否成功[5]。GPRS终端与上位机通信的软件实现如图3所示。
本文主控制器采用美国德州仪器的MSP430单片机,其处理能力强,运算速度快,片内资源丰富,方便高效的开发环境。而它最大的特点就是超低功耗,由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有1种活动模式(AM)和5种低功耗模式 (LPM0~LPM4)。在实时时钟模式下,可达2.5 μA;在RAM 保持模式下,最低仅为 0.1 μA。基于这个特点,将其作为监控系统的主控芯片非常合适。
图3 GPRS终端程序流程图
由传感器获取的气象参数需要定时地存储到SD卡中,这样即使监控中心出现突然断电的情况,依然可以获取到当天的气象参数,从而便于数据的整理和参数的计算。
本系统采用16 GB大容量的SDHC卡,以FAT32文件系统作为存储形式,将所采集的气象数据存储在TXT文件中,该文件以当前时间命名以便于查阅。SDHC卡中存储的气象数据可以通过USB2.0接口进行高速的读取。对SDHC卡的读取和控制采用占用I/O口最少的SPI模式,SPI模式利用 SDHC卡的 CS(片选引脚)、MOSI(数据输入引脚)、MISO(数据输出引脚)、CLK(时钟引脚)实现与外部的数据传输[6]。SDHC卡控制电路如图4所示。
图4 SD卡控制电路
上位机数据中心软件由VB6.0和Windows自带的Access数据库联合开发完成,气象数据中心主要由4个功能模块组成,分别为用户登录界面、数据通信模块、通信设置模块和信息处理模块。其中用户登录界面中的用户信息管理部分可以实现用户的增加、修改和删除的功能,并且可以允许用户以管理员和普通用户两种不同权限的身份进入系统;数据通信模块主要完成气象数据的接收、显示和处理的功能,还能将所连接客户端的IP地址和端口号展示出来,状态栏中可直观、形像地显示当前TCP连接的状态;通信设置模块主要包括系统连接Internet的协议设置和端口号的设定,这是实现TCP/UDP连接的第一步;信息处理模块主要将接收到的数据进行整理和存储,并可以以Excel报表的形式导出,方便用户的后续处理[7]。
在该监控软件的编写过程中,采用Winsock控件编写网络通信程序,从而实现对通信的控制。具体方法是用Senddata方法发送命令,然后用Getdata方法将接收到的数据读取出来。Access数据库用来保存系统相关参数和各个观测点的气象数据。
最终的编写成功的上位机软件可以实现GPRS DTU终端的状态显示(分别为 Closed、Open、Listening、Connecting、Connected、Closing、Error),下位机客户端的数据采集,历史气象数据的查询、修改和删除,具体工作时间的设置,相关工作模式的选择等操作[8]。用户登录界面和通信设置模块如图5和图6所示。
图5 用户登录界面
实时的气象数据监测服务器需要一个安装有数据控制软件的PC。该实时的监测数据中心软件可以控制系统,并且实现数据的完整接收、分析和存储。当不需要采集气象信息时,手机通过命令(M)向客户端发送休眠命令,使系统处于低功耗模式;当系统需要采集数据时,手机发送唤醒短信,使系统处于工作状态,这样的工作模式极大地降低了系统的功耗。实验结果表明,服务器端监测中心可以稳定显示,该系统运行结果良好。运行结果图和系统电路图如图7所示。
本监控系统依托中国移动的GPRS网络,大大减少了重建网络的高花费。针对工程具体情况编写相应的上位机软件,有利于数据的处理和保存,使系统更加经济和实用。
基于MSP430和GPRS的气象数据采集和监控系统不仅花费低、可靠性强,而且容易扩展和更新。考虑到移植的需要,在设计过程中应该将相应的驱动程序模块化,以便于将其应用到环境监测、电力监测、交通监控等领域[9]。
但是,本系统仍然有问题需要解决,基于花生壳的免费动态解析域名服务有时候会出现不稳定的现象。因此如果数据中心的IP地址是动态变化的,最好的解决方法是上位机以短信的形式将变化的服务器IP地址发送给GPRS客户端,如此的方案需要配备专门的上位机软件,支持直接通过Internet向SIM卡发短信。或者,服务器端增加一个GSM模块,由该GSM模块将监控中心变化的IP地址以短信的形式发给GPRS DTU,下位机客户端一旦收到短信,就向新的IP地址发起连接[10]。然而如此的改进,无疑增加了系统的设计开发难度和费用成本。
图6 通信设置模块
图7 数据通信模块运行结果
[1]聂明新,邹宇,莫奎.基于动态IP的 GPRS远程监控系统[J].武汉理工大学学报,2011,5(33):685-688.
[2]郭志伟.基于GSM的农田气象信息远程监控系统设计[J].农业机械学报,2009,40(3):161-166.
[3]李明军,尹文明.基于 GPRS的大棚智能监控系统[J].电子技术应用,2006,32(8):83-85.
[4]余义德,王飞.基于SDHC卡阵列的大容量存储系统设计[J].应用科技,2011,12(38):36-39.
[5]GURTOV A,PASSOJA M.Multi-Layer protocol tracing in a GPRS network[C].IEEE Vehicular Technology Conference,2006,56(3):1612-1613.
[6]孙鸣,吴钰.基于 TC45模块的 GPRS无线抄表系统[J].电子技术应用,2005,31(6):29-31.
[7]沈建华,杨艳琴.MSP430系列16位超低功耗单片机原理与实践[M].北京:北京航空航天大学出版社,2008.
[8]KALDEN R,MEIRICK I.Wireless internet access based on GPRS[J].IEEE Personal Communications,2000,7(2):8-18.
[9]乔晓军,沈佐锐,陈青云.农业设施环境通用监控系统的设计与实现[J].农业工程学报,2000,16(3):77-80.
[10]TSENG C L,JIANG J A,LEE R G,et al.Feasibility study on application of GSM-SMS technology to field data acquisition[J].Computers and Electronics in Agriculture,2006,53(1):45-59.