littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于C++的室内环境空气质量监测系统

项目简介

本项目是基于C++语言,运行在Adafruit Feather M0微控制器上的室内环境空气质量监测系统。系统借助WiFi连接,通过MQTT协议按设定频率发布多种传感器读数,还能发送与Home Assistant兼容的自动发现消息,可通过特定MQTT主题进行配置。

项目的主要特性和功能

  1. 多传感器数据采集:能测量湿度、温度、压力、海拔、颗粒物浓度、二氧化碳浓度等环境参数,并计算AQI。
  2. MQTT数据发布:将传感器数据、诊断信息和控制状态通过MQTT协议发布到指定主题。
  3. 自动发现功能:支持传感器、诊断信息和控制功能的自动发现,方便与Home Assistant集成。
  4. 远程配置与控制:通过MQTT主题接收远程配置和控制指令,实现设备远程管理。
  5. 模块化设计:软件采用模块化设计,便于复用和扩展。

安装使用步骤

前提条件

假设已下载本项目的源码文件,且已安装Platform.io(VS Code + Platform.io扩展)。

具体步骤

  1. 硬件连接:确保将SHT40、DPS310、PM2.5、SCD30等传感器正确连接到Adafruit Feather M0微控制器。详细物理构建细节参考 doc/physical_build.md
  2. 依赖库安装:安装项目所需的软件依赖库。
  3. 网络配置:复制 src/sample-env.h 为 env.h,根据实际情况修改本地WiFi和MQTT代理的详细信息。
  4. 编译上传:使用Platform.io编译项目代码,并将其上传到Adafruit Feather M0微控制器。
  5. 集成Home Assistant:若要将设备集成到Home Assistant中,参考 lib/mqtt-ha-helper/README.md 实现传感器自动发现。可根据需要更新Home Assistant仪表盘的默认标签,具体配置参考文档中的 Home Assistant Customizations 部分。
  6. 测试验证:将设备部署到需要监测的环境中,验证传感器数据是否正确发布到MQTT服务器,以及设备能否正常接收和响应远程配置和控制指令。

其他说明

若需要启用串行日志记录,参考 lib/log/log.h

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】