news 2026/9/3 3:24:36

2小时自制智能家居环境监测站:ESP32温湿度+空气质量监控系统DIY教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2小时自制智能家居环境监测站:ESP32温湿度+空气质量监控系统DIY教程

2小时自制智能家居环境监测站:ESP32温湿度+空气质量监控系统DIY教程

【免费下载链接】arduino-esp32Arduino core for the ESP32项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32

想拥有一个能实时监测家中温湿度、空气质量的智能设备,但又不想花费数百元购买成品?本教程将带你用不到80元的成本,在2小时内打造一台功能完备的智能家居环境监测站。适合零基础入门的电子爱好者,无需编程经验也能轻松完成✅

需求分析:为什么需要环境监测站?

现代家庭对居住环境质量的关注度越来越高,一个可靠的环境监测站能帮你:

  • 实时掌握室内温湿度,预防霉菌滋生
  • 监测空气质量,及时发现甲醛、PM2.5等潜在健康威胁
  • 联动其他智能设备,如自动启动加湿器或空气净化器
  • 通过手机APP远程查看家中环境数据

方案设计:硬件选型与系统架构

材料清单与采购建议 🛒

组件名称型号规格单价(元)功能说明
主控板ESP32-S345双核处理器,支持WiFi和蓝牙
温湿度传感器DHT2212高精度温湿度测量
空气质量传感器MQ-13515检测甲醛、CO2等有害气体
OLED显示屏0.96寸I2C8实时显示环境数据
杜邦线40P套装5连接各模块
USB数据线Type-C赠送供电与数据传输
外壳3D打印盒15保护内部元件(可选)

总成本控制技巧

  • 在1688或拼多多购买传感器模块,比淘宝便宜30%
  • 选择ESP32开发板套装,通常包含数据线和基础元件
  • 可使用废旧手机充电器作为电源,无需额外购买

系统架构设计图

图:ESP32外设连接架构示意图,展示了GPIO矩阵与各传感器的连接关系

实施步骤:从组装到运行只需四步

核心模块接线图解 🔌

图:ESP32作为I2C主设备连接多个从设备的接线示意图

详细接线表

ESP32引脚传感器引脚连接说明
3.3VVCC为所有传感器供电
GNDGND共地连接
GPIO21(SDA)SDAI2C数据总线
GPIO22(SCL)SCLI2C时钟总线
GPIO4OUTMQ-135模拟输出
GPIO14DATADHT22数据引脚

开发环境搭建

  1. 安装Arduino IDE,打开"文件 > 首选项"
  2. 在"附加开发板管理器网址"中添加ESP32开发板URL
  3. 安装ESP32开发板支持包
  4. 安装必要的库:DHT sensor library、Adafruit SSD1306等

图:Arduino IDE首选项设置界面,用于添加ESP32开发板支持

核心代码实现

#include <WiFi.h> #include <DHT.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> // 定义引脚 #define DHT_PIN 14 #define MQ135_PIN 4 #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 // 初始化传感器 DHT dht(DHT_PIN, DHT22); Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // WiFi配置 const char* ssid = "你的WiFi名称"; const char* password = "你的WiFi密码"; void setup() { Serial.begin(115200); dht.begin(); // 初始化显示屏 if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); for(;;); } // 连接WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi connected"); } void loop() { // 读取温湿度 float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); // 读取空气质量 int airQuality = analogRead(MQ135_PIN); // 显示数据 display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0,0); display.print("Temp: "); display.print(temperature); display.print(" C"); display.setCursor(0,16); display.print("Humi: "); display.print(humidity); display.print(" %"); display.setCursor(0,32); display.print("Air: "); display.print(airQuality); display.display(); delay(2000); }

设备组装与调试

  1. 将所有元件按照接线图焊接或插接在面包板上
  2. 将代码上传到ESP32开发板
  3. 观察OLED屏幕是否显示数据
  4. 使用手机热点测试WiFi连接功能

常见问题排查

传感器无数据输出

  • 检查接线:确保SDA和SCL引脚连接正确
  • 电源问题:使用3.3V供电,不要使用5V
  • I2C地址冲突:多个I2C设备地址可能冲突,需修改地址

WiFi连接失败

  • 信号问题:确保ESP32靠近路由器
  • 密码错误:检查代码中的WiFi名称和密码是否正确
  • 固件问题:更新ESP32开发板固件到最新版本

图:ESP32作为WiFi站点(STA)连接到无线路由器的示意图

性能优化建议

低功耗优化

  • 启用ESP32的深度睡眠模式,测量间隔设为5分钟
  • 使用RTC定时器唤醒,可延长电池使用时间至数周

数据精度提升

  • 对传感器数据进行多次采样并取平均值
  • 增加温度补偿算法,消除环境温度对MQ-135的影响

功能扩展

  1. 添加PMS5003传感器监测PM2.5
  2. 集成Blynk或Home Assistant实现远程监控
  3. 添加蜂鸣器报警功能,当空气质量超标时提醒

项目扩展思路

  • 多节点网络:使用多个ESP32监测不同房间,通过I2C总线组网
  • 数据记录:添加SD卡模块记录历史数据
  • 智能控制:联动继电器控制空调或加湿器

资源获取方式

项目完整代码和3D打印外壳模型可通过以下命令获取:

git clone https://gitcode.com/GitHub_Trending/ar/arduino-esp32

在项目目录下的examples/EnvironmentMonitor文件夹中可找到完整实现。

通过这个项目,你不仅学会了ESP32的基本使用,还掌握了传感器数据采集、WiFi通信和数据显示等核心技能。这个监测站不仅能为你的家庭提供环境数据,还可以作为其他智能家居项目的基础平台。动手试试吧,让科技为生活增添更多便利!😊

【免费下载链接】arduino-esp32Arduino core for the ESP32项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:43:25

效果惊艳!Qwen3-Embedding-4B+SGlang打造的跨语言搜索案例

效果惊艳&#xff01;Qwen3-Embedding-4BSGlang打造的跨语言搜索案例 1. 引言&#xff1a;当跨语言搜索遇上高性能嵌入模型 你有没有遇到过这样的问题&#xff1a;用中文搜索一段内容&#xff0c;却希望找到英文、法文甚至阿拉伯语的相关资料&#xff1f;传统搜索引擎往往束手…

作者头像 李华
网站建设 2026/9/1 22:52:29

实测NewBie-image-Exp0.1:3.5B大模型动漫生成效果惊艳

实测NewBie-image-Exp0.1&#xff1a;3.5B大模型动漫生成效果惊艳 你有没有试过输入一段文字&#xff0c;几秒钟后就得到一张堪比专业画师手绘的动漫图&#xff1f;不是那种边缘模糊、比例失调的“AI味”作品&#xff0c;而是发丝清晰可见、光影自然过渡、角色神态生动、构图富…

作者头像 李华
网站建设 2026/9/2 12:32:59

解锁文献管理新维度:Zotero效率工具Ethereal Style插件效率提升指南

解锁文献管理新维度&#xff1a;Zotero效率工具Ethereal Style插件效率提升指南 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件&#xff0c;提供了一系列功能来增强 Zotero 的用户体验&#xff0c;如阅读进度可视化和标签管理&#xff0c;适合研究人员和学者。…

作者头像 李华
网站建设 2026/9/2 2:38:32

开源大模型文档解析新选择:MinerU部署实战指南

开源大模型文档解析新选择&#xff1a;MinerU部署实战指南 PDF文档解析这件事&#xff0c;听起来简单&#xff0c;做起来却常常让人抓狂。多栏排版错乱、表格结构塌陷、数学公式变成乱码、图片位置漂移……这些不是个别现象&#xff0c;而是大多数开源工具在真实业务场景中反复…

作者头像 李华
网站建设 2026/9/2 8:21:48

STM32之串口(三)

1. wifi模块(esp8266)1.1 介绍• ESP8266 是一款高性能的 WIFI 串口模块&#xff0c;可以实现透明传输&#xff0c;可以利用串口与单片机进行通讯&#xff0c;从而编程实现控制 ESP8266。如图:1.2 常见AT指令• 上电后发送AT指令测试通信及模块功能是否正常&#xff0c;如图:•…

作者头像 李华
网站建设 2026/9/2 22:24:49

刷机与系统启动

1. 刷机 • 使用SDFormatter TF卡的格式化工将TF卡格式化。• 然后用Win32Diskimager 刷机工具将linux镜像写入。• 然后启动系统&#xff0c;用串口打印出启动的信息。如图:• 然后修改密码指令&#xff0c;如图:• 然后配置网络: • 指令:nmcli dev wifi&#xff0c;可以扫描…

作者头像 李华