APP下载

基于ESP32的农业定点灌溉节水系统

2022-08-26张子财张胜田佟向坤

现代信息科技 2022年11期
关键词:水阀土壤湿度电磁阀

张子财,张胜田,佟向坤

(广东东软学院 计算机学院,广东 佛山 528225)

0 引 言

近年来随着经济与科技的发展,农业发展也趋向机械化,尤其是大型农场在灌溉方面实现自动化、数据实时化和防漏水是必不可少的趋势,对农业机械化发展十分重要。目前市面上传统灌溉系统多数是统一的灌溉模式,无法对个别缺水土壤进行针对性灌溉,且灌溉模块长时间使用会出现滴水甚至漏水的情况,仍有不少改进空间。本项目采用ESP32为主控采集多个土壤湿度计检测模块的湿度的平均值,若土壤湿度低于阈值则ESP32会发送数据开启水阀和执行灌溉,同时可在云端实时监控数据和控制灌溉,有利于减少人力物力的浪费。

1 系统的执行与组成

1.1 系统执行框架

本系统包含了主控芯片ESP32、一体电磁阀流量计、电容式土壤湿度计检测传感器、电机驱动、水泵和Blinker云平台。主要设计思路是首先通过ESP32采集多个土壤湿度计检测模块的数据后取平均值,若湿度低于阈值,则ESP32会发送数据给控制一体电磁阀流量计的ESP32使其打开总水阀和打开灌溉模块进行自动灌溉,直到湿度大于阈值。用户可在Blinker云平台上实时监控各项数据,可以主动在Blinker发送数据执行主动灌溉。此外,在执行发生灌溉的情况下,水流量计数值增加则判断发生漏水,ESP32会关闭总水阀的电磁阀从而断水,可在云平台上打开或者下次执行自动灌溉时自动打开。整体设计图如图1所示。

图1 基于ESP32的农业定点灌溉系统

1.2 系统组成

基于ESP32的农业定点灌溉节水系统主要由三部分组成:

(1)由ESP32、灌溉模块、A4950电机驱动模块、MK011169电容式土壤温湿度检测模块组成;对土壤湿度进行检测、植物进行浇灌、ESP32发送和接收数据包,与云端和水阀端ESP32进行交互。

(2)由ESP32、继电器和一体电磁阀流量计组成;检测水流量,若没有发生浇灌的情况下水流量计数增加则自动关闭水阀,与云端和检测端ESP32进行交互。

(3)Blinker云平台;在APP上实时监测相关数据,远程控制浇灌与水阀总开关。

使得整个系统有实时监控和较为及时的控制系统等功能。硬件流程图如图2所示。

图2 定点灌溉系统硬件流程图

2 硬件组成和设计

2.1 通讯模块设计

上位机与下位机和下位机与下位机的通讯采用是WI-FI通信。上位机采用的是Blinker APP实现快速搭建应用层,实现数据实时化;下位机采用ESP32自带的无线网络模块,免去传统MCU需要额外增加通讯模块的不便,有效降低成本,且控制方便。虽然ESP8266具有价格优势但ESP32是双核80 MHz至240 MHz CPU,而ESP8266是单核CPU,运行频率仅80 MHz,且ESP32有更快的Wi-Fi,可更精准、快速地进行控制和数据传输。

2.2 土壤湿度计检测模块

检测土壤湿度的模块采用的是MK011169电容式土壤湿度计检测模块,供电范围为3.3 V ~ 5 V DC,这款电容式土壤湿度传感器区别于市面上大部分的电阻式传感器,采用电容感应原理来检测土壤湿度。

检测模块的输出值为0 ~ 300% RH是干土壤,300%~700% RH是湿土壤,300%~950% RH则为水。

其原理为:由于板件周围湿度条件改变,使得板件聚合物外膜相对介电常数与电容量变化。

避免了电阻式传感器易被腐蚀的问题,延长工作寿命,降低因传感器腐蚀导致的数据偏差而发生的误操作概率。

土壤湿度计检测模块PCB图如图3所示。

图3 土壤湿度计检测模块电路图

2.3 电机驱动模块

电机驱动采用的是A4950,输出电压可达12 V,保证灌溉模块正常运行。相较于L298N模块体积更小、更便捷、能耗低高性能。灌溉模块是小型水泵,通过控制ESP32的IO口输出的PWM调节电机驱动输出电压,从而控制水泵水流大小,满足不同的灌溉需求,若采用继电器则无法控制水流大小。A4950电路PCB图如图4所示。

图4 A4950模块PCB图

2.4 电源模块设计

电源采用12V大容量锂电池作为系统电源,电源为直流电,其中ESP32的供电是通过LM2596S DC-DC降压模块将12 V电压降压到5 V电压保证ESP32正常工作。防止不同电源的不同功率、电流对整个系统的影响,提高系统的稳定性。电源模块的电路原理图如图5所示。

图5 电源模块原理图

2.5 数据采集

土壤湿度计检测模块和一体电磁阀流量计的数据采集用ESP32外设的DMA模式,该模式可在不中断主函数正常运行的情况下获取湿度数据和水流量计数。不采用中断模式是防止不断中断主函数导致云平台控制延迟等不良影响,优化系统效率。一体化电磁阀流量计PCB图如图6所示。

图6 电源模块原理图

2.6 主控模组

主控模组采用的是ESP-WROOM-32,芯片核心是ESP32-D0WDQ6,ESP32具有双核CPU高性能,是—款通用型Wi-Fi+BT+BLE MCU模组,功能强大,用途广,用于低功耗传感器网络,具有可扩展、自适应的特点。两个CPU核可被单独控制或上电。时钟频率调节范围为80至240 MHz。用户可切断CPU电源,利用低功耗协处理器来监测外设状态变化或某些模拟量是否超出阈值。ESP32集成了丰富的外设,包括高速SDIO/SPI、UART、I2C、I2S、DAM、DS卡界面、以太网接口、电容式触摸传感器、霍尔传感器、低噪声传感放大传感器等外设。该模组有多种复位保护措施,较强的移植以及拓展性。综上,该模组完全满足本系统的需求,因此选择了这款模组。

ESP32的Wi-Fi模块有三种工作模式:

(1)STA(Station)模式:配置函数为WiFi.mode(WIFI_STA),ESP32连接到接入点,通过路由器或热点链接到互联网,实现移动端或PC端对模组的远程控制与监控。

(2)AP(Access Point)模式配置函数为WiFi.mode(WIFI_AP),ESP32作为模组作为热点,接受设备连接,组建局域网,实现多个设备之间的通讯;

(3)STA+AP(Station+Access Point)式:配置函数为WiFi.mode(WIFI_STA_AP),模组作为接入点和连接到另一个接入点的站点,STA模式和AP模式共同运行,实现互联网和局域网的无缝切换,提高系统工作效率。ESP32的PCB图如图7所示。

图7 ESP32的PCB图

2.7 Blinker云平台

使用Blinker作为物联网接入方案。Blinker在上位机端提供了APP、网页端支持,可进行云服务数据传输;在下位机端提供相关函数库。ESP32属于Arduino生态的一部分,而Blinker提供Arduino库函数,使用便捷。用户可在Blinker APP上远程实时监测系统数据,且可以实现远程操作。监控步骤:主ESP32采集土壤湿度与数据处理、数据包上传到云端和控制总水阀的次级ESP32、云端接收到数据包和ESP32接收数据后进行判断是否开阀、云端和次级ESP32反馈数据包回到主ESP32。Bliker APP软件端界面如图8所示。

图8 Blinker APP端界面

3 项目基本应用场景

可安置在农场、果园、家庭等植物需要浇灌的场所。对缺水的植物进行自动浇水,在Blinker APP上实时监测数据、远程控制浇水和开启总水阀,自动和主动浇水两个模式保证了系统稳定性,当自动浇水模式失效时,可使用主动模式进行辅助,防止植物因系统失效而缺水。系统初步实物图如图9所示。

图9 初步实物图

4 项目的科学性与实用性

4.1 预防性与定点性

以ESP32模组为核心实现对土壤湿度的监测与定点性灌溉。当某部分土壤湿度低于阈值时则对该区域执行针对性、定点性灌溉。若在没有发生灌溉的情况下流量计计数值增加则自动关闭总水阀,预防漏水。当自动灌溉模式失效时可使用APP端远程控制进行主动灌溉。

4.2 云端交互控制与实时性

用户在云端APP上实时监控相关数据,可远程对灌溉模块与水阀开关进行控制;

5 项目的应用价值与转化前景

在农场上经常出现不同区域的植物有着不同的灌溉需求,但目前市面上的农业机械化系统绝大多数都是执行统一灌溉的模式,无法对特定的区域进行针对性灌溉,致使植物无法获得更优良的生长环境,同时会造成人力物力的浪费。本项目提出采用多个灌溉端ESP32和一个水阀端ESP32组合的系统连接在Blinker APP上,实现实时监控各个区域的土壤情况、远程控制不同区域的灌溉和系统自动灌溉。解决了传统农业机械化系统统一灌溉模式痛点。

6 结 论

本项目为针对农业物联网系统的设计,提供了关于农业数据采集相关传感器、电机驱动模块等模块选

型和物联网感知层的构建,以ESP32的无线网络模块为信息传输层,使用Blinker云平台为核心的物联网应用层部署的完整解决方案。通过基于Blinker云平台的农业物联网与农业设备的交互实现远程控制,实现从采集到控制的闭环管理和数据可视化。本项目符合科技振兴乡村的发展目标,为农业物联网的应用、机械化农业、定点化灌溉的研究提供新思路。

猜你喜欢

水阀土壤湿度电磁阀
CLDAS土壤湿度产品适用性评估
闭环控制演示仪
开阀放水喽
火力发电厂常用电磁阀浅谈
上汽大众车系诊断思路(36)
基于PLC的工厂加水控制系统的设计与实现
阜新春播期土壤湿度变化特征分析
一种小型电磁阀的控制电路设计与Multisim仿真
基于GNSS—R的土壤湿度反演研究
一种全自动控温智能水阀的设计