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

【源码】基于Arduino和InfluxDB的土壤湿度监控系统

项目简介

本项目借助Arduino终端和土壤湿度传感器,实时采集土壤湿度数据,利用MQTT协议将数据传输到InfluxDB数据库进行存储与分析。用户可通过InfluxDB的仪表盘功能查看和管理土壤湿度数据,进而更好地照料植物。

项目的主要特性和功能

  • 土壤湿度数据采集:运用Wio Terminal和Grove Moisture传感器实时采集土壤湿度数据。
  • 数据传输:通过MQTT协议把数据从Wio Terminal传输到InfluxDB。
  • 数据存储与可视化:InfluxDB作为数据存储和应用层,用户能通过其仪表盘功能查看土壤湿度数据。
  • 自定义MQTT Broker:支持在Raspberry Pi上自建MQTT Broker,以替换公共MQTT Broker。

安装使用步骤(假设用户已经下载了本项目的源码文件)

1. 创建InfluxDB账户

  1. 访问InfluxDB Cloud并创建一个账户。
  2. 选择数据存储位置和免费计划。
  3. 创建一个Bucket用于存储土壤湿度数据。
  4. 获取InfluxDB的认证信息(Token、Org、URL、Bucket)。

2. 配置Wio Terminal

  1. template.h文件复制为config.h,并根据实际情况填写WiFi和InfluxDB的配置信息。
  2. 使用PlatformIO IDE将代码上传到Wio Terminal。

3. 运行Python MQTT Forwarder

  1. 复制项目代码库。
  2. 安装所需的Python库。
  3. 运行Python脚本将MQTT数据转发到InfluxDB。

4. 自建MQTT Broker(可选)

  1. 在Raspberry Pi上安装Mosquitto MQTT Broker。
  2. 配置并启动MQTT Broker。
  3. 测试MQTT Broker的连接。

安装MQTT Broker在Raspberry Pi上

  1. 更新并安装Mosquitto: bash sudo apt-get update sudo apt-get install mosquitto mosquitto-clients sudo reboot
  2. 配置Mosquitto: bash sudo nano /etc/mosquitto/mosquitto.conf 替换配置文件内容为: allow_anonymous true listener 1883
  3. 重启Mosquitto服务: bash sudo systemctl restart mosquitto

参考资料

下载地址

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