基于STM32的温湿度监测系统设计
系统组成
- 核心控制器:STM32F103C8T6(Cortex-M3内核)
- 温湿度传感器:DHT11(或更高精度DHT22)
- 显示模块:0.96寸OLED显示屏(I2C接口)或1602 LCD
- 通信模块:ESP-01S WiFi模块(AT指令)
- 报警模块:蜂鸣器+LED指示灯
- 电源模块:USB供电(5V)或锂电池(3.7V)
- 开发环境:STM32CubeIDE + HAL库
硬件连接
| STM32引脚 | 外设模块 | 功能说明 |
|---|---|---|
| PA0 | DHT11 | 数据输入 |
| PB6 | OLED_SCL | I2C时钟线 |
| PB7 | OLED_SDA | I2C数据线 |
| PA9 | ESP01S_TX | WiFi模块串口接收 |
| PA10 | ESP01S_RX | WiFi模块串口发送 |
| PC13 | LED | 报警指示灯 |
| PB10 | Buzzer | 蜂鸣器报警 |
软件流程图
graph TB
A[系统初始化] --> B[外设初始化]
B --> C[OLED显示欢迎界面]
C --> D[读取DHT11数据]
D --> E{数据有效?}
E --是--> F[显示温湿度数据]
E --否--> D
F --> G[通过串口发送数据]
G --> H[数据上传云平台]
H --> I{超限判断}
I --超限--> J[触发声光报警]
I --正常--> D
关键代码实现
1. DHT11驱动
// DHT11数据读取函数
uint8_t DHT11_Read(float *temp, float *humi) {
uint8_t bytes[5] = {0};
// 启动信号(拉低18ms)
HAL_GPIO_WritePin(DHT11_GPIO_Port, DHT11_Pin, GPIO_PIN_RESET);
HAL_Delay(18);
// 主机释放总线
HAL_GPIO_WritePin(DHT11_GPIO_Port, DHT11_Pin, GPIO_PIN_SET);
HAL_DelayMicroseconds(40);
// 读取响应信号
if(HAL_GPIO_ReadPin(DHT11_GPIO_Port, DHT11_Pin) == GPIO_PIN_RESET) {
// 数据采集(连续读取40bit)
for(int i=0; i<5; i++) {
for(int j=0; j<8; j++) {
while(!HAL_GPIO_ReadPin(DHT11_GPIO_Port, DHT11_Pin)); // 等待高电平
HAL_DelayMicroseconds(40);
bytes[i] <<= 1;
if(HAL_GPIO_ReadPin(DHT11_GPIO_Port, DHT11_Pin))
bytes[i] |= 1;
while(HAL_GPIO_ReadPin(DHT11_GPIO_Port, DHT11_Pin)); // 等待低电平
}
}
// 校验数据
if(bytes[4] == (bytes[0]+bytes[1]+bytes[2]+bytes[3])) {
*humi = bytes[0] + bytes[1]*0.1;
*temp = bytes[2] + bytes[3]*0.1;
return 0; // 成功
}
}
return 1; // 失败
}
2. OLED数据显示
void Display_Update(float temp, float humi) {
char buffer[20];
OLED_Clear();
OLED_ShowString(0,0,"Temp: ",16);
sprintf(buffer, "%.1f C", temp);
OLED_ShowString(48,0, buffer,16);
OLED_ShowString(0,2,"Humi: ",16);
sprintf(buffer, "%.1f %%", humi);
OLED_ShowString(48,2, buffer,16);
}
3. 报警逻辑
#define MAX_TEMP 40.0
#define MAX_HUMI 80.0
void Alarm_Check(float temp, float humi) {
if(temp > MAX_TEMP || humi > MAX_HUMI) {
HAL_GPIO_WritePin(BUZZER_GPIO_Port, BUZZER_Pin, GPIO_PIN_SET);
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(500);
} else {
HAL_GPIO_WritePin(BUZZER_GPIO_Port, BUZZER_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
}
}
4. 数据上传云平台(OneNet)
void WiFi_SendData(float temp, float humi) {
char cmd[128];
sprintf(cmd, "AT+CIPSEND=0,%d\r\n", strlen(JSON_DATA));
HAL_UART_Transmit(&huart1, (uint8_t*)cmd, strlen(cmd), 1000);
sprintf(cmd, "{\"Temperature\":%.1f,\"Humidity\":%.1f}", temp, humi);
HAL_UART_Transmit(&huart1, (uint8_t*)cmd, strlen(cmd), 1000);
}
优化方向
-
低功耗设计:
- 使用RTC定时唤醒(1分钟/次)
- 空闲模式功耗<50μA
- 采用SI7021等I2C传感器(降低功耗)
-
无线传输:
- 增加LoRa模块(用于无WiFi场景)
- MQTT协议替代HTTP传输
-
数据处理:
- 滑动平均滤波算法
- 数据本地存储(SPI Flash)
-
用户交互:
- 添加按键设置阈值
- 蜂鸣器提示操作
扩展功能
- 历史数据曲线(OLED显示温度变化趋势)
- 手机APP控制(通过BLE连接)
- 环境质量评估(结合PM2.5传感器)
- 自动联动(温控风扇/加湿器控制)
实测数据精度:温度±0.5℃,湿度±5%RH(需定期校准)
系统可通过增加多个DHT11实现区域多点监测,适用于温室大棚、实验室、仓库等场景。完整工程代码可在GitHub获取(包含电路图+PCB设计)。
如何去实现一种基于STM32的温湿度监测系统设计
大三上学期期末总结,嗯,没错上学期,写在新学期开始,hhh。 上学期学了一门嵌入式系统及应用的课程,期末的课程设计题目是基于STM32的温湿度监测系统。 记得刚开始做课程设计的时候,听说先
蔡甸一角
2021-12-21 07:57:01
库房无线温湿度监控方案 无线温湿度监控系统 仓储物流无线温湿度
数据传输得到广泛的应用,GPRS通信技术以其不需要架设通信线路、组网灵活方便、覆线数据传输系统中越来越被重视。为此,盛世科技提出了一种基于GPRS的环境温湿度监测系统,采用终端节点,路由器,无线通信模块构成
h1654156033.2788
2021-03-01 10:15:19
温湿度监测系统应用
、可靠的温湿度监测系统显得尤为重要。 温湿度监测系统,通过温度传感器、智能控制终端等硬件设备,与管理云平台组成高精度传感器网络,在线采集室内温湿度变化情况,联动空调等设备,以数字形式打造一个高效、智能的室内环
2024-07-26 16:15:59
库房温湿度自动监测系统
仓储、库房在管理上,环境控制都是重中之重。库房温湿度自动监测系统作为一种更为便捷的解决方案,已经得到广泛的应用。 库房温湿度自动监测系统通过集成传感器、数据采集器、传输设备和管理平台等硬件设备,实现
2024-07-09 18:00:43
LORA无线温湿度监测系统
LORA无线温湿度监测系统,作为现代环境监测技术的重要组成部分,正日益受到各行各业的广泛关注和应用。 LORA无线温湿度监测系统,利用LORA无线通信技术,对环境中温度和湿度的实时监测和数据传输,为
2024-11-07 16:57:40
库房温湿度监测系统
不适宜的温湿度条件不仅影响货物品质,还可能引发安全事故。例如,湿度过高可能导致霉菌滋生,电路短路,或温度过低引起的液体冻结膨胀等,都可能对仓库设施及货物造成损害。库房温湿度监测系统是现代仓储管理中
2025-01-06 16:37:32
基于单片机和LabVIEW的温湿度监测系统设计
利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该监测系统具有开发成本低、功耗低、性能稳、电路简单等优点。
2023-06-09 14:02:42
温湿度监测系统解决方案应用场景
随着生活水平质量不断提高,因温度引发的各行业越来越重视产品生产、物品设备、存储等温湿度管理环境。科学应用温湿度监测系统,确保在储运过程中或实验、生产制造等过程中,有无任何危及产品安全的事件发生
2024-01-24 16:21:34
大型冷库温湿度监测系统方案
这是一个无线WIFI遍布社会大小角落的时代,小到居民楼,大到工厂,甚至在公交上都有随时可连的WIFI。 大型冷库温湿度监测系统是一个专门用于保障冷库内温度和湿度控制的高精度监测系统。在现代社会,食品
2023-09-14 16:22:00
基于STM32的温湿度采集系统设计
前言温度和湿度值是重要的物理参数,例如精密机械加工、实验室、温室大棚、粮库、重要活动场所、会议室、居住场所等都需要对温度和湿度进行实时采集和控制,因此设计温湿度采集系统具有重要意义。一、实验目的
从未拥有
2021-08-10 08:17:55
基于51单片机的温湿度监测系统
基于51单片机的温湿度监测系统,具体功能:1、LCD1602液晶第一行显示当前的烟雾值,第二行显示当前的温度和湿度值;2、可以设置烟雾、温湿度上下限报警值。共4个按键:复位按键、减键、加键、设置键
gvjhvbc
2021-07-20 07:38:20
温湿度记录仪在温湿度监测系统中的应用有哪些
当前随着人们生活水平质量不断提高,因温度引发的各行业越来越重视产品生产、物品设备和仓库存储的温湿度管理环境,温湿度记录仪便是其中之一。今天小编带你了解温湿度记录仪在温湿度监测系统中有
2020-08-02 11:24:00
基于单片机仓库温湿度监测报警系统仿真设计的相关资料分享
045【毕设课设】基于单片机仓库温湿度监测报警系统仿真设计,温湿度监测报警系统,可以通过按键设定温度和湿度的上下限,超过范围则LED报警。此设计应用场景不仅可以仓库,其它场景只要关于温湿度检测
h1654155275.6483
2021-11-10 08:16:40
粮仓温湿度监测解决方案
的损失。 粮仓温湿度监测解决方案,通过GPRS无线传输的温湿度传感器、变送器等设备,利用无线网络,通过管理云平台同步查看粮仓情况。根据不同应用场合的具体需求灵活快速配置,建立全面而有效的粮仓温湿度监测方案,以保
2024-07-04 16:37:43
远程温湿度实时监测系统应用方案
远程温湿度实时监测系统,作为现代环境管理的重要组成部分,是各行各业不可或缺的重要工具,对环境温湿度的远程、实时、精准监测。 一、运行原理 聚英远程温湿度实时监测系统,依赖于高精度温湿度传感器、物联网
2025-01-02 17:03:03
固定式温湿度探测器
2024-03-22 14:38:13
冷库温湿度监测系统——实时监测、智能报警
监测系统主要提供对冷藏室、冷库等环境空间温度、湿度的严格监控和管理。冷库温湿度监测系统是由测点终端4G型多探头温湿度记录仪以及环境监控云平台组成。 各测点终端对周边环境温湿度进行数据的实时采集后通过4G传输方式将采集到的数据上传
2023-06-12 17:30:54
基于ZigBee-WSN的温湿度监测系统介绍
摘要:针对环境监测系统布线复杂、数据的实时性和准确性低等问题,提出了一种基于ZigBee技术的分布式传感器网络平台。选用SHT75传感器实现对监测点温湿度信息的精准采集,并通过由CC2530芯片
qian801228
2020-08-13 07:54:42
无线温湿度记录仪,温湿度数据记录器
2023-09-01 16:03:01
智能型温湿度巡检仪,无线温湿度巡检仪
2023-07-26 16:29:04
仓库环境温湿度监测系统功能
仓库环境温湿度监测系统在现代物流管理中扮演着至关重要的角色。以其实时监测、精准分析、预警提醒和节能环保等优势,成为企业保障物资安全、提高仓储效率的重要工具。 仓库环境温湿度监测系统方案,基于云计算
2024-05-17 17:07:35
移动式车载温湿度监测一体机
2022-03-25 09:50:13
管式土壤温湿度监测仪
2024-06-17 13:50:24
RFID智能仓储温湿度自动监测系统的详细说明
一.RFID仓库温湿度自动监测管理系统 1.1 RFID智能仓库管理系统简介: 苏州新导药品储运温湿度监测系统由管理主机、测点终端、运行软件等组成,通过主服务器实时显示和监测各监测点的温湿度状况
2021-12-02 16:20:04
药品库房温湿度监控方案_COS-04无线电温湿度记录仪
,做出了明确规定:企业应设置温湿度实时监测系统,通过对库房环境温湿度的自动监测和数据采集,对库房温湿度实行24小时连续、自动的监测和实时记录。每一仓间(或库房)应设置多个温湿度监测设备,用于库房温湿度状况的自动监
2020-05-24 10:58:31
无线温湿度监控系统
无线温湿度监控系统,作为现代环境监测技术的杰出代表,已经广泛应用于各个行业和领域。利用无线通信技术,实现对环境温湿度的实时、远程监控,从而保障了各种设备和物品的安全运行和保存。 无线温湿度控制系统
2024-05-30 16:43:52
LoRa无线技术的温湿度监测预警系统
LoRa无线技术的温湿度监测预警系统采用LoRa采集器和LoRa网关实现监控区域内的全覆盖,同时在仓储区各个数据采集节点安装温湿度传感器,实现对监测区域的温湿度数据动态全采集,并根据仓储环境实际需求
2025-05-14 16:06:56
基于单片机环境监测温湿度PM2.5系统设计
基于单片机环境监测温湿度PM2.5系统设计,实时检测环境中的温湿度值,并检测控制的PM2.5颗粒,同时可以设定报警范围值,也可以通过led灯指示当前的控制各参数的状态。复制这段内容后打开百度网盘手机
手托初梦
2021-11-19 08:38:42