项目简介
本项目是基于MQTT协议的开放CO2监测系统,借助ESP8266微控制器与MH-Z19C CO2传感器,实现对环境CO2浓度的实时监测。利用MQTT协议把收集的数据发送到云端服务器,再通过Node - Red在云端服务器进行数据处理,将处理后的数据存储于InfluxDB数据库,并利用Grafana服务实现数据的可视化展示。
项目的主要特性和功能
- 数据采集:采用ESP8266微控制器进行数据的采集与传输。
- 传感器:运用MH - Z19C CO2传感器检测环境CO2浓度。
- 数据传输:通过MQTT协议将数据发送至云端服务器。
- 数据处理:在云端服务器使用Node - Red处理数据。
- 数据存储:把处理后的数据存于InfluxDB数据库。
- 数据可视化:利用Grafana对数据进行可视化展示。
安装使用步骤
一、准备阶段
- 安装Git:确保已安装git,用于复制项目代码。
- 安装Arduino IDE:确保有Arduino IDE,用于烧录ESP8266微控制器。
- 安装Docker:在云端服务器上安装docker,用于部署云服务和数据库。
二、配置和部署阶段
1. 配置微控制器
- 复制项目代码:
bash
- 创建配置文件:
在
co2 - sensor
文件夹下创建keys.h
文件,添加MQTT的地址和凭证信息:c++ char brokerIP[15] = "ADD YOUR BROKER IP"; int brokerPort = 1883; char mqtt_username[20] = "ADD YOUR MQTT USERNAME"; char mqtt_password[16] = "ADD YOUR MQTT PASSWORD";
- 烧录微控制器:
使用Arduino IDE烧录ESP8266微控制器,使用
co2 - sensor.ino
文件。
2. 配置云服务和数据库
- 安装Docker:
bash sudo apt update && apt install docker
- 创建环境变量文件:
创建
.env
文件,添加环境变量信息以配置容器服务(包括Grafana、InfluxDB和Mosquitto): ```.env GF_PATHS_DATA=/var/lib/grafana GF_PATHS_LOGS=/var/log/grafana GF_SECURITY_ADMIN_USER=YOUR_GRAFANA_USER GF_SECURITY_ADMIN_PASSWORD=YOUR_GRAFANA_PASSWORD
INFLUXDB_USERNAME=YOUR_INFLUXDB_USER INFLUXDB_PASSWORD=YOUR_INFLUXDB_PASSWORD
MOSQUITTO_USERNAME=YOUR_MOSQUITTO_USER
MOSQUITTO_PASSWORD=YOUR_MOSQUITTO_PASSWORD
- 启动容器服务:
使用Docker Compose创建并启动容器服务:
bash
sudo docker-compose up -d
```
完成上述步骤后,可通过访问Grafana界面查看实时CO2浓度数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】