基于GPRS的加油站管理系统研究
l 引 言
目前,国内的加油站遍及各个地方,大多数采用加油机机械计数、加油量手工统计的方法,这使汽车服务公司的各加油站的用油量、各车用油量的统计、管理工作非常繁琐、费时,麻烦又易出错。各加油点实时情况不利于总公司的随时了解,特别是很多偏远山区的加油站,很少和外界保持联系,使得加油站的用油量无法知道,导致经常不能正常加油。
现在市面上也有不少的加油站管理系统,但这些都是人工或者半自动化的,而且还要通过繁杂的布线才能使系统得以运行。本加油站管理系统利用中国移动通信强大的GPRS网络进行数据传输,省去了繁杂的布线,实现了加油站的全自动化管理。
本系统具有实时性、可靠性和快速性等优点。本文介绍该系统的组成原理,软件实现方法。重点分析GPRS模块如何与加油站采集的数据进行通信。
2 系统的组成
加油站管理系统主要由加油点子系统和中心控制子系统组成。加油点子系统由加油机、液位仪、加油站管理系统、数据采集器和G20(GPRS通信模块)等组成。中心控制子系统由总公司管理系统和中心管理系统组成,如图1所示。
由于在加油点子系统中,很多技术都已经成熟,而该系统的技术难点就是G20如何将数据采集器中所有的数据发送到GPRS网络上,监控中心如何准确无误的接收和发送加油指令,下面将分别分析。
2.1 硬件系统
系统利用G20模块实现在GPRS网络覆盖区域内的远程数据采集。G20是Motorola公司推出的GPRS无线双频调制解调器,主要为语音传输、短消息发送和数据业务提供无线接口。G20集成了完整的射频电路和GPRS的基带处理器,特别适合于开发一些GPRS的无线应用产品。通常情况下,数据采集器输出的信号都是模拟信号,需转换成数字信号后才可以和G20通信。在单片机系统上加GPRS模块构成网络通信的硬件原理框图2所示。
数据采集器采集到的模拟信号,通过ADC0809 A/D转换器转换成数字信号后送到MPC850嵌入式CPU,通过嵌入式CPU的主控程序和GPRS通信模块(G20模块)发送出去。由于MPC850和 G20之间的电平不相同,就需要在中间加上RS 232转换电路。本系统是利用短消息方式发送的,发送的指令编码在短消息中,当从机接收到主机的短消息后,通过对短消息解码,提取控制命令,执行相应的操作,把操作结果编码成短消息串并传回主机;主机接收从机发回来的短消息经过解码就可以得知系统的各种状态信息。主要用到的就是GSM07.07标准中的 AT命令,选择短消息格式指令AT+CMGF;设置新消息到达自动提示指令AT+CNMI;读取短消息AT+CMGR;发送短消息AT+CMGS:先选择短消息格式TEXT还是PDU命令AT+CMGS=(1ength> 0891683108200805F0110008813126098000F00000A702C834ctrl一z>,描述:用PDU 方式发送信息“Hi”,响应+GS:mr>OK描述:发送成功;删除短消息AT+CMGD。
2.2 软件系统
加油点系统使用VB 6.O编写程序,控制中心使用VC++6.O和数据库语言ACCSESS 6.O编写,这2个系统的研究已经成熟,较难实现的是嵌入式CPU和G20通信以及G20如何将数据发送出去。由于嵌入式CPU是特殊的单片机,所以,汇编语言实现该过程很方便。该过程主要由主程序、数据处理子程序、定时中断和发送子程序组成。数据处理子程序负责将采集回来的数据采用平均滤波的方法处理后,存入发送缓冲区;采用定时中断来控制发送数据的间隔时间发送数据子程序负责首先将发送缓冲区的数据进行ASCII码变换,再将成其转换为发送短消息时所需要的7位GSM码,最后由发送程序将数发送出去。发送流程如图3所示。其主要代码如下:
评论