项目简介
本项目基于Arduino平台开发室内空气质量监测系统,能实时监测并显示室内温度、湿度、PM值和二氧化碳浓度等空气质量数据。通过MQTT协议将数据传输至服务器,用户可在Grafana仪表板查看数据,实现室内空气质量监测智能化。
项目的主要特性和功能
- 多传感器数据采集:用DHT11采温度和湿度,PMS5003采PM值,MHZ19 - B采二氧化碳浓度。
- WiFi连接与数据传输:ESP32开发板通过WiFi连本地网络,用MQTT协议把传感器数据发至MQTT服务器。
- 数据存储与可视化:用InfluxDB存传感器数据,Grafana仪表板进行数据可视化。
- 系统集成:通过Docker Compose一键启动MQTT服务器、InfluxDB和Grafana,简化部署。
安装使用步骤
前提准备
- 安装Arduino IDE。
- 准备ESP32开发板、DHT11传感器、PMS5003传感器、MHZ19 - B传感器。
- 准备面包板和跳线。
- 安装Docker和Docker Compose。
步骤
第一步:硬件连接
- 将DHT11传感器连到ESP32的GPIO 21引脚。
- 将PMS5003传感器连到ESP32的Serial1端口(引脚32和33)。
- 将MHZ19 - B传感器连到ESP32的Serial2端口(引脚16和17)。
第二步:编程与烧录
- 在Arduino IDE中打开
esp32 - code
目录下的源代码。 - 更新WiFi SSID、密码、MQTT服务器IP、用户名和密码等信息。
- 烧录代码到ESP32开发板。
第三步:配置MQTT服务器
- 在
mqtt - influxdb - grafana
目录下运行docker - compose up
启动MQTT服务器、InfluxDB和Grafana。 - 使用
mosquitto_passwd
命令为MQTT服务器创建用户和密码。
第四步:配置InfluxDB和Grafana
- 打开
localhost:8086
配置InfluxDB,创建组织和存储桶。 - 生成API Token并更新Telegraf配置文件。
- 打开
localhost:3000
配置Grafana,添加InfluxDB数据源。
第五步:测试与调试
- 使用
mosquitto_sub
和mosquitto_pub
命令测试MQTT连接。 - 在Grafana中创建仪表板,查看传感器数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】