项目简介
本项目借助Arduino和IoT技术搭建植物湿度监控系统。使用Arduino脚本监测植物土壤湿度,通过MQTT协议把传感器采集的遥测数据传至Node - RED,再利用Blynk实现数据可视化展示。当传感器检测到土壤湿度低时,会通过AWS Simple Notification Service(SNS)给订阅者发送短信提醒。
项目的主要特性和功能
- 湿度监测:利用ESP32 WiFi电容性土壤湿度传感器实时监测盆栽植物的土壤湿度。
- 数据传输:采用MQTT协议将传感器采集的遥测数据发布到指定的MQTT代理。
- 数据处理与展示:Node - RED接收MQTT数据,进行解析、添加时间戳、反转湿度读数等处理,并将数据更新到Blynk应用实现可视化。
- 低湿度预警:土壤湿度低于预设值时,通过本地API向AWS SNS主题发布消息,订阅者会收到短信提醒。
安装使用步骤
硬件准备
准备ESP32 WiFi电容性土壤湿度和温湿度传感器。
软件环境配置
- 安装以下Arduino库:
- 配置Python3环境,使用
virtualenv
,并通过pip3 install aiohttp boto3
安装依赖。
代码部署与配置
- 编译并烧录Arduino脚本到ESP32开发板。脚本会连接指定WiFi、获取传感器读数、将数据格式化为JSON、连接MQTT代理并发布数据,之后进入深度睡眠。
- 在Node - RED中导入并配置数据处理流程,包括管理MQTT连接、解析数据、更新Blynk、评估低湿度条件等。
- 配置本地API,使其能与AWS SNS进行交互。API暴露
/plants/moisture/low_alert/
端点,用于发布低湿度警报消息。
运行测试
连接传感器,启动Arduino脚本、Node - RED流程和本地API,测试系统的各项功能,包括数据传输、展示和低湿度预警。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】