APP下载

基于GPRS和Internet的河流水情实时远程监测系统研究

2016-05-14贾建科

现代电子技术 2016年6期
关键词:串口河流远程

贾建科

摘 要: 为实现河流水位信息的实时远程监控,提出基于GPRS和Internet的河流水情实时远程监测系统解决方案。以STC12C5A60S2单片机作为系统控制中心,控制水位传感器进行河流水位信息的采集和处理,并控制GPRS通信模块进行数据传输。选用LC?SW1型水位传感器测量水位,使用SIM900A无线通信模块作为GPRS通信模块。监控通信网络通过具有公网IP的服务器建立,网络连接方式为TCP,将远程监测端的数据和监控端连接。该系统具有成本低和监控范围广的优点,能够满足应用的要求。关键词: 水情监控; GPRS网络; 网络通信; SIM900A中图分类号: TN967?34; TP277 文献标识码: A 文章编号: 1004?373X(2016)06?0132?04Research on river water regimen real?time remote monitoring system based on GPRS and InternetJIA Jianke(School of Physics and Telecommunication Engineering, Shaanxi University of Technology, Hanzhong 723003, China)Abstract: To realize the real?time remote monitoring of river water?level information, a solution of river water regimen real?time remote monitoring system based on GPRS and Internet is proposed. The microcontroller STC12C5A60S2 is taken as the system control center to control the water?level sensor for rivers water?level information acquisition and processing, and control the GPRS transmission module for data transmission. The LC?SW1 water?level sensor is selected to measure the water?level, and SIM900A wireless communication module as GPRS communication module. The monitoring communication network is established with the server owning public network IP, and its connection mode is TCP to connect the data from remote monitoring side to the monitoring side. This system has the advantages of low cost and wide monitoring range, and can satisfy the application requirements.Keywords: water regimen monitoring; GPRS network; network communication; SIM900A

0 引 言

我国河流多,河流水位变化大,尤其在汛期,河流水位在暴雨和山洪的影响下迅速上涨,给人民的生产生活带来不可估量的损失。目前国内许多河流水情的监测主要依靠水文站观测人员进行观察、逐级汇报的方式,该方式不仅需要大量的人力,而且很难做到及时、准确地了解河流水情状态。特别是在遇到暴雨或特大暴雨时,观测人员很难进入观测地点,各种数据的采集与传递都无从谈起,势必引发灾难性的后果。因此,加强对河流水情的实时远程监测就显得极其重要。虽然现阶段国内一些公司企业设计了水情监测系统,但购买成本高,运行费用也高。GPRS(通用分组无线业务)无线通信网络已经遍布世界各地,覆盖范围及其广泛,可靠性高,且收费相对低廉,数据传输速率最大可达到171.2 Kb/s,同时GPRS网络能接入Internet网络,实现数据的大范围远程实时监控[1?2]。

基于此针对当前河流监测系统的不足,提出一种经济小型化的河流水情实时远程监控系统设计方法。以陕南汉江为监测目标,利用低成本处理器和水位传感器,结合GPRS无线网络和Internet的无线接入技术实现河流水情信息的远程监测。

1 系统整体架构

河流水情监测系统主要由现场监测终端、通信网络和远程监控端3部分组成。现场监测终端由控制模块,数据采集模块,信号处理模块和电源管理模块组成。 远程监控中心由一台具有公网IP地址的云服务器主机和上位机软件组成。通信网络包括GPRS通信模块SIM900A、 GPRS网络和Internet网络。 SIM900A内置TCP/IP协议,GPRS模块插上SIM卡经过AT指令配置后可以接入GPRS网络,GPRS网络将数据发送到远程监控端,远程监控端与Internet网络连接。系统工作过程为:首先数据采集模块进行河流水位数据的采集,经信号处理模块处理后送到单片机,单片机处理后经串口送到GPRS模块发送,再经GPRS通信网络接入Internet网,将数据送到监控端。河流水情实时远程监测系统如图1所示。

图1 河流水情实时远程监测系统架构

2 系统硬件设计

系统硬件由河流水位信息采集模块、水位信息显示模块、控制单元和数据发送模块3部分组成。水情信息采集模块主要由水位传感器和I?V转换电路组成,显示模块由字符型液晶显示模块LCD1602组成,控制单元由STC12C5A60S2单片机组成。数据发送模块主要由SIM900A模块组成。系统硬件组成如图2所示。

图2 系统硬件组成

水位传感器选用LC?SW1型水位传感器,LC?SW1型水位传感器是投入式液位变送器,由壳体、放大器、接线端子、防护帽、中空导线等组成。宽电压抗冲击设计,体积小、重量轻、抗震动。输出有两线制和三线制,设计中采用两线制接法,输出4~20 mA电流信号,正极接24 V,负极接输入-24 V。考虑到STC12C5A60S2单片机的I/O引脚要求输入电压信号,设计了I?V转换电路,与STC12C5A60S2单片机的连接如图2所示。

LCD1602的4引脚RS接STC12C5A60S2的P2.0 I/O口,5引脚R/W接P3.5口,使能端6引脚E接P3.6口,数据总线DB0~DB7接P0 I/O口。

STC12C5A60S2单片机是一款功能非常强大的单片机,有两个串行通信接口,串口1的功能及操作与传统51单片机串行口相同;串口1可以使用定时器1作为波特率发生器,而串口2只能使用独立波特率发生器作为波特率发生器,控制水位传感器和数据发送模块SIM900A的工作。在该系统中,使用串口2与SIM900A相连接,P1.2和P1.3作为串口2,负责发送控制SIM900A指令,串口1主要是用来调试,将相关的调试信息从串口1输出。

数据发送模块SIM900A是SIMCom公司提出的一款尺寸紧凑的GSM/GPRS模块,内嵌TCP/IP 协议,主要是为了实现SMS与TCP功能,语音接口没有引出,外部功能模块主要分为串口、电源、SIM卡、以及单片机相应接口。

硬件系统通过SIM900A模块接入Internet 和监控端相连接,单片机STC12C5A60S2和SIM900A通过串口连接,利用AT指令收发数据,实现串口通信。由于计算机串口输出的是RS 232电平,而单片机和SIM900A模块都是TTL电平,不能直接进行通信,需要进行电平转换才能进行通信。本系统选择美信(MAXIM)公司专为RS 232标准串口设计的单电源电平转换芯片MAX232来进行电平转换。

3 系统软件设计

系统软件设计主要包括:现场监测端软件设计和远程监控端软件设计。现场监测端软件设计包括主控制器程序的设计、水位信息采集处理程序设计和监测端网络通信程序的设计。软件工作过程为: 首先完成主控制器STC12C5A60S2串口的初始化和GPRS模块的初始化,初始化完成后开始水位信息的采集和处理, GPRS模块SIM900A发起TCP连接, 连接成功, 主控制器将水位信息数据打包通过GPRS网络发送到远程监控端[3]。现场监测端工作流程如图3所示。远程监控端软件设计包括远程监控端网络通信程序设计。

3.1 主控制器STC12C5A60S2程序设计

主控制器STC12C5A60S2程序设计流程为系统初始化(主要包括定时器初始化、串口初始化、端口初始化等)、串口接收发送数据、按键键值的读取、与SIM900A的通信等。STC12C5A60S2内部有两个串口,第一个串口与通用51单片机相同,在P3.0和P3.1口;第二个串口是可以配置的,默认在P1.2和P1.3端口。对于串口1初始化,配置串口模式为8位数据位,1位起始位,1位停止位,无奇偶校验位,使用定时器T1参数波特率,波特率为9 600 b/s。配置完成,开定时器T1中断,启动定时器T1,串口接收中断。串口2的初始化和串口1的类似,只是串口2使用的是STC12C5A60S2内部的波特率发生器BRT,串口2的配置模式为8位数据位,1位起始位,1位停止位,无奇偶校验位,波特率为9 600 b/s。

图3 现场监测端工作流程

配置好串口之后,只需要往SBUF写入字符就可以通过串口发送出去,在串口发送的时候需要检测串口发送的忙碌位,在不忙时即可串口发送,同时在发送的时候暂时关闭串口接收中断,使发送和接收互不影响(接收的数据不会丢失,缓存在寄存器中,只是暂时没有接收中断,一旦发送完成,开始接收中断,就会处理接收),保证了系统的可靠稳定性。下面代码是发送一个字符的函数,目的是为了方便调试:

void Uart0_PutChar(char ch)

{

ES = 0 ;

SBUF = ch ;

while(!TI);

TI = 0 ;

ES = 1 ;

}

void Uart0_PutString(char * pString,unsigned int len)

{

unsigned short i = 0;

for (i = 0;i < len;i++ ){

Uart0_PutChar(pString[i]);

}

}

串口的接收是以中断的方式接收的,接收的格式是8位数据位,1位起始位,1位停止位,无奇偶校验位,波特率为9 600 b/s。当使能串口接收中断(ES = 1),串口有数据时,STC12C5A60S2会跳转到串口接收中断函数中,数据缓存在SBUF里。当串口接收中断时,RI为1,将数据读入到Temp,这样就可以完成串口的接收。

3.2 监测端网络通信

监测端网络通信程序流程为通信模块SIM900A的初始化、PDP的上下文激活、GPRS数据的读取/发送、GPRS网络状态的检测[4]。SIM900A的初始化完成GPRS网络连接方式、传输方式、附着和分离GPRS业务、启动任务并设置接入点、启动连接和获取本地IP的设置[5]。连接方式设为单点连接,传输方式设为透明传输方式,附着GPRS业务,设置参数为“AT+CGATT=1”,GPRS接入点APN(Access Point Name)设置为"AT+CSTT=\"CMNET\"",CMNET(China Mobile Net)是GPRS接入点名称,CMNET提供了NAT服务,使用该服务的手机可以直接访问Internet,CMNET可用于PC,笔记本电脑,PDA等设备实现GPRS上网[5]。考虑到系统设计需要,GPRS接入点名称设置为CMNET;通过AT 指令"AT+CIICR"激活移动场景,发起GPRS连接,GPRS连接成功后,向串口发送指令"AT+CIFSR",获取本地IP地址[6]。SIM900A的初始化完成后,建立TCP连接,发送数据。首先进行初始化,设置连接模式、端口号和IP地址,通过指令"AT+CIPSTART=\"TCP\",\"wap.baidu.com\",\"80\""完成。再利用AT指令进行数据的发送,使采集到的水位信息数据发送到GPRS网络。在完成GPRS 数据传输过程中,相应AT 命令必须设置,但相邻AT命令间要有一定延时, 经验证约为2 s。SIM900A模块建立TCP连接、打包发送水位信息数据程序如下:

void GPRS_TCP_LINK()

{

UART_SEND_STR(AT_CIPSTART,strlen(AT_CIPSTART));

UART_SEND_STR(AT_END,2);

m_long_delay(160);

}

void GPRS_TCP_SEND_INIT()

{

UART_SEND_STR(AT_CIPSEND,strlen(AT_CIPSEND));

UART_SEND_STR(AT_END,2);

m_long_delay(160);

}

void GPRS_TCP_SEND_DATA(char * msg,unsigned int len)

{

UART_SEND_STR(msg,len);

UART_SEND_CHAR(0x1A);

UART_SEND_CHAR(0x0D);

m_long_delay(100);

}

3.3 监控端网络通信设计

监控端网络通信设计实现TCP服务器的建立和监控端TCP连接的建立。SIM900A分配到GPRS网络的IP是动态的,重新连接网络后IP变化,再次通过设备建立IP连接变得困难。同时设备只要能连接Internet,就能访问具有公网IP的主机[7]。为了实现数据的稳定可靠传输,有必要设置服务器,本系统采用云服务器。服务器网络通信采用Microsoft Visual basic 6.0 进行编写。利用TCP连接方式,Socket建立一个TCP服务器端口供GPRS模块连接[8]。在 TCP 连接建立后,监控端会将其用户名和密码信息发到服务器,若用户名和密码正确,则显示用户上线,否则服务器断开连接。服务器还具有识别命令的功能,它能识别监控端发上来的命令,然后执行相应请求[7]。

监控端设在能与Internet 连接的计算机上。监控端通过向服务器发送命令来获取信息,或者传送数据到水位数据监测端。监控端和云服务器连接,实现数据的收发,就是监控端建立TCP连接。监控端TCP连接建立后,就可以开始接收水位监测终端发送来水位信息,并对水位信息处理。

4 系统测试

以陕南汉江作为河流水位监测目标,STC12C5A60S2作为水位监测端控制中心,SIM900A作为水位信息无线发送模块,LC?SW1型水位传感器测量水位。利用云服务器和一台连接Internet网络的计算机作为监控端。经过测试,系统运行稳定,水位数据无线传输正常,满足系统设计要求。测试中选择汉江河流某段的5个不同位置进行测试,现场的实际测试值与监控端的测试值比较,相对误差在5%以内。远程监测端的测试结果和监控端的值进行比较如表1所示。

表1 远程监测端的测试结果

5 结 语

将远距离采集数据与GPRS无线数据传输技术相结合,改变了以往有线的局限,能够实现监测端的无人值守功能。系统结构简单,水位采集监测端仅需要水位传感器、单片机、电源模块和GPRS无线模块。易于扩展,可以增加或删减水位监测设备。 GPRS网络覆盖广,不受地理位置限制,通信费用低廉,数据实时在线,可广泛用于地质、水文等领域,可以应用于交通不便、没有电力的偏远地区,有较高的应用与推广价值。这为改善河流水位信息采集工作的效率,实现河流水位监测站的无人值守,为积累丰富、详实的水文资料提供了有力保障。

参考文献

[1] 胡胜利,万晋军.基于GPRS的地下水自动监测系统设计[J].水利水电技术,2011,42(1):89?91.

[2] 任肖丽,陈佳喜,王骥.基于GPRS技术在线环境监测系统的研究[J].现代电子技术,2015,38(4):60?62.

[3] 陈东升.基于GPRS的下水道气体远程监测系统设计[J].计算机测量与控制,2014,22(12):3932?3934.

[4] WEI Dehua, LIU Pan, LU Bo, et al. Water quality automatic monitoring system based on GPRS data communications [J]. Procedia engineering, 2012, 28(12): 840?843.

[5] IONEL R, PITULICE L, VASIU G, et al. Implementation of a GPRS based remote water quality analysis instrumentation [J]. Measurement, 2015, 65(4): 81?93.

[6] 伍连明,陈世元.基于GPRS的远程数据采集模块[J].现代电子技术,2009,32(3):25?28.

[7] 张辉,温泽宏.GPRS在交通图像采集中的应用[J].计算机工程,2013,39(5):270?272.

[8] 李凌.Winsock2网络编程实用教程[M].北京:清华大学出版社,2003:120?156.

猜你喜欢

串口河流远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
浅谈AB PLC串口跟RFID传感器的通讯应用
河流
远程诈骗
流放自己的河流
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
当河流遇见海
基于并行控制的FPGA多串口拓展实现