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

【源码】基于Arduino和MQTT的花园灌溉控制系统

项目简介

本项目是基于Arduino和MQTT协议的花园灌溉控制系统。借助Wemos D1 Mini Arduino微控制器,系统可控制带泵的水灌溉系统,通过MQTT协议通信。它能连接无线网络与MQTT代理,接收并处理MQTT消息,利用继电器控制灌溉泵开关,还具备定时自动灌溉、紧急停止等功能。

项目的主要特性和功能

  1. 无线连接:可连入无线接入点/无线路由器,通过TLS安全连接到MQTT代理。
  2. MQTT通信:订阅指定MQTT主题,处理传入消息,定期向MQTT代理发心跳信号。
  3. 继电器控制:用双重继电器控制灌溉泵和插座开关,保障灌溉系统正常运行。
  4. 自动保护:检测灌溉泵状态,无开关信号时自动关闭泵,防止花园洪水泛滥。
  5. 自动化控制:通过Node - RED框架实现自动化控制流程,支持定时灌溉和紧急停止功能。

安装使用步骤

硬件需求

  • Wemos D1 Mini(其他Arduino微控制器也可)
  • PlatformIO或Arduino IDE
  • MQTT代理,如Mosquitto MQTT Broker
  • 控制应用,如MQTT Dash

安装步骤

  1. 已下载本项目源码文件。
  2. 配置环境:
    • 使用PlatformIO,直接打开项目文件夹。
    • 使用Arduino IDE,将/src目录下的文件移到项目根目录。
  3. 配置WiFi和MQTT:复制src/credentials.h.sample文件并命名为secrets.h,填写WiFi和MQTT代理凭据。
  4. 上传代码:将代码上传到Wemos D1 Mini或其他Arduino微控制器。
  5. 连接硬件:按项目中的PIN配置表格连接传感器和继电器。

使用说明

  • MQTT控制:通过MQTT Dash等应用发MQTT消息控制灌溉系统开关。
  • 自动化流程:用Node - RED框架创建自动化流程,实现定时灌溉和紧急停止功能。
  • 状态监控:通过Telegram接收系统状态消息,实时监控灌溉系统运行情况。

下载地址

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