基于ESP8266与KiwisIoT构建一个智能植物监测系统
植物需要适宜的环境条件才能健康生长。土壤湿度、温度和湿度等参数直接影响植物的健康状况。手动监测这些参数不仅耗时,还可能导致浇水过多或过少。
本项目采用ESP8266 NodeMCU构建一个简单的物联网植物生长监测系统。土壤湿度传感器用于测量土壤湿度,DHT11传感器则用于测量温度和湿度。
当土壤干燥时,LED灯会显示本地状态。同时,ESP8266通过Wi-Fi连接并使用MQTT协议将传感器数据发送至KiwisIoT云平台。收集到的数据可通过KiwisIoT网页仪表盘实时查看。
该系统适用于家庭园艺、温室、苗圃、智慧农业以及教育类物联网应用。
1 – 硬件连接
将传感器和LED连接到ESP8266 NodeMCU,如下图所示。
土壤湿度传感器
VCC → 3.3V
GND → GND
AO → A0
DHT11 传感器
VCC → 3.3V
GND → GND
DATA → D4
LED
D5 → 220Ω 电阻 → LED 正极 (+)
LED 负极 (−) → 接地 GND
注意:土壤湿度传感器连接至模拟输入 A0。干土阈值应根据传感器和土壤条件进行校准。
电路图
2 – 编程
所需软件
•Arduino IDE
•ESP8266 芯片包
•ESP8266WiFi 库
•KiwisIoT 库
•DHT 传感器库
•Adafruit 统一传感器库
通过以下方式安装 ESP8266 芯片包:
Arduino IDE → 工具 → 芯片 → 芯片管理器
搜索“ESP8266”并安装 ESP8266 芯片包。
配置 Wi-Fi 和 KiwisIoT
在上传程序之前,请替换以下值:
主题值将在第3步中从 KiwisIoT 控制面板获取。
Arduino 代码
如何上传代码
使用 Micro USB 数据线将 ESP8266 NodeMCU 连接到电脑。
在 Arduino IDE 中:
工具 → 芯片 → ESP8266 芯片 → NodeMCU 1.0(ESP-12E 模块)
选择正确的 COM 端口,然后点击“上传”。
上传完成后,打开串口监视器,并将波特率设置为 115200。
您应能看到温度、湿度和土壤湿度的读数。
有关 ESP8266 代码上传的详细说明,请参考项目附带的 KiwisIoT 指南。
3 – 配置 KiwisIoT 控制面板
当 ESP8266 代码准备就绪后,开始配置 KiwisIoT 控制面板。
创建控制面板
•打开 KiwisIoT 平台。
•登录您的账户。
•创建一个新的控制面板/仪表板。
•复制生成的主题 ID。
•在Arduino代码中替换主题。
示例:
输入正确的主题ID后,请重新上传代码。
添加仪表板小工具
创建三个用于显示传感器数据的小工具:
•温度 → 指示器 / 显示屏
•湿度 → 指示器 / 显示屏
•土壤湿度 → 指示器 / 显示屏
通道映射
使用以下通道映射:
KiwisIoT仪表板现已配置为接收来自ESP8266的传感器数据。
4 – 实时监控
启动NodeMCU后,ESP8266会连接到已配置的Wi-Fi网络,并与KiwisIoT进行通信。
系统持续监测以下内容:
DHT11 → 温度 + 湿度
土壤湿度传感器 → 土壤湿度水平
每2秒将读数传输至KiwisIoT仪表盘。
该仪表盘可方便地远程查看植物的环境状况。
土壤干燥警报
当土壤湿度传感器读数超过设定阈值时:
连接至D5的LED灯亮起,表示土壤相对干燥,植物可能需要浇水。
当土壤湿度读数低于阈值时,LED灯熄灭。
重要提示:数值(如700)取决于传感器本身。在将系统用作实际灌溉指示器前,请根据您实际的土壤和浇灌条件对传感器进行校准。
常见问题
1. 这个项目的目的是什么?
该项目通过KiwisIoT仪表盘远程监测温度、湿度和土壤湿度,帮助用户观察植物生长环境。
2. 为什么使用ESP8266 NodeMCU?
ESP8266具备Wi-Fi连接功能,能够读取传感器数据并将其发送至KiwisIoT云平台。
3. 使用了哪些传感器?
该项目使用DHT11传感器来测量温度和湿度,以及土壤湿度传感器来监测土壤湿度。
4. 系统如何指示土壤干燥?
当土壤湿度读数超过设定的阈值时,连接到D5的LED灯会亮起,表示土壤相对干燥。
5. 传感器数据如何显示?
温度、湿度和土壤湿度数值会发送至KiwisIoT,并通过仪表盘小部件(如量表或显示屏)进行展示。
6. KiwisIoT 的通道用于什么?
这些通道用于将传感器值映射到相应的仪表板小部件:
7. 土壤湿度阈值可以更改吗?
是。阈值可根据传感器读数和土壤条件在Arduino代码中进行修改。
8. 这个项目能控制水泵吗?
是。可添加继电器模块和水泵,当土壤干燥时自动为植物浇水。
9. 系统是否需要网络连接?
是。发送传感器数据至KiwisIoT云仪表板需要保持活跃的Wi-Fi连接。
10. 能否添加更多传感器?
是。可集成光强、水位、降雨和土壤pH等附加传感器,以扩展监测系统。
结论
基于物联网的植物生长监测系统利用ESP8266、DHT11和土壤湿度传感器,提供了一种简单实用的植物环境监测方案。系统通过Wi-Fi采集并传输温度、湿度和土壤湿度数据至KiwisIoT仪表盘,实现实时远程监控。
当土壤相对干燥时,LED灯会发出本地提示。该系统还可扩展功能,支持自动灌溉、添加更多传感器、发送通知以及历史数据分析。
总体而言,本项目展示了如何将物联网与云端监控技术应用于智慧农业、温室环境监测及家庭园艺。
本文编译自hackster.io





