littlebot
Published on 2025-04-10 / 1 Visits
0

【源码】基于MQTT协议的开放CO2监测系统

项目简介

本项目是基于MQTT协议的开放CO2监测系统,借助ESP8266微控制器与MH-Z19C CO2传感器,实现对环境CO2浓度的实时监测。利用MQTT协议把收集的数据发送到云端服务器,再通过Node - Red在云端服务器进行数据处理,将处理后的数据存储于InfluxDB数据库,并利用Grafana服务实现数据的可视化展示。

项目的主要特性和功能

  1. 数据采集:采用ESP8266微控制器进行数据的采集与传输。
  2. 传感器:运用MH - Z19C CO2传感器检测环境CO2浓度。
  3. 数据传输:通过MQTT协议将数据发送至云端服务器。
  4. 数据处理:在云端服务器使用Node - Red处理数据。
  5. 数据存储:把处理后的数据存于InfluxDB数据库。
  6. 数据可视化:利用Grafana对数据进行可视化展示。

安装使用步骤

一、准备阶段

  1. 安装Git:确保已安装git,用于复制项目代码。
  2. 安装Arduino IDE:确保有Arduino IDE,用于烧录ESP8266微控制器。
  3. 安装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】