温湿度采集系统(stm32+mqtt+Onenet云平台+esp8266)

stm32+mqtt+Onenet云平台+esp8266项目

一、系统设计目标与原理

本设计以 STM32F103C8T6 为控制核心,构建温湿度传感器采集报警系统,旨在实现对特定环境温湿度的实时监测与异常报警。核心目标是监测温度(-40℃~85℃,精度 ±0.5℃)、湿度(0%~100% RH,精度 ±3% RH),支持用户自定义温湿度上下限阈值,当检测值超出阈值时,立即触发声光报警。

1、采集温度和湿度数据,在OLED显示屏上显示相关数值。

2、可以通过按键设置温度、湿度阀值,当温度或者湿度超过设定的阀值时,会触发声光报警功能。

3、APP可以远程控制单片机声光报警功能、LED灯开关功能。

4、单片机采集到的数据可以远程发送给APP,在APP上展示温度和湿度数据。

系统工作原理基于 "采集 - 判断 - 报警" 的闭环逻辑:STM32 通过温湿度传感器实时获取环境参数,经数据处理后与预设阈值比对;若参数超标,驱动报警装置工作并记录报警事件;实时数据与报警状态通过显示屏同步展示,用户可通过按键交互修改阈值或查看历史数据。STM32 的高效处理能力确保数据采集的连续性与报警的及时性,传感器的高精度特性保障监测数据的可靠性。

二、硬件架构设计

硬件架构以 STM32F103C8T6 为核心,主要包含六大模块:

(一)核心控制模块

STM32F103C8T6 作为主控制器,负责数据采集、逻辑判断与外设控制,关键资源配置:

I2C1:连接温湿度传感器(AH20),实现数据通信。

GPIO:控制报警装置(蜂鸣器、LED)、按键输入与显示屏。

USART1:预留串口接口,可扩展蓝牙模块实现远程报警。

系统时钟:8MHz 外部晶振,倍频至 72MHz,确保指令高效执行。

内部 Flash:存储历史报警记录(最多 100 条)与用户设置的阈值参数。

(二)温湿度采集模块

采用 SHT30 数字温湿度传感器,具备以下特性:

通信接口:I2C 总线(SCL=PB6,SDA=PB7),支持 100kHz/400kHz 通信速率。

测量性能:温度测量范围 - 40℃~85℃,湿度 0%~100% RH,重复性 ±0.1℃/±0.5% RH。

供电:3.3V 直流供电,工作电流≤1.5mA(测量模式),待机电流≤0.5μA,低功耗特性适合长时间监测。

硬件设计:传感器与 STM32 之间串联 4.7kΩ 上拉电阻,确保 I2C 信号稳定,PCB 布局时远离热源与干扰源。

(三)报警输出模块

声光报警:

蜂鸣器:有源蜂鸣器(5V 供电),通过 NPN 三极管(2N3904)驱动,基极限流电阻 1kΩ,报警时发出 1kHz 持续声响。

LED 指示灯:红色高亮度 LED,与蜂鸣器同步工作,通过 220Ω 限流电阻连接至 STM32 的 GPIO 引脚(PA0),报警时闪烁(频率 2Hz)。

驱动逻辑:STM32 输出高电平时,三极管导通,蜂鸣器与 LED 工作;输出低电平时关闭。

(四)人机交互模块

显示模块:1602 字符型 LCD(并行接口),通过 GPIO 连接 STM32(RS=PA1,RW=PA2,E=PA3,D0-D7=PB0-PB7),显示内容包括:

实时温湿度:"T:25.3℃ H:58% RH"

阈值范围:"T:10-30℃ H:40-70% RH"

报警状态:"ALARM! T:32.5℃"

按键控制:3 个独立按键(设置键、加键、减键),分别连接至 STM32 的 PB12、PB13、PB14 引脚,功能如下:

设置键:短按进入阈值设置模式,长按(3 秒)复位报警状态。

加 / 减键:在设置模式下调节阈值数值,短按步进 1℃/1% RH,长按快速调节。

(五)电源模块

供电方案:5V 直流电源输入,经以下转换:

3.3V 输出:通过 AMS1117-3.3V 线性稳压器为 STM32、SHT30 传感器供电。

5V 输出:直接为蜂鸣器、LCD 显示屏供电。

保护电路:输入端串联 1A 自恢复保险丝,防止过流损坏;输出端并联 100μF 电解电容与 0.1μF 陶瓷电容,滤除电源纹波,确保供电稳定。

需要代码的,可以私聊我!!

相关推荐
Zevalin爱灰灰5 小时前
能源与电源管理电路——防倒灌电路
单片机·嵌入式硬件·电源管理
jianqiang.xue8 小时前
ESP-IDF保姆级入门02|Ubuntu24.04搭建EIM-GUI开发环境,打通Windows_Linux双平台统一开发
stm32·单片机·物联网
无垠的广袤8 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
嵌入式-老费9 小时前
esp32开发与应用(添加数据分区)
单片机·嵌入式硬件
嵌入式-老费10 小时前
esp32开发与应用(OTA升级)
嵌入式硬件
CYLAM202512 小时前
STC32G 单片机0.96“OLED 西历农历可调万年历 (1901-2100)
单片机·嵌入式硬件·stc32g·万年历·西历农历·0.96”oled 12864·4x4 矩阵键盘
Discipline~Hai13 小时前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
KaifuZeng13 小时前
电源面试问题汇总一
单片机·嵌入式硬件·面试·电路
驱动探索者15 小时前
RISC-V PLIC 深度解析:从 Spec 到 Zephyr 驱动实现
单片机·嵌入式硬件·中断控制器
LCG元16 小时前
STM32 FreeRTOS 实战:任务调度 + 互斥锁 + 消息队列 + 串口命令解析器
stm32·单片机·嵌入式硬件