APP下载

新能源汽车实验室环境监测报警系统设计

2023-06-17王萧宇冯永睿

物联网技术 2023年6期
关键词:程序设计温湿度报警

王萧宇,李 梦,冯永睿,汪 源

(三亚学院 理工学院,海南 三亚 572022)

0 引 言

随着科技发展的日新月异,人们对实验室环境的需求不再局限在安全舒适性方面,还增加了智能化的需求,利用手机对实验室环境进行实时监控已经成为现实。发达国家从20世纪70年代开始就展开了对实验室环境监测的研究,对人们的工作环境也非常重视。

我国在20世纪80年代开始关注实验室空气质量监测,由于几种全球性传染性疾病的肆虐,实验室环境质量问题也引起了人们的高度重视,给实验室环境监测技术的快速发展带来了一个契机[1]。如何将物联网技术和无线传输数据技术融合到实验室环境监测,成为了实验室现代化管理的关键[2-3]。

本文以物联网技术作为核心,利用STM32 单片机作为数据处理模块,利用温湿度、光照、CO 等传感器来实现环境数据的实时监测,通过WiFi 模块将结果上传到阿里云平台数据库,并用手机APP 实时显示。监测结果一旦超过设定安全值,系统将发出报警,实现实验室环境实时监测的效果。

1 系统的总体设计

本文设计的是基于STM32 的新能源汽车实验室环境监测报警系统,为了实现该系统的功能,设计了传感器阵列模块、ESP8266 无线WiFi 模块[4]、OLED 显示模块及蜂鸣器报警模块。传感器模块使用声音分贝传感器、DHT11 温湿度传感器、BH1750 光照强度传感器、MQ-7 一氧化碳传感器。该系统研究所需要实现的功能为:(1)实现对实验室环境的监测,用OLED 屏显示光照度、温湿度、一氧化碳等数据的具体信息;(2)通过ESP8266 连接热点将上述参数数据发送到阿里云平台数据库[5]进行保存,使用手机APP 通过MQTT协议[6]实现对实验室参数的远程监控;(3)判断是否达到温度、一氧化碳所设最高值,如果达到最高值,蜂鸣器则报警提醒。系统总体功能框架如图1所示。

图1 系统总体功能框架

2 硬件设计

系统的硬件电路主要包括STM32 单片机核心控制模块、电源电路、降压电路、无线传输模块、OLED 显示模块、光照强度传感器模块、噪声传感器模块、温湿度传感器模块、一氧化碳传感器模块、报警模块。

系统核心控制板采用的单片机为STM32F103C8T6。STM32F103C8T6 是STM32 系列的中等容量增强型MCU,是一个32 位的ARM 微控制器,存储容量为64 KB,工作频率的最高值为72 MHz,它还包含USB、CAN、7 个定时器、2 个12 位模数转换器、7 通道的DMA 控制器、多达37 个I/O 端口及9 个通信接口,电压为2~3.6 V,支持SWD 和USB 接口,工作温度为-40~85 ℃。

通信模块选用的是WiFi 模块ESP8266,该芯片采用串行通信模式,能够通过串行接口直接与单片机进行数据交流,也可以进行数据透传,操作非常简单、方便,具有价格便宜、功耗较低、功能强大的优点。

光照强度监测选用BH1750 传感器,它的尺寸为21 mm×16 mm×3.3 mm,使用I2C 总线进行接口交流,能够直接输出数字信号。该传感器的供电电压为3~5 V,量程和精度的范围为1~65 535 lx,具有功耗低、测量误差较小等优点。

环境气体监测选用ZPH01 传感器,它的尺寸为59.47 mm×44.5 mm×20 mm,用来监测空气中的粉尘颗粒物PM2.5。该传感器有两个输出方式:PWM 信号输出及UART 数字串口输出。它的工作电压为5 V 左右,对粉尘最小粒子的检出能力是1 μm,具有重量轻、易安装的优点。

环境温湿度监测选用传感器DHT11,它是四引脚的,安装方便。该传感器既能测量湿度,也能测量温度。工作时的电压为3.3~5 V,输出的是数字电压。该传感器的测量范围分别为20%~90%RH、0~50 ℃,测湿精度为±5%RH,测温精度为±2 ℃,分辨率为1,封装为4 针单排直插。DHT11 温湿度传感器对温湿度的测量分辨率都为8 bit,具有功耗低、体积小、稳定性强的特点。

3 软件设计

系统主程序设计包括初始化模块程序设计、传感器模块程序设计、显示模块程序设计、无线模块程序设计、报警模块程序设计。本次设计的总工作流程如图2所示,首先将使用的所有传感器、STM32 单片机、无线模块ESP8266、OLED 屏都进行初始化[7],然后利用传感器采集信号,将数据信号直接通过STM32 单片机的端口输出数字量,得到实验室环境参数的数据。WiFi 模块ESP8266 会将单片机STM32 收集到的数据发送到阿里云的数据库进行保存,然后发送到手机APP 进行远程监控。与此同时,传感器读取的数据也会在OLED 屏上显示出来。当温度、一氧化碳的数据值一旦被判断超过设定的最高值,报警模块就会实现其相对应的功能,通过蜂鸣器发出响声进行报警。如果被判断没有超过设定的最高值,就会再次进行初始化,重复上述相应步骤。

图2 主程序设计流程

3.1 OLED 显示屏程序设计

先对OLED 屏进行初始化,再写入一个字符串,写入一个字节,这时就可以进行写入命令到OLED 中、写入数据到OLED 中这一步骤,然后收集通过STM32 单片机的控制得到的实验室环境参数数据,将这些数据进行转换,就可以得到能够显示的具体字符图形,最后通过指针定位在OLED 屏上进行显示。

3.2 WiFi 模块程序设计

把WiFi 模块ESP8266 初始化,设置其工作模式为STA 模式,并加入WiFi 热点进行用户信息确认。接着连接MQTT 服务器(阿里云平台数据库),连接成功后,将通过STM32 单片机的控制进行AD 转换,得到实验室环境参数数据并由WiFi 模块ESP8266 发送到服务器进行保存。最后MQTT 客户端(手机APP)[8-10]开始提出订阅主题和退订的请求,服务器会向该客户端推送所需要的消息内容。

3.3 传感器模块程序设计

以温湿度传感器为例进行说明,其他传感器程序设计类似。首先把DHT11 温湿度传感器初始化,然后该传感器先采集实验室温湿度的数据,因为直接与单片机的端口相连,所以直接向单片机输出数字量,然后进行数据显示。最后查看温度的数值是否超过所设温度最高值,如果超过,蜂鸣器就会发出声音报警;反之,则返回重新采集数据。

4 实际测试

使用充电宝提供电源,把实物与充电宝用数据线进行连接。当装置上电后,CO、CH2O 两个传感器以及STM32 单片机的指示灯全部亮起,系统开始工作并采集环境数据。通过调试WiFi 模块ESP8266 连接阿里云并将数据发送到云端,并可以打开手机APP 进行监测。当温湿度模块所测量的实验室温度大于60 ℃,或一氧化碳传感器所测量的实验室一氧化碳的含量大于30 ppm,蜂鸣器都会发出响声进行报警,同时手机显示的火灾报警区域显示“火灾险情”。测试时系统硬件如图3所示。

图3 系统实物测试

以上的实验结果证明了该装置能够很好地对实验室环境进行监测;温度、一氧化碳超过所设的最高值时,设备会自动报警;也能够用手机APP 进行远程监控,实现对实验室环境的实时监测。因此,本实物的调试是成功的,完美地实现了该系统的全部功能。

5 结 语

本文利用物联网技术、无线通信技术设计了一款新能源汽车实验室环境监测系统。利用各种传感器模块实现新能源汽车实验室环境数据的获取,并将数据传输到STM32最小系统单片机,然后STM32 最小系统单片机接收到数据后进行数据的提取和处理,再将处理的数据通过WiFi 模块ESP8266 上传到云平台,还可在手机APP 和本地的显示屏上进行实时显示;当环境数据超出设定范围时,系统会报警。

注:本文通讯作者为汪源。

猜你喜欢

程序设计温湿度报警
温湿度控制器在回收砂冷却系统中的应用
基于Visual Studio Code的C语言程序设计实践教学探索
基于DSP的多路温湿度监测系统
从细节入手,谈PLC程序设计技巧
基于温湿度控制的天气预测装置
LKD2-HS型列控中心驱采不一致报警处理
蒸发冷却温湿度独立控制空调系统的应用
高职高专院校C语言程序设计教学改革探索
2015款奔驰E180车安全气囊报警
死于密室的租住者