项目简介
本项目通过多种传感器收集环境数据,涵盖温度、湿度、气压等信息。利用MQTT协议将数据传输到InfluxDB数据库,最终借助Grafana等工具实现数据的可视化展示,适用于农业、气象站等需要实时监控环境参数的场景。
项目的主要特性和功能
传感器支持
- BME280:可测量温度、湿度和气压。
- DS18B20:液体温度传感器,用于测量地面温度。
- CCS811:检测CO2和空气质量。
- Adafruit Anemometer:风速传感器。
- STEMMA QT土壤传感器。
数据传输
- 采用MQTT协议将传感器数据发送到InfluxDB数据库。
- 通过ESP8266模块(如D1 Mini)完成数据传输。
数据存储与分析
- 数据存储于InfluxDB,支持大规模数据存储和查询。
- 运用Pandas库进行数据分析。
- 借助Grafana实现数据可视化。
安装使用步骤
1. 环境准备
确保已安装以下软件和库: - Python 3.x - InfluxDB - MQTT Broker(如Mosquitto) - Arduino IDE(用于编译和上传代码到微控制器)
2. 安装依赖
```bash pip install -r requirements.txt
sudo apt install influxdb influxdb-client pip3 install influxdb
sudo service influxdb start sudo service influxdb status ```
3. 配置InfluxDB
编辑InfluxDB配置文件以启用HTTP端点:
bash
sudo vim /etc/influxdb/influxdb.conf
sudo service influxdb restart
influx
4. 编译和上传代码
将项目中的代码编译并上传到微控制器(如ATMEGA2560或D1 Mini),确保传感器正确连接并配置。
5. 运行MQTT数据传输
在D1 Mini上运行MQTT发布代码,将传感器数据发送到MQTT Broker。
6. 运行Python脚本
运行MQTTInfluxBridge.py
脚本,将MQTT数据传输到InfluxDB。
bash
python MQTTInfluxBridge.py
7. 数据可视化
使用Grafana连接到InfluxDB,创建仪表盘以可视化环境数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】