【技术】基于GPRS无线网络的嵌入式远程车载监测系统[图]

原文链接地址:http://tech.c114.net/164/a663339.html

摘要:按照石化公司的要求,设计了一个基于GPRS无线网络与嵌入式操作系统μC/OS-Ⅱ的远程车载监测系统,用于监测槽罐车槽罐储液温度及其地理位置信息。车栽终端采用虚拟IP无线网络技术以及GPS卫星定位技术。数据监测中心设计了基于UDP协议的GPRS数据接收软件并采用Access数据库链接技术,成功实现了远程车载信息的现场采集与异地接收。最后给出了系统的运行结果。

0 引言

随着后PC时代的到来,嵌入式系统的应用已经越来越普遍,而基于GPRS无线网络的远程监测系统也在诸多工业工程领域有着广泛应用。本文将阐述基于GPRS无线网络的嵌入式远程车载监测系统,用于槽罐车槽罐储液温度以及地理位置信息的异地远程监测,其目的在于使石化公司及时掌握运输途中的储罐的温度随时问、地点的变化状况,为防止储罐因温度超限引发危险而起到预警作用,确保储罐铁路运输的安全。本文重点介绍其系统构成与车载GPS卫星定位技术以及远程数据的无线网络传输实现方法。

1 系统实现方案与构成

整个车载系统可以分为车载终端和监控数据中心两个部分,如图1所示。车载终端的核心是三星公司推出的16/32位RISC微处理器S3C24 40A。它有三个串口,其中串口1接GPRS无线发射模块,串口2接GPS卫星定位模块,由其自带的A/D转换接口来完成模拟信号向数字信号的转化。采集完成的定位数据与温度数据通过GPRS无线网络发送到远程数据监控中心,监控中心将接收到的数据存入本地数据库,以供查询和参考。

基于GPRS无线网络的嵌入式远程车载监测系统

2 车载终端数据采集模块与GPRS无线发射模块的设计

2.1 车载终端数据采集模块的设计

车载终端数据采集模块包括槽罐储液温度与GPS卫星定位数据的采集。其电路原理图如图2所示。图中左端为温度采集原理图,使用温度变送器可以将槽罐储液温度转化为0~40mA的标准电流输出,电流经过变阻器后就可以将其转变为可供ARM微处理器处理的模拟电压,电压值范围应控制在0~3.3V。图2右端为GPS数据采集原理图,GPS接收机采用台湾鼎天国际最新推出的GPS导航模块REB-1315。

基于GPRS无线网络的嵌入式远程车载监测系统

模块的供电电压为直流3.3V,由直流5V通过LM1117芯片转化后得到。19脚GPS_RF_IN为GPS信号输入端,接GPS接收天线,并由模块自身的17脚RF_VOUT信号为其提供偏置电压,来保证天线的正常工作。4脚TXA为模块的串口发送信号,它是模块主要的数据传输通道,被用来输出定位数据,本设计利用其得到定位信息。由于REB-1315模块的输出为TTL电平,故使用MAX232将信号电平转换为RS232电平。为了方便,这里使用DB9的1脚为模块提供5V的直流输入电压。当模块GPS天线接好并上电正常工作后,GPS定位数据就会连续不断地从4脚输出。图2右侧为A/D采集接口,温度变送器标准输出为0~40mA,经过变阻器将其转化为0~3.3V的模拟电压后送到S3C2440A的模拟通道AIN0进行A/D转换。

2.2 GPRS无线发射模块的设计

车载终端的GPRS模块采用华为EM310模块,基于EM310模块的GPRS无线发射模块的电路原理图如图3所示。模块的供电电压为3.8V,1~6管脚为SIM卡控制接口,13管脚为网络连接状态指示接口,串口0用于和MCU进行通信。

基于GPRS无线网络的嵌入式远程车载监测系统

3 车载终端的软件设计

本系统软件编写语言为C语言,借助ARM Developer Suite v1.2集成开发环境进行编译和调试。这是一个多任务系统,终端需要同时完成温度采集、GPS卫星定位数据的采集和GPRS数据的无线发送工作,为了满足系统需要,采用嵌入式操作系统μC/OS-Ⅱ来实现多任务的调度。操作系统的设计流程如图4所示。

基于GPRS无线网络的嵌入式远程车载监测系统

操作系统一开始要完成对车载终端硬件电路板的初始化工作,然后是初始化μC/OS-Ⅱ。μC/OS-Ⅱ是实时操作系统,它对系统时钟有着非常严格的要求,所以接下来要初始化系统的时基。为保证操作系统的可移植性与完整性,这里将串口初始化和中断等初始化工作放在初始化任务MainTask中来完成。最后启动操作系统。车载终端的温度采集、GPS卫星定位数据采集和GPRS数据无线发送,作为三个独立而紧密连接的任务在MainTask中建立,且这三个任务的优先级依次降低。主任务Main Task的设计流程图如图5所示,先初始化时钟节拍,因为操作系统当中的所有任务都是在时钟节拍的作用下准确执行的。然后建立内存分区以及串口消息队列,最后建立并执行多任务。这里利用了μC/OS-Ⅱ操作系统的消息邮箱机制,把A/D采集结果和GPS卫星定位数据依次投递到消息队列当中,在GPRS任务执行时再从消息对列中将它们分别取出来发送。

由于A/D采集比较容易,所以以下仅介绍GPS卫星定位数据的采集以及GPRS数据的无线发送过程。

3.1 GPS卫星定位数据的采集过程

GPS卫星定位数据采集包括GPS定位信息的提取、解析和消息投递,包含GPS数据处理的全部的步骤和方法。程序流程图如图6所示。

基于GPRS无线网络的嵌入式远程车载监测系统

GPS定位信息的提取、解析和消息投递工作放在while(1)循环中进行。在投递定位信息前需要判断是否解析到$GPGGA数据帧。GPS数据处理函数GPSproc()的代码如下:

基于GPRS无线网络的嵌入式远程车载监测系统

程序先将定位信息提取到数据缓冲区中,然后对其中的数据进行解析并存放到定义好的结构体当中,该结构体的数据成员包括时间、经度和纬度以及$GPGGA数据帧标志,如果解析到了$GPGGA数据帧,则进行消息投递工作。对于GPS定位信息解析函数void GPSReceire(GPSINFO* info,UInt8*pStrearn,UInt8len),它是得到定位数据最关键的一步,这里需要特别说明,其工作流程图如图7所示。为了保证数据的可靠性以及准确性,需要对每一帧数据进行异或校验,如果异或校验正确,则开始提取并处理数据帧当中的有效字段。

基于GPRS无线网络的嵌入式远程车载监测系统

3.2 GPRS数据网络的买现方案

车载数据异地远程无线发送的关键是GPRS无线网络通道的建立。在实际应用当中,可以利用公网静态IP,动态域名解析,短消息通讯,APN专线接入等组网方案。但公网静态IP需要相当一部分的使用费用,不利于系统开发成本的降低。动态域名解析方案的稳定性受制于DNS服务器,也需要一定的开发费用。短消息通讯容易收到干扰且不具有实时性。APN专线接入方案通常适用于安全性要求较高、监控点较多和实时性要求较高的场合,但这一技术使用起来较为复杂。

鉴于此,本系统采用虚拟IP技术,它是一种类似于电子邮件的技术,适于需要公网静态IP的场合,其组网方便,通过远程服务器,可以在不同网段内任意转发数据。网络结构如图8所示。

基于GPRS无线网络的嵌入式远程车载监测系统

GPRS模块使用SIM卡登录到移动互联网,位于主站的计算机也接入到互联网。给GPRS模块和主站计算机分配地位等价的虚拟IP地址(这里分别为10.1.90.0和10.1.90.1)。对于远程虚拟IP服务器,可以自己搭建,也可以由商业公司提供,由于它能够在不同网段内任意接收数据和提供下载服务,因此它是具有公网静态IP的,为了统一起来,它也被分配了自己的虚拟IP地址,同时它还被设定了对应的端口号(这里为7002)。在应用时,车载GPRS模块将先采集到的数据按照UDP数据报发送到服务器,然后服务器将会解析这一数据报并将其转发到目标IP地址,主站也就是监控中心计算机上运行有遵从UDP协议的数据接收软件,这样就实现了车载数据向远程监控中心的发送。UDP数据报结构见表1。如果编号为10.1.90.1的终端发送字符串ABCD,服务密码为123456,则这一数据报为:0A015A000A015A01313233343536000441424344。若发送内容包含有汉字,则其为GB2312汉字编码。

基于GPRS无线网络的嵌入式远程车载监测系统

3.3 GPRS模块发送数据的操作
  要使GPRS模块建立网络连接并实现数据的远程发送是通过向控制串口发送一系列AT指令来实现的。对于EM310模块,其主要使用的AT指令如下:

基于GPRS无线网络的嵌入式远程车载监测系统

在μC/OS-Ⅱ的GPRS任务中,上述的AT指令被写到C语言代码中,也即写入到串口打印操作语句中,为了使GPRS模块硬件更好的响应命令,需要在每条指令后延迟数秒。所发送的数据是从消息队列当中取出来的。

4 系统的运行结果

车载终端使用嵌入式集成开发软件ADS 1.2,采用C语言编写。数据监控中心的数据接收软件使用MFC设计,同时还使用了ADO技术,能将接收到的数据通过处理及时存放到本地Access数据库,并且还能供工作人员随时查询数据库信息。

基于GPRS无线网络的嵌入式远程车载监测系统

图9为数据中心接收软件接收远程GPRS数据的情况,图10为数据库的查询结果。可以看到,本系统在测试运行时得到了良好的效果。

5 结语

本系统虽然针对石化企业的槽罐车的监控开展研究工作,但其技术方案及形成的技术成果将可推广至其他行业的产品运输、工农业装备运行状况的远程监测与控制,以及远程医疗等诸多领域,有着广阔的应用前景。

作者:张乐 周严 南京理工大学机械工程学院   来源:《现代电子技术》2011年第19期
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 基于STM32技术远程智能灌溉系统设计与实现是一项能够通过互联网远程控制灌溉设备的技术。该系统利用STM32微控制器作为核心处理器,利用其强大的计算和通信能力,实现了对灌溉设备的远程控制和智能化管理。 在系统设计中,首先需要选用适合的传感器来感知土壤湿度、温度和光照强度等数据,利用STM32微控制器的模拟和数字输入输出功能对这些数据进行采集和处理。 系统利用无线通信技术如Wi-Fi或者蜂窝网络将数据传输到远程服务器上,服务器利用云计算的技术对数据进行处理和分析,从而得出灌溉的决策。 再根据服务器的决策结果,STM32微控制器通过输出电平或者脉冲控制灌溉设备的工作状态,实现自动灌溉的功能。 此外,为了提高系统的可靠性和稳定性,可以添加温湿度传感器,用于监测环境参数,以防止环境温湿度对灌溉效果产生影响。 同时,系统还可以设计手机APP或者网页界面,以便用户可以通过手机或者电脑进行远程控制和监测,实现灌溉系统远程智能管理。 综上所述,基于STM32技术远程智能灌溉系统的设计与实现采用了传感器数据采集、云计算、无线通信和远程控制等技术手段,能够实现对灌溉设备的远程智能化管理,提高了灌溉效果,减少了人工操作的工作量,更加方便和智能化。 ### 回答2: 基于STM32技术远程智能灌溉系统主要包括硬件设计与软件实现两个方面。 在硬件设计方面,系统需要包括STM32微控制器作为主控芯片,用于控制整个系统的运行。此外,还需要传感器模块,用于感知土壤湿度、光照强度等环境参数,以便根据实时数据进行智能决策。液体泵模块则用于控制灌溉水的供应。此外,还需要使用无线通信模块,如Wi-Fi或GPRS模块,以便实现远程监控和控制。另外,为了提高系统的稳定性和可靠性,还需要设计相应的电源模块和保护电路。 在软件实现方面,首先需要进行底层驱动的开发,包括对传感器、液体泵和通信模块的驱动程序编写。通过与STM32的接口进行通信,实现对传感器数据的采集和液体泵的控制。然后,需要设计一个算法模块,用于根据传感器数据和预先设定的阈值,进行智能决策,并向液体泵模块发送控制命令。最后,还需要编写远程通信模块的程序,通过无线通信模块与远程服务器进行数据传输和远程控制。可以使用一些现有的物联网平台,如阿里云、腾讯云等,来实现数据的远程传输和云端存储。 总之,基于STM32技术远程智能灌溉系统的设计与实现需要进行硬件设计与软件开发两个方面的工作。通过合理的硬件选型和设计,实现对环境参数的感知和液体泵的控制;通过软件的开发,实现智能决策和远程通信功能,从而实现远程智能灌溉系统的设计与实现。 ### 回答3: 基于STM32技术远程智能灌溉系统设计与实现主要包括硬件设计和软件设计两个方面。 硬件设计方面,首先是采集和控制模块的设计。可以通过STM32单片机来实现传感器数据的采集,如土壤湿度、光照强度等,并根据采集到的数据控制灌溉装置的开关。同时,还需要设计通信模块,如WiFi模块或GPRS模块,用于与远程服务器进行数据传输。 其次是电源模块的设计。为了保证系统的稳定工作,可以采用适当的电源管理芯片以及电池或太阳能电池板等供电方式。 软件设计方面,主要包括嵌入式软件的开发和云平台的搭建。在嵌入式软件的开发中,可以利用STM32的开发环境进行编程,实现数据采集、灌溉控制等功能。同时,需要编写与通信模块相配套的通信协议,如MQTT、HTTP等,以实现与云平台的通信。 在云平台的搭建中,可以使用云服务提供商的开发平台,如阿里云、腾讯云等,创建相应的数据库和服务器,并开发相应的接口和应用程序,用于接收来自远程智能灌溉系统的数据,并进行数据分析和决策,如自动调节灌溉量等。 整个系统的实现需要进行硬件电路的搭建和调试,同时还需要进行嵌入式软件和云平台的开发与调试。最后,对整个系统进行测试和优化,确保其稳定可靠地工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值