APP下载

基于STM32与ESP8266室内环境监测系统的设计

2023-07-20钱平齐赛赛孙逊

无线互联科技 2023年9期
关键词:环境监测

钱平 齐赛赛 孙逊

摘要:文章设计了以STM32单片机与ESP8266无线模块为基础的硬件终端,该终端以STM32的最小系统为基础,接入光照度传感器、温湿度传感器、烟雾传感器进行室内环境数据的获取。所获得的环境数据通过无线模块上传至阿里云服务器,在微信小程序端可以实时远程监测室内环境。此外,在微信小程序端还接入“和风天气”API接口达到获取天气信息的目的,硬件终端可以通过通信协议与云平台和微信小程序进行数据的交互,实现室内监测与控制,应用前景广泛。

关键词:STM32;ESP8266;环境监测

中图分类号:TP368.1

文献标志码:A

0 引言

随着物联网技术的不断发展,其在室内环境监测应用领域也得到了很好的应用。在线环境监测的方法也很多,如利用ZigBee协议等传统的方式,但存在价格相对较高、组网困难、协议占带宽的开销量较大等缺点。采用硬件智能终端采集室内相关环境数据,并通过无线网络模块传送至云端的方式已成为一种发展趋势,可以通过微信小程序或手机App端进行实时数据交互,包括环境数据查询及进行相应的室内家居的控制使其达到更智能化、方便化和信息化的目的 [1]。本文所涉及的系统就是利用STM32单片机与ESP8266无线模块组成的本地硬件终端,通过数据的采集、传输、存储到云端,通过微信小程序实现数据的交互,实现室内环境数据的实时查看、预警以及后期可添加控制单元实现家居自动化等功能,同时接入“和风天气”API接口将实时天气情况和穿衣建议显示在屏幕和微信小程序端。

1 智能家居系统总体设计

系统的总体框图如图1所示,其中,左边部分为本地的硬件終端包括主控芯片STM32F103C8T6单片机、 BH1750光照度传感器模块、DHT11温湿度传感器模块和MQ-2烟雾传感器模块。传感器采集到的数据传输到主控芯片进行数据的处理并显示在终端OLED显示屏上2。ESP8266-01模块将采集到的数据以JSON数据的形式通过阿里云ECS搭建的MQTT服务器发送到基于VUE框架的微信小程序中。该小程序调用“和风天气”API显示实时天气情况,空气指数,空气质量和运动建议。若采集到的数据超过设定阈值范围终端会进行蜂鸣器报警并通过远程手机小程序端的报警提醒用户。整个物联网体系结构中,硬件及“和风天气”API部分为感知层,阿里云服务器为网络层,智能家居系统小程序为应用层。

2 智能家居系统的硬件设计

2.1 主控模块

STM32F103C8T6是一款由意法半导体公司推出一款常用32位主控芯片,该主控芯片是基于Cortex-M3内核的控制器,外部时钟最高可倍频到72 MHz,程序存储器容量为64 KB,需工作电压为2~3.6 V,工作温度为-40~85 ℃。该为控制器具有丰富的外围设备,包括37个GPIO、7个定时器、2个I2C接口、3个USART接口、2个SPI接口、1个CAN接口等外设。该主控模块价格与家族其他芯片相比较低,其比8位单片机更优,非常适合此系统。主控板与各其他硬件模块连接的电路原理如图2所示,其中,蜂鸣器与引脚PA1相连接,OLED显示屏与引脚PA5,PA7相连接。电源模块会根据不同芯片的工作电压进行不同的变压。

2.2 无线物联网模块

本系统采用的无线传输模块为ESP8266,该模块的主要特点是低功耗、集成度高、性能稳定等,有集成完整的TCP/IP协议栈和MCU,可作为独立MCU使用或作为通信模块搭载于其他主控芯片上3。本系统是通过STM32的串口2与模块连接,同时配置成STA工作模式,通过路由器连接至网络。

2.3 光照度传感器模块

本系统采用的是BH1750传感器,该传感器是具有接近视觉灵敏度的光谱灵敏度特性,它支持IICBUS接口,是一种用于两线式串行总线接口的数字型光强度传感器集成电路。其主要特点是高分辨率、光强探测范围广、受红外线影响小等。本系统主控模块STM32与光照度传感器模块采用的连接方式为IIC模式,采用PB6、PB7引脚模拟IIC协议读取BH1750传感器数据,原理如图2所示。

2.4 温湿度传感器模块

本系统采用的是DHT11传感器,该传感器具有已校准数字信号输出、单总线模式、连接简单、精度准确、抗干扰能力强、响应速度快、性价比高等优点。温度量程在-20~60 ℃,湿度量程范围在5~95%RH。本系统主控模块STM32与温湿度传感器模块采用的便是单总线数据格式,数据线与PA8引脚相连接,原理如图2所示。

2.5 MQ-2烟雾传感器模块

本系统采用的是MQ-2气体传感器,该传感器具有响应快、稳定性能好、驱动电路简单、灵敏度较高等优点。该传感器内含二氧化锡半导体气敏材料,烟雾浓度越大,输出的电阻越小,输出的模拟信号就越大。该传感器处理信号也比较简单,主控板检测到的数值超过阈值时,信号为高电平,反之为低电平,可通过与阈值的比较联动蜂鸣器的鸣叫和小程序端的警报。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。本系统主控模块STM32与烟雾报警传感器模块连接方式与引脚PA1相连接,如图2所示。

3 智能家居系统的软件设计

3.1 主程序流程

根据以上的硬件电路的设计方式,针对每一模块进行软件编程,主要软件流程如图3所示。首先,初始化传感器、STM32单片机和无线传输模块ESP8266,传感器读取数据传至STM32单片机进行数据处理,并显示在OLED显示屏上。同时,将数据通过无线模块连接路由器接入因特网传送至基于EMQX在阿里云ECS搭建的个人服务器4

下面具体介绍一下各个模块的程序设计的原理及注意事项。光照度传感器模块先通过PB6,PB7引脚发送IIC起始信号,STM32单片机开始读取IIC数据。温湿度传感器模块,采用两个循环用于等待每个周期的电平变化,防止STM32单片机收不到温湿度传感器电平信号而死机,一次完整的数据传输为40 bit,高位先出,分别是高16位表示湿度的整数和小数数据,低16位表示温度的整数和小数数据。烟雾传感器模块通过Get_Adc函数实时获取MQ-2传感器的烟雾值。

3.2 微信小程序开发应用流程

无线模块ESP8266获取的数据通过互联网传送至云端。本系统云服务器采用的是EMQX平台,EMQX向用户开放足够的API,便于第三方应用的接入。微信小程序开发先获取用户ID,再向远程服务器中发送请求5,并等待JSON格式从数据库中获取信息。具体数据访问界面流程,如图4所示。

小程序订阅的/ mysmarthome /pub主题接收到“和风天气”API和物联网模块发送的报文会实时更新小程序的界面内容。同时,也可以向/mysmarthome/sub主题发送相应的控制信息报文。在基于mpvue-quickstart创建的模板项目中,安装sass和mqtt的npm依赖。用HTML搭建界面结构iconfont找到合适的矢量图标,CSS搭建界面样式,JavaScript实现接收和订阅消息,小程序和MQTT服务器连接,接收消息和开关组件绑定。

4 系统实际测试

系统上电复位后各元器件初始化正常,檢测到的实时温湿度值,光照度值以及烟雾值正常显示在OLED屏幕上,并且成功上传至微信小程序端,“和风天气” API接口成功调用,小程序正确显示空气质量、温度、地区、穿衣建议,如图5—6所示。当收集到的数据超过阈值时,硬件终端蜂鸣器和小程序端都会成功报警。

5 结语

本文设计实现了一种基于STM32单片机与ESP8266无线模块为硬件终端的室内环境监测系统,该系统实现了本地和远程监测室内家居环境的功能。本文简单介绍了硬件和软件的设计,并在测试中能够在硬件终端的OLED屏幕上和微信小程序端都正常显示数据。该系统后期还可以增加窗帘电机等智能控制系统,为实现更好的智能家居打下基础,也致力于提高改善人们的智能家居生活。

参考文献

[1]朱兆丰,刘静琦,周振虎,等.基于STM32的室内环境监测系统设计[J].物联网技术,2021(6):6-9.

[2]陈红,印春晓,韦金言,等.基于STM32的室内环境监测系统的设计与开发[J].电子技术与软件工程,2019(9):56-57.

[4]严涵婷,杜选,孙添程,等.基于ESP8266的智能家居系统开发[J].电脑知识与技术(学术版),2021(27):136-138.

[5]荀艳丽,焦库,张秦菲.基于物联网技术的智能家居系统安全加固策略[J].工业仪表与自动化装置,2019(5):76-78.

[5]刘晋,张帆,冯佳玉,等.基于云平台技术的智能家居系统设计[J].自动化仪表,2019(1):31-35.

(编辑 姚 鑫)

Design of indoor environment monitoring system based on STM32 and ESP8266

Qian Ping, Qi Saisai, Sun Xun

(Suzhou Vocational University, Suzhou 215104,China)

Abstract: In this paper,a hardware terminal based on STM32 microcontroller and ESP8266 wireless module is designed. Based on the minimum system of STM32,the terminal is connected to light sensor,temperature and humidity sensor,smoke sensor for indoor environment data acquisition. The environmental data obtained can be uploaded to the Ali Cloud server through the wireless module,and the indoor environment can be monitored remotely in real time on the wechat applet. In addition,the weather API interface is also connected to the wechat applet to obtain weather information. The hardware terminal can interact with the cloud platform and wechat mini program through communication protocols to realize indoor monitoring and control,which has a wide application prospect.

Key words: STM32; ESP8266; environmental monitoring

猜你喜欢

环境监测
环境监测系统的数据分析与处理
大气污染问题的环境监测
对环境监测数据造假必须零容忍
便携式GC-MS在环境监测中的应用
环境监测过程控制
谈如何做好环境监测业务管理