ESP32空气质量传感器 ESP32-Air-Quality-Sensor

⭐☆☆☆☆ (1/5) 已发布
TitaniumMonkey 35 Stars MIT BOM 完整度: /5 教程完整度: /5

项目简介

ESP32 Air Quality Sensor utilizing BME680 Environmental Sensor, Supports Temperature/Humidity/Barometric Pressure/VOC Ga


这是一个基于ESP32芯片开发的室内空气质量监测系统,它集成了多种高精度传感器,能够全面采集环境数据。核心功能包括实时监测温度、湿度、二氧化碳浓度、可吸入颗粒物(PM1.0、PM2.5、PM10)以及总挥发性有机化合物(TVOC),并自动计算出标准空气质量指数(AQI)。系统通过一块0.96英寸的SSD1306 OLED屏幕直观展示所有读数,同时支持通过MQTT协议将数据上报至Home Assistant等智能家居平台,实现远程监控与自动化联动。

标签

项目特点

**多传感器融合**:集成SGP30(温湿度/TVOC)、SCD41(CO₂)、PMS7003(PM1.0/2.5/10)三种传感器,提供全面的空气质量数据
**OLED本地显示**:实时显示所有传感器读数,支持5分钟自动息屏防烧屏,可通过GPIO0按钮切换显示
**MQTT智能家居集成**:数据自动发布到MQTT Broker,支持Home Assistant自动发现,无需手动配置
**智能网络管理**:WiFi离线时传感器继续工作,首次连接超时15秒,失败3次后每15分钟重试,自动恢复
**标准AQI计算**:基于PM数据计算空气质量指数,提供直观的空气质量评估
**模块化代码结构**:清晰的include/src分离,传感器和功能模块独立,易于扩展和维护

技术规格

主控芯片
温湿度/TVOC传感器
CO₂传感器
颗粒物传感器
显示屏
通信协议
数据上报频率
供电电压
I2C引脚
UART引脚
按钮功能
时间同步

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP32 Dev Board 1 任意ESP32开发板
SGP30模块 1 温湿度/TVOC/H₂/乙醇
SCD41模块 1 CO₂浓度检测
PMS7003模块 1 PM1.0/2.5/10颗粒物
SSD1306 OLED 0.96寸 1 I2C接口,地址0x3C
杜邦线/面包板 若干 用于电路连接
USB数据线 1 为ESP32供电及编程

所需工具

工具用途是否必需
电脑(Windows/Mac/Linux) 编写代码、编译上传 ✅ 是
Arduino IDE 开发环境,编写和上传代码 ✅ 是
USB数据线 连接ESP32到电脑 ✅ 是
面包板及杜邦线 搭建电路原型 ✅ 是
万用表 检查电路连接和电压 ▢ 推荐

能力画像

记忆与知识检索
2/5
逻辑推演
3/5
表达与交流
1/5
感知与观察
2/5
数理与计算
3/5
动手与操作
4/5
狂热与坚持
2/5
创造与创新
3/5

所需技能

🔧 **动手能力**:需要连接多个传感器到ESP32,使用面包板和杜邦线搭建电路,确保I2C和UART接线正确 💻 **编程能力**:需要熟悉Arduino IDE环境,安装和管理库文件,配置WiFi和MQTT凭据,理解C++代码结构 ⚡ **电子电路**:了解I2C和UART通信协议,知道3.3V供电和GND连接,能排查接线错误

适用场景

**室内空气质量监测**:在家庭、办公室或教室中实时监测空气质量,通过Home Assistant实现自动化控制(如联动空气净化器)
**智能家居集成**:作为Home Assistant的传感器节点,提供温湿度、CO₂和PM数据,用于环境调控和报警
**环境数据采集**:用于科研或教育项目,收集长期空气质量数据,分析室内外污染趋势
**DIY创客项目**:作为学习ESP32、传感器集成和MQTT通信的实践项目,可扩展更多传感器或通信方式