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

1/5 已发布
TitaniumMonkey 35 Stars MIT BOM 完整度: 0/5 教程完整度: 0/5
ESP32空气质量传感器

项目简介

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分离,传感器和功能模块独立,易于扩展和维护

技术规格

主控芯片 ESP32 Dev Board
温湿度/TVOC传感器 SGP30(温度、湿度、TVOC、H₂、乙醇)
CO₂传感器 SCD41(CO₂浓度、温度、湿度)
颗粒物传感器 PMS7003(PM1.0、PM2.5、PM10)
显示屏 0.96英寸SSD1306 OLED(I2C,地址0x3C)
通信协议 WiFi 2.4GHz + MQTT
数据上报频率 每1分钟
供电电压 3.3V(所有传感器)
I2C引脚 SDA: GPIO21, SCL: GPIO22
UART引脚 RX: GPIO14, TX: GPIO27(PMS7003)
按钮功能 GPIO0:OLED显示开关
时间同步 NTP(可配置时区)

项目资源

物料清单 (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供电及编程

能力画像

⚪ 记忆与知识检索: 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通信的实践项目,可扩展更多传感器或通信方式