基于OneNET物联网云平台智慧农业灌溉系统设计与实现

作者: 孟晓杰 汪文明 夏馨 杨文磊 刘豪杰

基于OneNET物联网云平台智慧农业灌溉系统设计与实现0

关键词:OneNET云平台;传感器;智慧农业;灌溉系统

中图分类号:TP399 文献标识码:A

文章编号:1009-3044(2024)21-0101-03

0 引言

我国是一个水资源短缺的国家,水资源时空分布不均[1-2]。随着城市化进程不断加快,农田灌溉用水占总用水量的比例不断降低,缺水已成为农业可持续发展的制约因素。然而,我国农业用水仍存在很大的浪费,灌溉定额也偏高,部分灌区的灌溉定额高出作物实际需求的2-5倍。主要灌区的渠系水有效利用系数仅为0.53,比发达国家平均水平低0.26[3]。现阶段较为成熟的渠道防渗技术、喷灌技术、微灌技术等已在农业基础建设中取得一定成果。然而,我国灌溉技术的监测、调控管理水平仍滞后,尚缺乏量化指标和配套集成技术,与国外先进技术存在较大差距。随着物联网技术和无线通信技术在各领域广泛应用,基于信息化手段的智慧农业系统也吸引着研究者的关注[4-6]。因此,通过采用物联网、人工智能等新一代信息技术设计智慧农业灌溉系统,实现智能化监测与精准灌溉,对解决水资源灌溉利用率低下等问题具有重要意义。

1 系统框架

本系统参照物联网的三层架构,分为数据获取层、数据传递层和终端应用层[7],系统架构如图1所示。

在数据获取层,利用温湿度传感器获取实验农田数据,并由ESP32 MCU核心模块进行处理。在数据传递层,将处理后的数据打包并采用Wi-Fi通信方式将其上传至OneNET物联网云平台[8-9]。在终端应用层,云平台对接收的数据进行分析、处理和决策,并使ESP32 MCU 执行相应的操作。应用层提供可视化界面,实时展示农田环境数据,用户可以通过PC端和小程序移动终端实时查看和操作。

2 系统设计

系统数据获取层的作用是通过传感器采集农田环境数据(如土壤温湿度、气象数据等),并上传至物联网云平台,最后根据平台下发的控制信号执行相应的操作,以实现精准灌溉和提高水资源利用率。

系统数据获取层的工作流程如图2所示。数据采集终端完成初始化之后,ESP32模块开始工作,控制温度模块、土壤湿度模块和光照模块对农田环境进行实时监测。根据农田中种植物品种特性设定农作物最佳生长环境数据值,并在合理预设值范围之内持续监听检测,将数据值传回OneNET平台,直至超过阈值启动相关设备。小程序连接云端,用户终端可以通过小程序和云端查看农田的实时数据。

2.1 处理器的选择

ESP32主板内置Wi-Fi通信模块,并且具有强大的处理能力和丰富的接口,同时能够轻松实现无线通信和低功耗设计,因此本系统选其作为微处理器。

ESP32主板搭载了双核心的Tensilica LX6微处理器,主频高达240MHz,具备较强的计算和处理能力,可以满足本系统的设计需求;集成的Wi-Fi模块,支持802.11 b/g/n协议,能够通过无线网络进行数据传输,实现远程控制和监测。ESP32主板在处理性能方面表现优良,并且能够挂载丰富多样的外设资源能极大地满足本系统的实验需求。

2.2 传感器的选择

传感器是本系统硬件控制部分的核心部件,采集的数据也是系统运行的基础。因此,在本系统中,传感器的选择至关重要。由于需要采集农田中的环境数据,传感器的选择主要取决于监测对象的种类、量程、精度以及地理环境对传感器的工作影响。考虑到数据采集的准确性和可靠性,系统选取的器件如表1所示。

另外,在智能灌溉方面,本系统采用继电器驱动电机进行抽水工作。继电器由MCU直接控制,MCU通过传感器提供的环境参数来决定是否启动继电器进行灌溉工作。具体灌溉情景根据实际场景所需决定采用何种灌溉方式,如漫灌、集中式喷灌和滴灌等。本系统采用集中式喷灌,可有效提高水资源利用率。

2.3 主要硬件模块

2.3.1 DS18B20温度传感器模块

DS18B20是一种改进型智能温度传感器,具有高可靠性,在测量精度、时间效率、长距离传输和分辨率等方面表现出优异的特性。其内部含有EEPROM,通过配置寄存器可以设定数字转换精度和报警温度,模块在断电后仍能存储分辨率及设定的报警温度阈值。在农田环境中,DS18B20温度传感器模块内置高温系数晶振和低温系数晶振,随温度变化两者震荡频率明显不同,系统通过两者变化的脉冲计算出当前温度。

2.3.2 土壤湿度传感器模块

本系统采用的湿度传感器为土壤湿度电容式传感器,其原理图如图3所示。该传感器利用电容感应原理进行农田土壤湿度检测,与传统的电阻式传感器不同,能够有效解决电阻式传感器易被液体腐蚀的问题,从而大幅延长其使用寿命。传感器内置稳压芯片,支持3.3-5.5V宽电压工作环境,这意味着即使在ESP32主控板上,也能够正常工作。

2.4 软件设计

基于MicroPython环境,采用ESP32开发板作为硬件平台,使用Thonny软件,采用Python语言进行开发。通过MQTT协议和ESP32自带的Wi-Fi模块,将测得的数据上传至OneNET平台,并且可以通过微信小程序便捷查询农田实时状态。

首先,使用Wi-Fi Connect() 函数连接Wi-Fi网络,定义消息发布的主题(TOPIC1),定义客户端ID(CLIENT_ID),用户名(user_name),以及用户密码(user_password)。用户可以根据自己的需求去修改OneNET平台信息。其次,指定OneNET平台的服务器的IP 地址(SERVER)和端口号(PORT),创建一个MQTT客户端实例(client),并使用connect()方法连接到OneNET平台。通过DS18B20不断获取监测到的空气温度(temp),通过ADC 转换获取监测到的土壤湿度(wet)。最后,构建JSON格式的消息体(mymessage),将空气温度和土壤湿度作为数据流上传至OneNET平台,并使用publish()方法发布消息到指定的主题(pub⁃lish_TOPIC1)。系统与小程序逻辑代码如图4所示。

3 平台设计与实现

OneNET云平台支持多台设备接入。本系统中的设备通过ESP32接入协议MQTT,并利用OneNET 云平台的API接口将设备上传的数据在云端和小程序进行展示。云端界面实时监听设备状态和数据变化。同时,本系统设有报警功能,当设备数据满足预定条件时会触发报警(例如蜂鸣器打开或者水泵关闭)。数据上传至OneNET云平台和小程序通过设备与云平台之间建立的连接实现,提供数据分析功能。用户可以利用数据分析工具和算法对设备上传的数据进行分析,获取有关设备性能、趋势和异常情况的洞察,为决策提供支持。

利用OneNET云端平台提供的开发工具包和接口进行二次开发(如图5所示),用户程序按照 JSON 格式与OneNET透传云交互,接收相应的数据。服务器向设备主动发送读取指令,设备返回数据,完成解析、存储、报警等功能,并发送反馈信息的指令完成智能控制。

为了及时掌握数据变化,结合云平台进行微信小程序的开发,移动端可以实时监控实验数据的变化,实现农业精准灌溉。该程序实现了数据的可视化,使得移动端和PC端可以同步对接,用户可以实时查询各种传感器的数据变化,并根据阈值接收报警信息,如图6所示。

4 结论

针对现如今农业灌溉存在的智能化程度相对较低的问题,设计并实现基于OneNET物联网云平台智慧农业灌溉系统。本系统集成了多种传感器,进行环境数据采集并将获取到的数据结合云平台进行数据更新处理与决策,且可通过移动终端或PC端查看数据动态变化,有效实现了提高农业灌溉的智能性和精准性,该系统的实现在一定程度上对水资源的节省提供了可行性方案。

经典小说推荐

杂志订阅