基于GPRS的温湿度监测系统

2022-02-22 01:07郁赛赛袁静刘国成谢雨婷岳卫国韩昱
电脑知识与技术 2022年36期

郁赛赛 袁静 刘国成 谢雨婷 岳卫国 韩昱

关键词:GPRS;温湿度采集;STM32;SIM900A;无线数据传输

中图分类号:TP368 文献标识码:A文章编号:1009-3044(2022)36-0095-02

1 引言

在高度信息化的现代社会,移动通信技术快速发展,已经从2G来到了5G时代。信息技术的进步也为许多传统工程问题带来了新的解决思路[1]。在工业生产、环境监测、水文测量等工程项目中数据测量占据了重要地位[2],而传统的有线传输虽传输效率高但易受环境因素的影响,难以适应复杂环境和远距离传输。

与有线传输不同,GPRS通过分组数据交换技术可实现远距离无线传输,特别适用于频繁的少量数据传输和间断的大量数据传输[3]。且得益于我国的通信基础设施建设,基于GPRS技术的数据传输系统在广大的山区、农村地区也可以得到广泛使用。

2 GPRS技术

GPRS(General Packet Radio Service)是一种基于GSM发展起来的移动数据技术[4]。它是利用GSM网络中的TDMA信道,提供中速的数据传输服务。它的特点是间歇传输数据,最高速率可达170千比特/秒,支持短信、语音、上网和数据无线传输等业务。GPRS 遵循TCP/IP 协议或UDP 协议,通常用于客户端和服务器之间的通信,从而进行无线数据传输[5]。随着GPRS 网络服务技术的不断发展,GPRS在数据通信领域的应用越来越广泛[6],它传输速率快、可靠性高、永久性在线的优点在环境监测和智能汽车定位等应用领域得到了很好的体现。

3系统硬件设计

系统主要是以STMicroelectronics 公司的M3 核STM32103ZE作为主控单元,集温湿度数据采集电路,电源电路和GPRS 无线传输电路为一体的数据采集发送终端。MCU单元用于整体控制和对GPRS 无线通信模块发出AT 指令;温湿度数据采集电路的功能是实现采集所处环境的温湿度;电源电路负责整体模块的外部供电;GPRS模块负责将采集到的数据通过GPRS 移动通信网络上传到服务器或手机。此外,系统采用了0.91寸OLED液晶屏作为显示模块,实时显示所测量环境的温湿度。使用SHT20 芯片来采集温度和湿度,它的体积较小,I2C通信。采用JTAG进行系统硬件部分的调试,测试是否正常驱动硬件,是否能正常实现数据采集与传输模块的功能要求。发送终端。MCU单元用于整体控制和对GPRS 无线通信模块发出AT 指令;温湿度数据采集电路的功能是实现采集所处环境的温湿度;电源电路负责整体模块的外部供电;GPRS 模块负责将采集到的数据通过GPRS 移动通信网络上传到服务器或手机。此外,系统采用了0.91 寸OLED液晶屏作为显示模块,实时显示所测量环境的温湿度。使用SHT20 芯片来采集温度和湿度,它的体积较小,I2C通信。采用JTAG进行系统硬件部分的调试,测试是否正常驱动硬件,是否能正常实现数据采集与传输模块的功能要求。

3.1 MCU 单元设计

MCU单元使用STM32F103ZET6 芯片作为主控单元的核心芯片,正常工作电压为2.0~3.5V,主频为72MHZ且含有大量外设资源[7][8]。该芯片相比于其他同系列微控制器拥有更大的存储容量可满足本系统大量数据采集的要求。芯片内部自带基准的RTC时钟和看门狗定时器,能有效阻止异常情况,防止测试程序跑飞死机。

本系统的主晶振采用8MHz 晶振,可将处理器的频率增加六倍至72MHZ,此晶振是给需要高频的外设提供的。RTC 时钟电路的专用晶体振荡器频率为32.768KHz,且在时钟晶振两端配有两个电容式以抵抗外部电磁干扰。

3.2 GPRS 无线通信模块电路设计GPRS部分采用SIM900A,它包含了AT指令、网络注册、短信操作等多种功能。SIM900A在同一时间只能处理微处理器发送的一条AT 指令,如果同时接收到多条则会被丢弃,只保留一条。

SIM900A 由TTL电路驱动,可自适应兼容3.3V和5V电压,能够与STM32系列单片机直接连接,可进行短信收发,无线数据传递,图像传输,彩信等服务。本系统只需用到网络服务、收发短信和无线数据传递三种功能。此外,为防止GPRS模块发射功率过大导致单片机复位,该模块采用5V1A独立直流电源与单片机分开供电。IPX微型天线电路包含了两个二极管,与电阻、电容和双极性晶体管组成天线电路,来保证信号的强度。

3.3 温湿度传感器电路设计

温湿度测量模块采用SHT20作为传感器对环境温湿度进行实时检测,测量到的温湿度数据经微控制器传输到GPRS无线传输模块。SHT20的标准工作电压为3.3V,采用I2C通信原理。其湿度检测范围为0~100%RH(±3%RH),温度测量范围为-40~125℃ (±0.3℃)。采样规则是一定时间内采集n次后取平均值。

SHT20的特点是可靠性高,稳定性好。而且它具有体积小、功耗低、抗干扰能力强、温湿度一体化等优点,可在野外露天环境下进行测量,也适用于室内复杂环境下的温湿度监测。所以采用SHT20 温湿度传感器可以保证本模块的通用性。

4 系统软件设计

系统软件设计首先是初始化模块,然后GPRS通过附着移动终端建立连接,数据采集模块开始采集周围环境数据,OLED模块实时显示采集到的环境参数,最后GPRS模块将数据打包成IP 数据包传输到服务端。如果采集到的数据超过预先设置的阈值范围,实时报警程序将通过GPRS 网络发送报警短信。

4.1 数据传输模块程序

數据传输程序设计需要完成SIM检测、GPRS初始化、GPRS通信连接和数据无线传输四个部分。在GPRS服务建立时需要一个公网IP地址以便识别主机的准确地址,如果采用局域网IP地址,服务端就难以找到数据采集终端的位置,无法完成握手通信。此外,考虑到工程应用中环境因素复杂多变,无线传输极易受到电磁波干扰,因此在数据传输过程中加入了奇数校验以提高系统的可靠性。

4.2 实时检测报警程序

报警短信的发送是采用SIM900A自带的AT指令集完成的。当检测到的温湿度超过预先设置的阀值时,短信会以UCS2编解码形式将当前检测到的数据和警报信息发送到预先设置连接IP地址的主机。

根据不同场合的需求不同,需要设置的温湿度阈值范围是不一样的。因此要在程序里预先根据检测环境的需求,来设置温湿度阈值范围。如果采集到的数据超过这个阈值范围,GPRS 模块就会向上位机发送温湿度超标的短信。短信内容为“温度超标,当前温度为xx;湿度未超标,当前湿度为xx”。

5 系统调试

5.1 测试条件

首先需要对系统硬件进行测试,主要看程序是否能够正常驱动硬件,硬件电路有没有短路、能否正常工作,GPRS 模块能否正常进行通信,温湿度采集数据是否出现错误等内容。软件部分测试主要包括检测GSM服务是否正常,上位机连接情况,AT指令响应速度等内容。此外,为避免本地网络故障对系统测试产生影响,还应在系统测试前检测本地网络的延时和丢包情况。

5.2 测试过程

使用JTAG串口线将本系统与电脑USB接口连接,通过USB驱动软件成功识别USB设备,然后打开下载软件,将编译生成的hex文件烧录到芯片。将USB串口线拔下来,对主控模块进行断电处理,提前插好SIM卡,对整个系统进行上电。这时SIM900A模块右上方会有一个LED灯在快闪,等待十几秒后会变为慢閃,这说明GPRS模块已成功附着GPRS网络。这时再插上USB串口线对主控模块进行供电,显示屏亮。连接网线,打开网络调试助手,将IP 地址修改为PC上网的公网IP 地址,建立服务端,这样整个系统就可以正常工作了。

温湿度传感器SHT20每隔十几秒就采集周围环境的温湿度参数,为两个数字量。如果采集到的数据超过预先设置好的阈值范围,就会向预先设置好的用户号码发送报警短信息,短信息内容包含“温度和湿度是否超标,当前温度和湿度为多少”,及时提醒管理人员。并且采集的温湿度还可以通过显示模块实时显示在OLED屏幕上。

经调试表明本系统整体工作正常,实现了温湿度测量与显示,无线数据收发,报警信息提醒等功能。

6总结

本文利用STM32103ZE单片机、GPRS无线传输模块,SHT20温湿度传感器等硬件,经软件设计和调试实现了一种集温湿度采集与无线传输报警的嵌入式系统。该系统结构简单,成本低廉,整体稳定性好,适用于多种无线数据测量场景。此外,该系统还可与大数据技术相结合,实现云端数据的有效利用。