一、系统简介
这是一套基于STM32的温湿度监测系统,具备实时数据采集、上位机上传、报警提示和参数配置等功能。系统通过温湿度传感器采集环境数据,并在彩色LCD上实时显示当前的温度和湿度数值,同时显示用户设定的温湿度上下限。当温湿度超出设定范围时,系统会启动蜂鸣器报警并切换LED颜色以提示异常。用户可通过实体按键和电容按键切换并调整温湿度阈值,调整后的参数会自动保存到EEPROM中,确保断电不丢失。此外,系统具备WiFi通信功能,可定时将采集到的数据以特定格式上传至远程服务器,实现远程监控与记录。整体系统适用于温湿度环境自动监管等场景,具备良好的人机交互与稳定性,是很好的单片机开发应用。

二、准备工具
1.硬件准备
- PC电脑一台
- 手机(发射热点2.4G)
- STM32F103vet6(野火指南者)
- DHT11(温湿度模块)
2.软件准备
- PHP网页空间(非必须)
- 域名(非必须)
- Keil5 (开发/烧录工具)
- 浏览器
购买后如果没有/不想自己搭建 PHP网页空间、域名 可以直接联系在线客服
客服会免费赠送您一条可用的测试线路,即开即用
三、系统硬件
1.硬件结构图

2.硬件连接图

特别注意:一般情况下WiFi模块出厂会用跳线帽连接,若发现没有连接可以自行连接
连接方法:
PB10 — URX
PB11 — UTX
其余模块均为“野火指南者”自带模块,无需连线;
若是使用核心板,可以查看 野火指南者原理图
四、系统软件
1.软件程序设计
系统启动后,会首先进行一系列的硬件初始化,包括计时器、中断控制器、LED、串行通信、Wi-Fi模块、定时器、温湿度传感器(DHT11)、LCD显示屏、按键、触摸按键以及EEPROM存储器。初始化完成后,如果开启了Wi-Fi功能,系统会自动进行配置。系统会实时从DHT11传感器获取当前的温度和湿度数据,并将这些数据以及预设的上下限阈值显示在LCD屏幕上。用户可以通过物理按键(KEY1和KEY2)来调整温度和湿度的上下限设定值。触摸按键(CAP_KEY)则用于切换当前正在调整的阈值类型(例如,从温度下限切换到温度上限,再到湿度下限、湿度上限,最后回到无调整状态)。当用户调整阈值时,系统会实时将这些新的设定值保存到EEPROM中,确保即使系统断电也不会丢失配置。
系统会持续监测当前的温度和湿度是否在用户设定的安全范围内。如果任何一个数值超出范围,系统就会触发报警:视觉报警:LED灯会从绿色变为红色。听觉报警:蜂鸣器会发出警报声。同时,LCD屏幕上会清晰地显示当前的运行状态,提示用户是温度、湿度,还是两者都超出了正常范围。如果温度和湿度都在正常范围内,屏幕则会显示“状态正常”,LED变为绿色,蜂鸣器停止鸣叫。
如果系统配置了Wi-Fi功能并成功连接,它会定期将当前的温度和湿度数据封装成HTTP POST请求,并发送到预设的服务器,实现数据的远程监控。
2.软件流程图
软件流程图

服务器流程图

按键流程图

单片机上的报警阈值 ≠ 服务器上的报警阈值
二者相互独立,并且均有存储功能!
3.服务器部署
购买后如果没有/不想自己搭建 PHP网页空间、域名 可以直接联系在线客服
客服会免费赠送您一条可用的测试线路,即开即用
无需购买 HTTP物联网温湿度网页数据展示 项目
本项目涵盖此程序,仅仅查看配置方法即可


连接信息会在第一次打开网页时显示,当再次用同一设备同一浏览器打开就会消失;如果没有记录完整可以尝试更换浏览器或者清除浏览器缓存即可再次显示!
4.本地程序
请在 main.c 中修改以下内容
volatile _Bool BEEP_Waring = 1; // 1启用蜂鸣器报警 0关闭蜂鸣器报警
volatile _Bool LED_State = 1; // 1启用LED展示状态 0关闭LED展示状态
volatile _Bool WIFI_ON = 1; // 1启用WiFi模式 0关闭WiFi模式
char wifiname[100]= "tao" ; //WiFi名称
char wifipassword[100] = "12345678"; //WiFi密码
char tcpaddress[100] = "mqtt.uuwb09.top"; //TCP服务器(第3步获取的信息)
char tcpport[100] = "80"; //端口(第3步获取的信息)
char post[100] = "/abc/hello/receive.php"; //Post路径(第3步获取的信息)
五、运行测试
1.WiFi配置界面



2.正常运行状态

3.报警运行状态

4.网页运行效果

5.网页报警效果

6.网页历史数据

六、程序下载
程序包含单片机程序以及服务器程序
如果您不想部署服务器程序,可以直接联系在线客服
我们提供免费的服务器线路
注意:购买前请再三确认,商品一旦出售概不退货,如有疑问请转至 疑问帮助