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

【源码】基于Arduino和IoT技术的植物湿度监控系统

项目简介

本项目借助Arduino和IoT技术搭建植物湿度监控系统。使用Arduino脚本监测植物土壤湿度,通过MQTT协议把传感器采集的遥测数据传至Node - RED,再利用Blynk实现数据可视化展示。当传感器检测到土壤湿度低时,会通过AWS Simple Notification Service(SNS)给订阅者发送短信提醒。

项目的主要特性和功能

  1. 湿度监测:利用ESP32 WiFi电容性土壤湿度传感器实时监测盆栽植物的土壤湿度。
  2. 数据传输:采用MQTT协议将传感器采集的遥测数据发布到指定的MQTT代理。
  3. 数据处理与展示:Node - RED接收MQTT数据,进行解析、添加时间戳、反转湿度读数等处理,并将数据更新到Blynk应用实现可视化。
  4. 低湿度预警:土壤湿度低于预设值时,通过本地API向AWS SNS主题发布消息,订阅者会收到短信提醒。

安装使用步骤

硬件准备

准备ESP32 WiFi电容性土壤湿度和温湿度传感器。

软件环境配置

  1. 安装以下Arduino库:
  2. 配置Python3环境,使用virtualenv,并通过pip3 install aiohttp boto3安装依赖。

代码部署与配置

  1. 编译并烧录Arduino脚本到ESP32开发板。脚本会连接指定WiFi、获取传感器读数、将数据格式化为JSON、连接MQTT代理并发布数据,之后进入深度睡眠。
  2. 在Node - RED中导入并配置数据处理流程,包括管理MQTT连接、解析数据、更新Blynk、评估低湿度条件等。
  3. 配置本地API,使其能与AWS SNS进行交互。API暴露/plants/moisture/low_alert/端点,用于发布低湿度警报消息。

运行测试

连接传感器,启动Arduino脚本、Node - RED流程和本地API,测试系统的各项功能,包括数据传输、展示和低湿度预警。

下载地址

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