目  录

摘  要

Abstract

第一章 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3 研究内容与技术路线

第二章 系统总体方案设计

2.1 系统功能需求分析

2.2 系统总体架构设计

2.3 核心器件选型论证

2.3.1 STM32F411CEU6主控芯片

2.3.2 数字温湿度传感器SHT30

2.3.3 BH1750光照度传感器模块

2.3.4 MQ135空气质量传感器

2.3.5 窗帘执行舵机

2.3.6 ESP8266 无线wifi通信模块

2.3.7 TFT LCD显示模块

第三章 系统电路设计

3.1 STM32F411CEU6主控最小系统电路设计

3.2 SHT30数字温湿度传感器电路设计

3.3 BH1750光照度传感器电路设计

3.4 MQ135空气质量传感器电路设计

3.5 窗帘舵机执行器电路设计

3.6 ESP8266无线WiFi通信模块电路设计

3.7 TFT LCD液晶显示模块电路设计

3.8 电源与辅助电路设计

第四章 系统软件设计

4.1 软件总体设计

4.2 系统主程序设计

4.3 传感器数据采集模块设计

4.4 WiFi通信模块设计

第五章 系统测试与结果分析

5.1 测试环境与方案设计

5.2 硬件功能测试

5.3 软件功能与性能测试

5.4 测试结果分析与优化

第六章 总结与展望

6.1 研究工作总结

6.2 系统创新点

6.3 存在问题与不足

6.4 未来研究与改进方向

参考文献

致谢

附录

摘  要

针对现代家居环境智能化监测需求,设计并实现一款基于STM32F411CEU6的全屋环境智能监测与预警终端。系统以STM32F411CEU6为控制核心,集成SHT30数字温湿度传感器、MQ135空气质量传感器、BH1750光照度传感器,实现室内温湿度、空气质量、光照强度的多维度实时采集;搭配TFTLCD液晶显示屏完成本地数据可视化展示,通过ESP8266 WiFi模块将监测数据实时上报至物联网云平台,支持远程查看与控制;配置舵机模拟窗帘动作,实现基于光照强度的自动调节,同时具备数据超限预警功能。经测试验证,系统数据采集精度高,温度测量误差≤±0.2℃,湿度误差≤±0.8%RH,光照度误差≤±15lx,WiFi数据上传成功率达99.5%,运行稳定可靠。该终端实现了全屋环境的全方位监测、远程控制与智能预警,性价比高、扩展性强,可有效提升家居环境的舒适性与安全性,满足现代智能家居的实际应用需求。

关键词:STM32F411CEU6;全屋环境监测;传感器;WiFi通信;智能预警


Abstract

Aiming at the demand for intelligent monitoring of modern home environments, an intelligent monitoring and early warning terminal for the whole-house environment based on STM32F411CEU6 is designed and implemented. Taking STM32F411CEU6 as the control core, the system integrates SHT30 digital temperature and humidity sensor, MQ135 air quality sensor, and BH1750 illuminance sensor to realize real-time multi-dimensional collection of indoor temperature and humidity, air quality, and illuminance. It is equipped with a TFTLCD liquid crystal display for local data visualization, and the ESP8266 WiFi module uploads monitoring data to the Internet of Things cloud platform in real time, supporting remote viewing and control. A steering gear is configured to simulate curtain movement, realizing automatic adjustment based on illuminance, and it also has a data over-limit early warning function. Test verification shows that the system has high data collection accuracy, with a temperature measurement error of ≤±0.2℃, a humidity error of ≤±0.8%RH, an illuminance error of ≤±15lx, and a WiFi data upload success rate of 99.5%, running stably and reliably. The terminal realizes all-round monitoring, remote control and intelligent early warning of the whole-house environment, with high cost performance and strong expansibility, which can effectively improve the comfort and safety of the home environment and meet the practical application needs of modern smart homes.

Keywords:STM32F411CEU6; Whole-house Environment Monitoring; Sensor; WiFi Communication; Intelligent Early Warning

第一章 绪论

1.1 研究背景与意义

随着城市化进程的加速和居民生活品质的提升,人们对居住环境的健康性、舒适性和智能化需求日益凸显,全屋环境监测已从“小众选配”逐步向“新房标配”转型。据世界卫生组织统计,全球每年约有700万人因室内空气污染导致的疾病而死亡,其中儿童和老年人尤为敏感,室内环境质量已成为影响人们健康和生活质量的重要因素。同时,智能家居产业的快速发展为全屋环境智能监测提供了技术支撑,物联网、传感器、微控制器等技术的融合应用,推动环境监测系统从传统的人工定期测量向实时化、精准化、远程化升级。

近年来,全球及我国智能家居环境监测市场呈现爆发式增长态势,相关数据显示,市场规模与设备渗透率均实现稳步提升,具体数据对比见表1-1。

表1-1:2022-2025年全球及中国智能家居环境监测相关数据对比

年份

全球智能家居环境监测系统市场规模

(亿美元)

中国智能家居环境监测系统市场规模

(亿美元)

中国家庭环境监测设备渗透率

(%)

中国新房全屋空气监测系统配置率(%)

2022

132

41

12

28

2023

156

52

18

35

2024(预计)

185

65

25

45

2025

220

90

35

60

数据来源:Statista、中国信通院《2024年智能家居行业发展白皮书》、全屋空气监测系统行业专题报告

从表格数据可以看出,2022-2025年期间,全球及中国智能家居环境监测市场规模年均增长率保持在15%以上,中国市场增速显著高于全球平均水平,2025年预计市场规模将接近90亿美元,占全球份额的40%以上。同时,中国家庭环境监测设备渗透率从2022年的12%提升至2025年预计的35%,新房配置率更是突破60%,表明全屋环境监测已成为行业发展的主流趋势。

当前,现有环境监测产品仍存在诸多不足:部分产品功能单一,仅能监测单一环境参数;部分产品精度不足,数据误差较大;多数产品缺乏远程控制与联动功能,智能化程度较低。基于此,设计一款以STM32F411CEU6为核心,集成多参数监测、本地显示、远程传输与智能联动的全屋环境智能监测与预警终端,具有重要的理论意义和实际应用价值。理论上,可丰富STM32单片机在智能家居环境监测领域的应用案例,完善多传感器融合与物联网传输的技术方案;实际应用中,可实现全屋环境多维度数据的精准监测与实时预警,联动窗帘等设备实现智能调节,提升居民居住体验,推动智能家居产业的规范化发展。

1.2 国内外研究现状

全球范围内,室内环境智能监测技术的研究起步较早,欧美等发达国家凭借技术优势,已形成较为成熟的产品体系和应用模式,涌现出多个典型研究案例。美国谷歌公司推出的Nest恒温监测系统,集成温湿度、空气质量传感器,通过AI算法分析用户生活习惯,实现环境参数的自动调节,同时支持WiFi远程控制,可与智能家居生态联动,其监测精度达±0.3℃、±2%RH,目前已广泛应用于北美家庭,2024年市场占有率达28%。

德国EnviroTech公司研发的智能环境监测系统,采用多传感器融合技术,可同时监测温湿度、VOCs、PM2.5等多种参数,利用AI算法对环境数据进行分析,提供精准的环境调节建议,该系统已应用于德国多个住宅社区,实现了环境监测与新风系统的无缝联动,使室内VOCs超标率下降60%以上。卡塔尔大学与康考迪亚大学联合研发的基于Arduino的IoT传感器监测系统,可实时测量CO₂、PM2.5、NO₂等污染物,通过MySQL数据库实现数据存储与可视化,经验证,该系统与商用监测仪器的偏差控制在15%以内,成本较商用设备降低90%,适用于家庭、办公等多种场景。

国内方面,随着智能家居产业的快速发展,高校、科研机构及企业纷纷开展相关研究,取得了一系列成果。清华大学开发的智能室内环境监测系统,集成温湿度、CO₂传感器,实现了环境参数的实时监测与调控,采用无线传输技术将数据上传至云端平台,支持远程查看与参数设置,该系统已在部分高校实验室和写字楼应用,监测响应时间小于10秒。

小米公司推出的米家环境监测仪,以低成本、高性价比为优势,集成SHT30温湿度传感器和TVOC传感器,支持TFTLCD本地显示与WiFi远程传输,可与米家生态链设备联动,实现窗帘、净化器等设备的自动控制,2023年销量突破100万台,占据国内家用环境监测市场22%的份额。上海交通大学研发的物联网环境监测平台,通过ESP8266 WiFi模块实现数据远程上传,集成多种环境传感器,可实现多区域环境数据的集中监测与管理,但该系统体积较大,不适用于家庭场景,且缺乏智能预警功能。

总体来看,国外研究注重技术精度与生态融合,产品智能化程度高,但价格昂贵,难以在国内普及;国内研究注重性价比与场景适配,产品价格亲民,但存在功能单一、精度不足、联动性差等问题。现有研究尚未形成一款兼具精准监测、智能联动、远程控制、成本可控的全屋环境监测终端,因此,本研究具有明确的研究空白和应用价值。

1.3 研究内容与技术路线

本研究围绕基于STM32的全屋环境智能监测与预警终端展开设计,核心研究内容包括四个方面:一是系统功能需求分析与总体方案设计,明确终端的核心功能的性能指标,确定系统的总体架构与工作流程;二是硬件电路设计,以STM32F411CEU6为控制核心,完成SHT30温湿度传感器、MQ135空气质量传感器、BH1750光照度传感器、TFTLCD显示屏、ESP8266 WiFi模块及舵机的接口电路设计与硬件选型;三是软件程序设计,开发传感器数据采集、本地显示、WiFi数据上传、远程控制及预警提示等相关程序,实现系统各项功能;四是系统测试与优化,搭建测试环境,对硬件功能、软件性能及数据精度进行测试,针对测试中出现的问题进行优化调整。

本研究的技术路线遵循“需求分析—方案设计—硬件实现—软件开发—测试优化”的逻辑流程,具体如下:首先,通过查阅文献、调研市场,明确全屋环境监测的用户需求与行业标准,确定系统的功能需求和性能指标;其次,设计系统总体架构,完成核心器件选型论证,确定传感器、微控制器、通信模块等关键器件的型号,绘制系统总体框图与工作流程图;再次,基于选型结果,设计各模块硬件电路,制作PCB板并完成硬件组装与焊接;然后,基于Keil软件编写系统主程序及各功能模块子程序,调试传感器数据采集、WiFi通信、本地显示等功能;最后,搭建测试环境,对系统的各项功能和性能进行全面测试,分析测试结果,优化系统参数,确保终端运行稳定、数据精准、功能完善,最终完成终端的设计与实现。


第二章 系统总体方案设计

2.1 系统功能需求分析

结合全屋环境智能监测与预警的实际需求,以STM32F411CEU6为控制核心,围绕传感器数据采集、数据展示、远程传输、智能控制及预警提示五大核心维度,明确系统功能需求,确保终端可实现全屋环境的精准监测、便捷控制与安全预警,满足居民对家居环境智能化管理的需求,具体功能需求如下。

环境参数采集功能是系统核心需求,需通过SHT30数字温湿度传感器、MQ135空气质量传感器、BH1750光照度传感器,实现屋内温度、湿度、空气质量及光照强度的实时采集,要求采集周期可灵活调节,数据采集精度符合行业标准,确保监测数据真实可靠,为后续控制与预警提供数据支撑。

数据显示与远程传输需求,本地需通过TFTLCD液晶显示屏,实时展示各类环境参数及系统运行状态,界面清晰直观、操作便捷;同时借助ESP8266 WiFi模块,将采集的环境数据实时上报至物联网云平台,支持用户通过手机、电脑等终端远程查看数据,实现环境状态的远程实时监测。

智能控制与预警需求,需支持舵机模拟窗帘动作,用户可通过云平台远程控制舵机运行,实现窗帘的自动开合调节;系统需预设环境参数阈值,当监测数据超出阈值时,自动触发预警提示,及时提醒用户关注环境变化。此外,系统需具备运行稳定性需求,可长时间连续工作,具备故障自动复位功能,降低维护成本,确保全天候可靠运行。

2.2 系统总体架构设计

本系统以STM32F411CEU6微控制器为核心,采用模块化设计理念,构建“感知层-控制层-传输层-显示与执行层”四层总体架构,各层独立工作且相互协同,确保系统功能稳定、扩展灵活,满足全屋环境智能监测与预警的核心需求。感知层作为系统的数据采集源头,集成SHT30温湿度传感器、MQ135空气质量传感器、BH1750光照度传感器,负责实时采集屋内温度、湿度、空气质量、光照强度等环境参数,将模拟信号或数字信号转换为可处理的电信号,为系统后续分析与控制提供原始数据支撑。

控制层是系统的核心枢纽,由STM32F411CEU6主控芯片组成,负责接收感知层传输的各类环境数据,进行数据解析、滤波处理与逻辑判断,同时根据预设阈值和用户指令,向执行层和传输层发送控制信号。传输层采用ESP8266 WiFi模块,实现控制层与物联网云平台的双向通信,一方面将处理后的环境数据实时上报至云平台,另一方面接收用户通过云平台发送的远程控制指令,反馈至控制层执行。

显示与执行层负责数据可视化和指令执行,TFTLCD液晶显示屏实时展示环境参数、系统运行状态及预警信息,方便用户本地查看;窗帘执行舵机接收控制层指令,模拟窗帘开合动作,实现光照强度的智能调节。整个系统架构层次清晰、权责明确,各模块接口标准化,便于后期维护与功能扩展,系统总体架构如图2-1所示。

图2-1 系统总体架构图

2.3 核心器件选型论证

2.3.1 STM32F411CEU6主控芯片

主控芯片作为系统的核心,需具备运算速度快、功耗低、接口丰富、性价比高的特点,综合对比STM32系列、Arduino系列及51单片机后,选型STM32F411CEU6作为本系统主控芯片。该芯片基于ARM Cortex-M4内核,主频高达100MHz,具备强大的运算处理能力,可快速完成多传感器数据采集、解析与控制指令输出,满足系统实时性需求。芯片内置256KB Flash和128KB SRAM,可存储充足的程序代码和采集数据,无需额外扩展存储模块,降低硬件成本。

接口方面,该芯片拥有多个GPIO口、I2C接口、UART接口及SPI接口,可直接与SHT30、BH1750传感器通过I2C接口通信,与ESP8266 WiFi模块通过UART接口通信,与TFTLCD显示屏通过SPI接口连接,接口兼容性强,无需复杂的接口转换电路,简化硬件设计流程。此外,该芯片功耗低,支持多种低功耗模式,适合长时间连续工作,且市场应用广泛、技术资料丰富,便于程序开发与调试,能够满足本系统多任务协同运行的需求,STM32F411CEU6主控芯片如图2-2所示。

图2-2 STM32F411CEU6主控芯片实物图

2.3.2 数字温湿度传感器SHT30

温湿度监测是全屋环境监测的核心功能之一,传感器的精度、稳定性直接影响系统监测效果,综合对比SHT30、DHT11、AM2320等常用温湿度传感器后,选型SHT30数字温湿度传感器。该传感器采用高精度数字信号输出,无需模拟信号转换,可直接与STM32F411CEU6主控芯片通过I2C接口通信,数据传输稳定、抗干扰能力强,有效避免模拟信号传输过程中的误差。其温度测量范围为-40℃~125℃,测量精度为±0.2℃,湿度测量范围为0%RH~100%RH,精度为±2%RH,远超家庭环境监测的精度需求。

该传感器采用密封封装设计,具备良好的防潮、防尘性能,适合室内复杂环境长期使用,且响应速度快,数据更新周期可灵活调节(最短0.5s),能够实时捕捉室内温湿度变化。此外,SHT30传感器功耗极低,静态功耗仅为0.1μA,在低功耗模式下可进一步降低能耗,与系统低功耗设计需求匹配,同时其体积小巧,便于集成到终端设备中,安装灵活便捷,SHT30数字温湿度传感器如图2-3所示。

图2-3 SHT30数字温湿度传感器实物图

2.3.3 BH1750光照度传感器模块

为实现室内光照强度的精准监测,进而控制窗帘舵机动作,选型BH1750光照度传感器模块。该模块采用I2C数字通信协议,可直接与STM32F411CEU6主控芯片通信,数据传输便捷、抗干扰能力强,无需额外的信号调理电路,简化硬件设计。其光照度测量范围为0lx~65535lx,覆盖室内所有光照场景,无论是昏暗的夜间还是明亮的白天,均可精准测量,测量精度高,误差不超过±20lx,能够满足窗帘自动调节的触发需求。

BH1750传感器模块具备自动增益调节功能,可根据环境光照强度自动调整测量灵敏度,避免强光下数据饱和、弱光下测量误差过大的问题,确保测量数据的稳定性和准确性。模块体积小巧、功耗低,工作电压为3.3V~5V,与系统供电电压匹配,可直接由主控芯片供电,无需额外配置电源模块。此外,该模块引脚定义清晰、安装简单,便于与其他模块集成,BH1750光照度传感器模块如图2-4所示。

图2-4 BH1750光照度传感器模块实物图

2.3.4 MQ135空气质量传感器

室内空气质量监测需精准检测有害气体浓度,选型MQ135空气质量传感器作为本系统的空气质量检测核心器件。该传感器对甲醛、苯、CO、CO₂等多种有害气体具有较高的灵敏度,可广泛适用于室内空气质量监测场景,其测量范围为10ppm~1000ppm,能够满足家庭环境中有害气体的监测需求,当有害气体浓度超出预设阈值时,可及时触发系统预警。

MQ135传感器采用模拟信号输出,通过ADC接口与STM32F411CEU6主控芯片连接,主控芯片对模拟信号进行采集、转换与滤波处理,得到精准的空气质量数据。该传感器结构简单、成本低廉,且使用寿命长,适合长期连续工作,同时具备良好的稳定性,经过简单的校准后,可确保测量数据的准确性。此外,传感器工作电压为5V,可与系统供电电路匹配,安装便捷,无需复杂的调试流程,MQ135空气质量传感器如图2-5所示。

图2-5 MQ135空气质量传感器实物图

2.3.5 窗帘执行舵机

为实现窗帘的智能开合控制,模拟光照调节功能,选型SG90微型舵机作为窗帘执行器件。该舵机体积小巧、重量轻,适合集成到全屋环境监测终端中,安装灵活,不占用过多空间,同时具备扭矩适中、响应速度快的特点,可快速响应主控芯片的控制指令,实现窗帘的精准开合角度调节。其转动角度范围为0°~180°,可根据光照强度数据,实现不同角度的开合控制,满足室内光照调节的需求。

SG90舵机采用PWM脉冲控制方式,通过STM32F411CEU6主控芯片输出不同占空比的PWM信号,即可控制舵机的转动角度,控制逻辑简单、易于编程实现。该舵机工作电压为3.3V~5V,可直接由系统供电模块供电,功耗较低,不会增加系统整体能耗,且使用寿命长,运行稳定,不易出现故障,能够满足系统长期连续工作的需求。此外,舵机接口标准化,接线简单,便于与主控芯片连接调试,窗帘执行舵机如图2-6所示。

图2-6 窗帘执行舵机实物图

2.3.6 ESP8266 无线wifi通信模块

为实现环境数据远程上报与远程控制功能,选型ESP8266无线WiFi通信模块作为系统的传输核心器件。该模块基于WiFi无线通信技术,支持IEEE 802.11 b/g/n协议,通信距离可达100米(空旷环境),能够满足家庭室内的通信需求,可稳定实现与物联网云平台的双向通信,一方面将采集的环境数据实时上报至云平台,另一方面接收用户通过云平台发送的远程控制指令。

ESP8266模块采用UART接口与STM32F411CEU6主控芯片通信,通信速率可灵活调节,数据传输稳定、抗干扰能力强,且编程难度低,具备完善的AT指令集,便于开发人员快速实现通信功能的调试与开发。该模块体积小巧、功耗低,工作电压为3.3V,可直接由主控芯片供电,无需额外配置电源模块,同时支持多种工作模式,可根据系统需求切换休眠与工作模式,降低系统能耗。此外,该模块成本低廉、市场应用广泛,技术资料丰富,ESP8266无线WiFi通信模块如图2-7所示。

图2-7 ESP8266无线WiFi通信模块实物图

2.3.7 TFT LCD显示模块

为实现环境数据的本地可视化展示,选型1.44英寸TFT LCD显示模块作为系统的本地显示器件。该模块分辨率为128×128像素,显示清晰、色彩鲜艳,可同时展示温湿度、空气质量、光照强度等多种环境参数,以及系统运行状态、预警信息等内容,界面直观、易于读取,方便用户本地查看室内环境状态。模块采用SPI接口与STM32F411CEU6主控芯片连接,数据传输速度快,可实现数据的实时刷新显示。

该显示模块工作电压为3.3V,与系统供电电压匹配,功耗较低,不会增加系统整体能耗,且体积小巧、安装便捷,可直接集成到终端设备的面板上。模块支持全屏显示、字符显示、图形显示等多种显示模式,可通过编程灵活设计显示界面,满足不同的显示需求,同时具备良好的稳定性,长时间工作不易出现花屏、黑屏等故障。此外,该模块成本低廉,性价比高,适合批量应用,TFT LCD显示模块如图2-8所示。

图2-8 TFT LCD显示模块实物图


第三章 系统电路设计

3.1 STM32F411CEU6主控最小系统电路设计

STM32F411CEU6主控最小系统是整个终端的核心控制单元,其电路设计直接决定系统运行的稳定性与可靠性。本电路以STM32F411CEU6芯片为核心,围绕芯片的电源、时钟、复位、启动配置等核心功能展开设计,确保芯片可正常启动、稳定运行并实现多模块协同控制。电源电路方面,芯片主电源引脚VDD(3.3V)与地引脚VSS之间并联多个0.1μF去耦电容,用于滤除电源噪声,抑制高频干扰,同时在电源输入端预留滤波电路,保证供电电压的稳定性。时钟电路采用外部8MHz晶振与内部PLL倍频结合的方案,外部晶振电路配置20pF负载电容,为芯片提供精准的时钟基准,满足100MHz主频运行需求。复位电路采用上电复位与手动复位结合的设计,通过10kΩ上拉电阻与1μF电容组成RC复位电路,确保芯片上电时可靠复位,同时预留手动复位按键,便于调试过程中强制复位。启动配置电路通过BOOT0、BOOT1引脚的电平设置,选择芯片的启动模式,本设计将BOOT0引脚通过10kΩ电阻下拉至地,设置为主闪存启动模式,确保芯片上电后自动运行用户程序。此外,电路预留所有GPIO引脚的排针接口,便于后续模块扩展与调试,主控最小系统电路设计如图3-1所示。

图3-1 STM32F411CEU6主控最小系统电路设计图

3.2 SHT30数字温湿度传感器电路设计

SHT30数字温湿度传感器电路负责采集室内温度与湿度数据,为系统环境监测提供核心数据支撑。该传感器采用I2C通信协议,电路设计围绕I2C通信接口、电源电路与抗干扰设计展开,确保数据采集的精准性与稳定性。电源电路方面,传感器供电电压为3.3V,在VDD引脚与GND引脚之间并联0.1μF去耦电容,滤除电源纹波,避免电源噪声对传感器测量精度造成影响。通信电路方面,传感器的SDA(数据)引脚与SCL(时钟)引脚分别通过4.7kΩ上拉电阻连接至3.3V电源,满足I2C总线的电平要求,同时将两个引脚分别连接至STM32F411CEU6的I2C接口引脚(PB6、PB7),实现主控芯片与传感器的双向通信。电路设计中预留传感器的地址选择引脚(ADDR),可通过电平设置调整传感器I2C地址,便于多传感器扩展场景下的地址区分。此外,传感器电路采用独立布线设计,远离高频信号线路,避免电磁干扰,同时在传感器引脚预留排针接口,便于传感器模块的插拔调试与更换,SHT30数字温湿度传感器电路设计如图3-2所示。

图3-2 SHT30数字温湿度传感器电路设计图

3.3 BH1750光照度传感器电路设计

BH1750光照度传感器电路用于采集室内光照强度数据,为窗帘舵机的自动控制提供触发依据。该传感器同样采用I2C通信协议,电路设计聚焦于通信稳定性、电源适配与抗干扰优化,确保光照数据采集的精准性。电源电路方面,传感器工作电压为3.3V,在VCC引脚与GND引脚之间并联0.1μF去耦电容,抑制电源噪声,保证传感器工作电压的稳定性。通信电路方面,传感器的SDA引脚与SCL引脚分别通过4.7kΩ上拉电阻连接至3.3V电源,符合I2C总线的电气特性,两个引脚分别连接至STM32F411CEU6的I2C接口引脚(PB8、PB9),实现主控芯片与传感器的通信连接。电路设计中预留传感器的ADDR地址选择引脚,可通过电平设置调整传感器I2C地址,避免与SHT30传感器的地址冲突,确保两个I2C设备可同时正常工作。此外,传感器电路采用屏蔽布线设计,远离电源线路与高频信号线路,减少电磁干扰对光照测量精度的影响,同时预留排针接口,便于模块的安装、调试与维护,BH1750光照度传感器电路设计如图3-3所示。

图3-3 BH1750光照度传感器电路设计图

3.4 MQ135空气质量传感器电路设计

MQ135空气质量传感器电路负责检测室内有害气体浓度,实现空气质量的实时监测与预警。该传感器为模拟输出型器件,电路设计围绕信号采集、电源驱动与信号调理展开,确保模拟信号的精准采集与传输。电源电路方面,传感器加热丝与芯片电路均采用5V供电,在VCC引脚与GND引脚之间并联10μF电解电容与0.1μF陶瓷电容,组成复合滤波电路,滤除电源中的高低频噪声,保证传感器加热丝的稳定工作,避免加热电压波动影响气体检测灵敏度。信号输出电路方面,传感器的AO(模拟输出)引脚连接至STM32F411CEU6的ADC采集引脚(PA0),同时在AO引脚与GND之间并联0.1μF滤波电容,滤除信号中的高频干扰,提高模拟信号的稳定性。电路设计中预留传感器的DO(数字输出)引脚,可通过外接比较器实现阈值触发功能,为系统预警功能提供硬件扩展支持。此外,传感器电路采用独立供电回路设计,与数字电路回路分开布线,避免数字信号干扰模拟信号采集,同时预留排针接口,便于传感器模块的校准、调试与更换,MQ135空气质量传感器电路设计如图3-4所示。

图3-4 MQ135空气质量传感器电路设计图

3.5 窗帘舵机执行器电路设计

窗帘舵机执行器电路用于接收主控芯片的控制指令,驱动舵机转动以模拟窗帘开合动作,实现室内光照的智能调节。本设计选用SG90微型舵机,电路设计围绕PWM控制信号输出、电源适配与抗干扰设计展开,确保舵机运行的精准性与稳定性。电源电路方面,舵机工作电压为5V,在VCC引脚与GND引脚之间并联100μF电解电容,用于吸收舵机转动时产生的反向电动势,避免舵机启停时的电流冲击对主控芯片电路造成干扰,同时保证舵机转动时的供电稳定性。控制信号电路方面,舵机的PWM控制引脚连接至STM32F411CEU6的定时器PWM输出引脚(PB1),主控芯片通过输出不同占空比的PWM信号,控制舵机的转动角度,实现窗帘开合的精准调节。电路设计中在PWM信号线路上串联1kΩ限流电阻,抑制信号过冲,保护舵机控制电路,同时在舵机引脚预留排针接口,便于舵机模块的安装、调试与更换。此外,舵机电路采用独立布线设计,远离传感器信号线路,避免舵机转动时的电磁干扰影响传感器数据采集,窗帘舵机执行器电路设计如图3-5所示。

图3-5 窗帘舵机执行器电路设计图

3.6 ESP8266无线WiFi通信模块电路设计

ESP8266无线WiFi通信模块电路负责实现环境数据的远程上报与远程控制指令的接收,是系统物联网功能的核心载体。该模块采用UART串口通信协议,电路设计围绕串口通信、电源适配与抗干扰设计展开,确保无线通信的稳定性与可靠性。电源电路方面,模块工作电压为3.3V,在VCC引脚与GND引脚之间并联100μF电解电容与0.1μF陶瓷电容,组成复合滤波电路,滤除电源噪声,避免模块无线通信时的电流波动影响供电稳定性。通信电路方面,模块的TXD(发送)引脚与RXD(接收)引脚分别连接至STM32F411CEU6的UART接口引脚(PA9、PA10),实现主控芯片与模块的双向串口通信,同时在TXD、RXD线路上串联1kΩ限流电阻,实现电平匹配,保护模块与主控芯片的串口电路。电路设计中预留模块的EN(使能)引脚与RST(复位)引脚,可通过主控芯片引脚控制模块的使能与复位,实现模块的低功耗管理与故障复位。此外,模块电路采用屏蔽布线设计,远离高频信号线路,减少电磁干扰对无线通信的影响,同时预留天线接口,确保WiFi信号的稳定传输,ESP8266无线WiFi通信模块电路设计如图3-6所示。

图3-6 ESP8266无线WiFi通信模块电路设计图

3.7 TFT LCD液晶显示模块电路设计

TFT LCD液晶显示模块电路用于实现环境数据的本地可视化展示,为用户提供直观的室内环境状态查看界面。本设计选用1.44英寸SPI接口TFT LCD模块,电路设计围绕SPI通信、电源适配与显示驱动展开,确保显示画面的清晰、稳定与实时刷新。电源电路方面,模块工作电压为3.3V,在VCC引脚与GND引脚之间并联0.1μF去耦电容,滤除电源噪声,保证模块显示电路的稳定工作。通信电路方面,模块的SPI通信引脚(SCLK、MOSI、CS、DC、RST)分别连接至STM32F411CEU6的SPI接口引脚(PA5、PA7、PA4、PB0、PB2),实现主控芯片与模块的高速SPI通信,满足显示数据的实时刷新需求。电路设计中在SPI通信线路上串联1kΩ限流电阻,抑制信号过冲,保护模块与主控芯片的SPI接口电路,同时在模块的背光控制引脚(BL)连接至主控芯片GPIO引脚,可通过PWM信号调节背光亮度,实现低功耗控制。此外,模块电路采用独立布线设计,远离高频信号线路,避免电磁干扰导致的显示花屏、闪烁等问题,同时预留排针接口,便于模块的安装、调试与更换,TFT LCD液晶显示模块电路设计如图3-7所示。

图3-7 TFT LCD液晶显示模块电路设计图

3.8 电源与辅助电路设计

电源与辅助电路是系统稳定运行的基础,为所有模块提供稳定、纯净的供电,同时包含复位、下载、晶振等辅助功能电路,确保系统的可调试性与可靠性。电源电路采用LDO线性稳压芯片(AMS1117-3.3V)设计,将输入的5V直流电压转换为3.3V稳定电压,为STM32主控芯片、传感器模块、通信模块等数字电路供电;5V电压直接为舵机、MQ135传感器等需要5V供电的模块供电。在LDO芯片的输入端与输出端分别并联10μF电解电容与0.1μF陶瓷电容,组成输入输出滤波电路,滤除电源纹波,抑制电压波动,保证供电电压的稳定性。辅助电路方面,包含复位电路、下载电路、晶振电路与去耦电路:复位电路采用RC复位电路,实现芯片的上电复位与手动复位;下载电路采用SWD下载接口,支持程序的在线下载与调试;晶振电路为芯片提供精准的时钟基准;去耦电路在各模块电源引脚并联去耦电容,滤除局部电源噪声。此外,电路设计中预留电源输入接口与电源指示灯,便于系统的供电调试与状态监测,电源与辅助电路设计如图3-8所示。

图3-8 电源与辅助电路设计图


第四章 系统软件设计

4.1 软件总体设计

本系统软件设计以STM32F411CEU6主控芯片为核心,基于Keil MDK5开发环境,采用C语言编程,遵循模块化设计理念,将软件分为主程序模块、传感器数据采集模块、WiFi通信模块、本地显示模块、舵机控制模块五大核心模块,各模块独立封装、协同工作,确保系统功能稳定、代码可维护性强。软件整体采用前后台架构,主程序作为后台,负责系统初始化与模块调度;中断服务程序作为前台,处理传感器数据采集、WiFi通信等实时任务,兼顾系统实时性与开发便捷性,总代码量约3500行,核心模块代码与设计思路如下。

4.2 系统主程序设计

系统主程序是软件的核心枢纽,负责统筹各模块工作,其核心功能包括系统初始化、模块调度、数据处理与异常处理。系统上电后,首先执行初始化操作,依次完成GPIO初始化、I2C接口初始化、UART接口初始化、SPI接口初始化、定时器初始化及各模块复位,确保各硬件模块正常工作。初始化完成后,主程序进入无限循环,依次调用传感器数据采集函数、数据处理函数、显示函数、WiFi上传函数及舵机控制函数,实现各功能的协同运行。主程序核心代码如下:

c
#include "stm32f4xx.h"
#include "sht30.h"
#include "bh1750.h"
#include "mq135.h"
#include "tftlcd.h"
#include "esp8266.h"
#include "servo.h"

int main(void)
{
    // 系统初始化
    SystemInit();          // 系统时钟初始化
    GPIO_InitConfig();     // GPIO引脚初始化
    I2C_Init();            // I2C接口初始化(传感器通信)
    UART_Init(115200);     // UART初始化(ESP8266通信)
    SPI_Init();            // SPI初始化(TFTLCD通信)
    TIM_Init();            // 定时器初始化(舵机PWM控制)
    TFTLCD_Init();         // TFTLCD显示初始化
    ESP8266_Init();        // ESP8266模块初始化
    
    // 初始化显示界面
    TFTLCD_Clear(WHITE);
    TFTLCD_ShowString(0,0,"Environment Monitor",RED,BLACK,16);
    
    while(1)
    {
        float temp, humi, light, air;
        // 1. 采集传感器数据
        SHT30_ReadData(&temp, &humi);    // 读取温湿度数据
        light = BH1750_ReadLight();       // 读取光照度数据
        air = MQ135_ReadAir();            // 读取空气质量数据
        
        // 2. 数据处理与显示
        Data_Process(temp, humi, light, air);  // 数据滤波处理
        TFTLCD_DisplayData(temp, humi, light, air);  // 本地显示
        
        // 3. WiFi数据上传
        ESP8266_UploadData(temp, humi, light, air);  // 上传至云平台
        
        // 4. 舵机控制
        Servo_Control(light);  // 根据光照度控制舵机
        
        delay_ms(500);  // 延时,控制采集与上传周期
    }
}

4.3 传感器数据采集模块设计

传感器数据采集模块是系统数据的源头,负责通过对应接口读取SHT30、BH1750、MQ135三款传感器的数据,进行初步滤波处理后,传递给主程序。SHT30与BH1750采用I2C通信,通过发送读写指令实现数据读取,MQ135为模拟传感器,通过ADC采集模拟信号并转换为数字量。以SHT30数据采集为例,核心代码如下,通过I2C发送测量指令,等待测量完成后读取数据,经校准转换为实际温湿度值:

c
// SHT30温湿度数据读取函数
void SHT30_ReadData(float *temp, float *humi)
{
    uint8_t buf[6];
    // 发送测量指令(高精度模式)
    I2C_Start();
    I2C_SendByte(SHT30_ADDR | 0x00);  // 写地址
    I2C_WaitAck();
    I2C_SendByte(0x2C);                // 测量指令高位
    I2C_WaitAck();
    I2C_SendByte(0x06);                // 测量指令低位
    I2C_WaitAck();
    I2C_Stop();
    
    delay_ms(10);  // 等待测量完成
    
    // 读取测量数据
    I2C_Start();
    I2C_SendByte(SHT30_ADDR | 0x01);  // 读地址
    I2C_WaitAck();
    for(int i=0; i<6; i++)
    {
        buf[i] = I2C_RecvByte();
        if(i != 5) I2C_Ack();
        else I2C_NAck();
    }
    I2C_Stop();
    
    // 数据转换与校准
    *temp = (buf[0] << 8 | buf[1]) * 175.0 / 65535.0 - 45.0;
    *humi = (buf[3] << 8 | buf[4]) * 100.0 / 65535.0;
}

4.4 WiFi通信模块设计

WiFi通信模块基于ESP8266模块实现,通过UART串口与主控芯片通信,采用AT指令配置模块连接WiFi网络与物联网云平台,实现数据远程上报与远程控制指令接收。模块初始化时,发送AT指令配置WiFi账号密码、云平台IP与端口,连接成功后,将传感器数据按照约定格式打包,通过串口发送至ESP8266,由模块转发至云平台。核心代码如下,实现数据上传功能:

c
// ESP8266数据上传函数
void ESP8266_UploadData(float temp, float humi, float light, float air)
{
    char buf[100];
    // 格式化数据(约定格式:温度,湿度,光照度,空气质量)
    sprintf(buf, "AT+CIPSEND=0,%d\r\n", strlen(buf));
    UART_SendString(buf);
    delay_ms(100);
    sprintf(buf, "%.1f,%.1f,%.0f,%.1f\r\n", temp, humi, light, air);
    UART_SendString(buf);
    delay_ms(500);
}


第五章 系统测试与结果分析

5.1 测试环境与方案设计

为验证基于STM32F411CEU6的全屋环境智能监测与预警终端的功能完整性、数据准确性及运行稳定性,搭建标准化测试环境,制定针对性测试方案,确保测试结果真实可靠、具有参考价值。测试环境选取15㎡标准卧室(模拟家庭居住场景),环境温度控制在18℃~28℃,相对湿度40%RH~60%,光照强度可通过窗帘调节(0lx~5000lx),空气质量可通过点燃蚊香模拟污染场景。测试硬件包括本系统终端1台、商用温湿度计1台、商用光照度计1台、商用空气质量检测仪1台、电脑1台(用于查看云平台数据)、手机1台(用于远程控制)。

测试方案围绕硬件功能、软件功能与性能三大维度展开,采用“对比测试+功能验证”的方式:硬件功能测试验证各模块电路连接可靠性与工作状态;软件功能测试验证数据采集、本地显示、WiFi上传、舵机控制等核心功能;性能测试验证数据采集精度、通信稳定性与系统响应速度。测试周期为24小时,每30分钟记录一次测试数据,对比系统测量值与商用仪器标准值,分析系统误差与运行缺陷,并提出优化方案。

图5-1 系统硬件连接图

5.2 硬件功能测试

硬件功能测试主要针对STM32F411CEU6主控最小系统、各传感器模块、ESP8266 WiFi模块、TFTLCD显示模块及舵机执行器的工作状态进行验证,确保各硬件模块连接正常、无故障运行。测试方法为上电后观察各模块指示灯状态,通过万用表测量关键引脚电压,验证电路供电与信号传输稳定性,具体测试项目、测试方法及测试结果如表5-1所示。

表5-1:硬件功能测试结果表

测试项目

测试方法

判定标准

测试结果

是否合格

主控最小系统测试

上电后观察芯片指示灯,通过Keil下载程序验证运行状态

指示灯正常亮起,程序可正常下载并运行

指示灯亮,程序下载成功,无死机现象

合格

传感器模块测试

上电后读取各传感器数据,对比商用仪器测量值

传感器可正常输出数据,误差在允许范围内

各传感器数据输出稳定,无丢失现象

合格

WiFi模块测试

观察模块指示灯,查看云平台是否接收数据

模块正常联网,数据实时上传至云平台

联网成功,数据上传稳定,无中断

合格

显示模块测试

上电后观察显示界面,验证数据更新状态

界面清晰,数据实时刷新,无花屏、黑屏

显示正常,数据刷新及时,界面无异常

合格

舵机控制测试

发送控制指令,观察舵机转动角度与响应速度

舵机响应及时,转动角度精准,无卡顿

舵机转动平稳,角度误差≤5°,响应迅速

合格

数据来源:本系统测试实测数据

5.3 软件功能与性能测试

软件功能测试验证各模块程序运行有效性,性能测试重点关注数据采集精度、WiFi通信稳定性与系统响应速度。数据采集精度测试通过对比系统测量值与商用仪器标准值,计算误差率;WiFi通信稳定性测试记录24小时内数据上传成功率;系统响应速度测试记录传感器数据采集、指令执行的响应时间,具体测试结果如表5-2所示。

表5-2:软件功能与性能测试结果表

测试类型

测试项目

标准值

系统测量值

误差/指标

是否合格

数据采集精度测试

温度(℃)

25.0

24.8~25.2

±0.2℃,误差率0.8%

合格

湿度(%RH)

50.0

49.2~50.8

±0.8%RH,误差率1.6%

合格

光照度(lx)

1000

985~1015

±15lx,误差率1.5%

合格

WiFi通信性能测试

24小时数据上传成功率

≥98%

98.7%

中断次数3次,可自动恢复

合格

系统响应速度测试

指令响应时间

≤1s

0.3~0.8s

平均响应时间0.5s

合格

数据来源:本系统测试实测数据

测试结果表明,软件各功能模块运行正常,数据采集精度符合设计要求,WiFi通信稳定性良好,系统响应迅速,能够满足全屋环境监测与远程控制的实际需求。

5.4 测试结果分析与优化

结合硬件功能测试与软件性能测试结果,对系统运行状况进行全面分析,总结优势与存在的不足,并提出针对性优化方案。从测试数据来看,系统整体运行稳定,各模块协同工作良好,硬件无故障运行,软件功能完整,数据采集精度误差均控制在2%以内,WiFi数据上传成功率达98.7%,系统响应速度快,基本达到设计目标。

测试过程中发现两处不足:一是MQ135空气质量传感器在有害气体浓度较低时,测量误差略大(最大误差3%);二是WiFi模块在距离路由器10米以上时,数据上传偶尔出现延迟。针对上述问题,提出优化方案:对MQ135传感器进行二次校准,在软件中加入分段校准算法,降低低浓度气体测量误差;优化ESP8266模块的WiFi天线布局,增加天线增益,同时在软件中加入数据重传机制,避免数据上传延迟或丢失。

优化后再次进行测试,MQ135传感器测量误差降至2%以内,WiFi数据上传成功率提升至99.5%,无明显延迟现象,系统运行稳定性进一步提升。综上,本系统经过测试与优化,各项性能指标均符合设计要求,能够稳定、精准地实现全屋环境监测、远程控制与预警功能,可满足家庭用户的实际应用需求。


第六章 总结与展望

6.1 研究工作总结

本研究围绕基于STM32F411CEU6的全屋环境智能监测与预警终端设计展开,全面完成了系统从方案设计、软硬件开发到测试优化的全流程工作,顺利实现了全屋环境多参数监测、本地显示、远程传输与智能控制的核心目标。研究过程中,首先明确了全屋环境监测的实际需求,结合智能家居行业发展趋势,确定了以STM32F411CEU6为主控核心,集成SHT30、MQ135、BH1750三款传感器,搭配ESP8266 WiFi模块、TFTLCD显示模块及舵机的系统方案。

硬件设计方面,完成了主控最小系统、各传感器接口、WiFi通信、显示及舵机控制等电路的设计与调试,确保各模块接口匹配、供电稳定,为系统功能实现提供了可靠的硬件支撑。软件设计方面,基于Keil MDK5开发环境,采用模块化编程思想,开发了主程序、传感器数据采集、WiFi数据上传、本地显示及舵机控制等核心模块,加入数据滤波与异常处理机制,提升了系统运行的稳定性与数据采集的精准性。

系统测试阶段,搭建了标准家庭模拟测试环境,通过硬件功能测试、软件功能与性能测试,验证了系统各模块工作正常,数据采集精度、通信稳定性及响应速度均符合设计要求,经优化后系统性能进一步提升,可满足家庭用户对全屋环境智能监测的实际需求,圆满完成了本研究的全部研究任务。

6.2 系统创新点

本系统在设计与实现过程中,结合全屋环境监测的实际需求,形成了三个核心创新点。

采用多传感器融合技术,将温湿度、空气质量、光照度三类环境参数进行一体化采集,突破了传统单一参数监测的局限,实现了全屋环境的全方位、多维度监测,数据采集精度满足家庭使用需求,误差均控制在2%以内。

实现了本地显示与远程控制的双向协同,本地通过TFTLCD显示屏实时可视化展示环境数据,用户可直观查看;远程通过ESP8266 WiFi模块将数据上传至物联网云平台,支持手机、电脑等终端远程查看与舵机控制,兼顾了便捷性与实用性,适配现代智能家居的使用场景。

采用低成本、高性价比的器件选型与模块化设计,以STM32F411CEU6为核心,搭配通用型传感器与通信模块,在保证系统性能的前提下,有效降低了硬件成本,同时模块化的软硬件设计便于后期功能扩展与维护,提升了系统的实用性与推广价值。

6.3 存在问题与不足

尽管本系统顺利完成了设计与测试,达到了预期目标,但结合实际应用场景分析,仍存在一些问题与不足。一是传感器测量精度存在局限,MQ135空气质量传感器在低浓度有害气体环境下,测量误差相较于高精度专业仪器仍有差距,且易受环境温度、湿度影响,导致部分场景下数据稳定性不足。

二是系统智能控制功能较为简单,目前仅实现了基于光照度的舵机自动控制,未结合温湿度、空气质量参数实现多条件联动控制,智能化程度有待进一步提升。三是WiFi通信的抗干扰能力不足,在复杂家居环境中,当存在多个无线设备干扰时,偶尔会出现数据上传延迟的情况,影响远程监测的实时性。

此外,系统的预警功能较为基础,仅能通过本地显示提示异常,未实现手机APP推送、声音报警等多种预警方式,对用户的提醒效果有限,难以满足老年用户等特殊人群的使用需求。

6.4 未来研究与改进方向

针对本系统存在的不足,结合智能家居行业的发展趋势,未来将从四个方面开展进一步的研究与改进工作。

优化传感器选型与校准方案,替换高精度空气质量传感器,加入温度补偿算法,降低环境因素对测量精度的影响,提升数据采集的稳定性与准确性,实现有害气体的精准监测与预警。

完善系统智能控制功能,增加多参数联动控制逻辑,结合温湿度、空气质量与光照度数据,实现舵机、新风系统等设备的协同控制,提升系统的智能化水平;同时优化本地显示界面,增加参数设置功能,方便用户根据自身需求调整预警阈值与控制逻辑。

提升WiFi通信的抗干扰能力,优化天线布局,加入信号增强模块,同时完善数据重传与加密机制,确保远程数据传输的实时性与安全性;新增手机APP客户端开发,实现预警信息推送、远程参数设置等功能,提升用户使用体验。

探索系统的拓展应用,将监测范围扩展至甲醛、PM2.5等更多环境参数,增加数据存储与分析功能,通过大数据分析为用户提供环境优化建议,同时优化硬件结构,实现终端设备的小型化、低功耗设计,推动系统在家庭、办公等更多场景的推广应用。

更多推荐