基于LoRa无线传输的自动滴灌系统设计
2023-09-25孙若鹏刘帅帅张卫民徐江鹏
孙若鹏 权 悦 刘帅帅 张卫民 徐江鹏 郑 超
(安徽科技学院机械工程学院 安徽凤阳 233100)
近年来,“精准农业”的概念在农村普及,然而精准农业的实现主要依赖于农业灌溉技术的发展,但是目前国内灌溉的主要方式还是通过人工灌溉进行,农民的负担较大,需要根据环境和农作物的长势,经过农民主观经验分析进行灌溉,此传统方法费时费力。其次,人为观测的依据不够精准,且通过普通的灌溉方式对水资源浪费巨大,不符合当下提出的“精准农业”概念,因此,在查阅文献时,选择了滴灌的方式进行灌溉。滴灌可以使灌溉时的水流量减少,水分可以缓慢进入土壤,减少多余水分的流失。然而滴灌需要布线,在农田环境下具有很多不确定性,会引起布线困难,成本增加。
在自动灌溉的研究过程中,科研工作者取得了丰硕的成果。顾飞龙针对传统的人工灌溉因控制精度和实时性不高而造成水资源浪费的问题,提出结合传感器技术、远距离无线传输技术LoRa 和模糊控制理论,设计了一款基于LoRa 的智能农业灌溉系统,可以有效实现智能节水灌溉[1]。陈天成对于传统农业中灌溉和施肥时,产生过度浪费的问题,设计了一种基于ZigBee的水肥一体化智能灌溉系统,通过ZigBee传输数据到云平台,再利用AI专家系统根据农作物长势和环境因素分析得出最佳灌溉方案[2]。雷万荣等设计了LoRa 低能耗远距离通讯无线电台控制技术,有效减少能耗,结合彭曼公式进行灌溉范围预测,通过上位机传达控制指令给无线电台实现自动灌溉[3];郑志建对于农业节水中不合理的问题,通过对多个影响因子进行数据融合处理,进行参数融合算法设计,使得出的测量结果更准确,滴灌效果和节水性能更好[4];杨婷对于国内滴灌系统大多没有实时数据采集与分析和滴灌系统布线困难的问题,提出使用低功耗、易组网、低成本的ZigBee无线通讯技术,融合传感器数据折算成土壤湿度值作为滴灌判断依据,实现节水和提高滴灌效率[5];车守全等为使农业生产数据集成可视化,能够提供精准灌溉策略,设计了LoRa物联网网络终端和网关,并基于OPC和WINCC 设计了上位机交互系统,该系统具有较高的农业生产实用性[6]。
本文在上述研究中所提到的滴灌控制方法和无线传感策略的基础上,以STM32单片机作为控制部分为出发点,结合远距离、低功耗的LoRa无线网络通讯技术,设计一种基于LoRa无线传输的自动滴灌系统。系统通过土壤温湿度传感器、大气温湿度传感器和光照强度传感器采集数据,数据经LoRa传输,经过A/D转换到STM32,将数据分析整合,得到土壤墒情判断值,依据该值控制单片机GPIO 端口输出高低电平,通过改变电磁阀两端电平实现电磁阀通断,进行自动滴灌作业。单片机再通过LoRa 模块将数据传给上位机显示当前测量数据,并可手动控制是否滴灌。
一、硬件设计
(一)单片机控制模块。本设计选用STM32F103VET6芯片作为控制模块的核心,该芯片的工作频率最高为72MHz,采用的是ARMCortex-M3内核架构,具有出厂设置的8MHz的RC振荡器,96KB 的SRAM 和512KB 的FLASH,同时带有8 个定时器和3 个16 位定时器,串口有3 个USART 接口,2 个看门狗定时器,分别是独立看门狗和窗口看门狗,防止程序跑飞,三路12位ADC。
图1 STM32F103VET6芯片引脚图
使用STM32作为系统控制的核心,为了对农田土壤的墒情做出合理判断,因此需要编写能代替人力进行分析判断是否需要滴灌的自动控制程序,程序中包含串口数据收发、定时器中断、A/D转换模块,无线通讯模块、看门狗模块等组成部分。主要负责将各个分布在农田里的传感器采集到的各种信息进行数据处理,判断是否开启电磁阀。
(二)LoRa 无线通讯模块。LoRa (Long Range)是一种低能耗、远距离的局域网无线标准,其最远通讯距离3km,射频信号为470Mhz,通过与LoRa 智能网关通讯实现数据传输。该无线通讯技术适用于环境相对恶劣且对通讯速率要求不高的情况下。因此在农田这种影响因素多且变化较为频繁的环境下较为适用。
本文使用的LoRa模块选择ATK-LoRa-01-V3.0,该产品是ALIENTEK 推出的一款高性能、体积小,功耗低的LoRa 无线串口模块。模块采用SX1278扩频芯片,通过ISM频段进行射频,工作频率通常在410Mhz~441Mhz,有32 个1Mhz 频率的步进信道。使用LoRa 无线网关配合执行装置和采集装置,通过农业无线网,可以远距离采集和监测数据,实现控制需求。
在本设计中LoRa 选择星型组网方式,该方式具有结构简单,维护方便、扩展性强的特点,且网络延迟小,传输误差率低。
图2 SX1278电路连接图
(三)其他硬件。
1.LoRa智能网关。负责将传感器采集到的数据,上传至互联网,通过LoRa无线通讯方式,收集土壤温湿度、光照强度、大气温湿度等参数,以RS232、RS485或者以太网等通讯方式,上传到农业物联网云平台。
图3 LoRa网关
2.执行装置。本设计中执行装置选用电磁脉冲阀,最多可并行连接32个无线控制终端,配合节流阀,流量计、水泵等控制滴灌的开启与关闭。
3.传感器采集装置。本设计中依据在农作物生长中影响最大的土壤温湿度、大气温湿度、光照强度等环境因素设置传感器, LoRa模块可以使之低功耗运行,一分钟上传一次数据,自带电池适用于大规模组网。
二、软件设计
(一)WSN传输优化算法设计。
1.代码设计。对于整个自动滴灌系统设计采用传感器采集数据,通过LoRa模块进行数据传输,但对于传输过程中可能存在传感器覆盖面积小,采集数据不全面等问题,提出使用一种果蝇优化算法来增加传感器的覆盖率。
果蝇优化算法(Fruit Fly Optimization Algorithm, FOA)是受到果蝇觅食行为启发的一种新兴的群体优化算法,他的运行过程是模仿果蝇从用嗅觉随机搜索固定范围内的食物信号,当其接近食物的位置时,群体会根据味道浓度通过视觉一起向食物飞去,最终找到食物,实现整个算法的运算。FOA 实现对解空间的群体迭代搜索,且原理简单,操作易于实现,具有较强的局部搜索能力[7]。以下是果蝇优化算法的具体步骤。
①首先初始化果蝇群体规模为Sizepop,迭代次数最大值为Maxgen,然后随机初始化果蝇群体所在位置,初始化果蝇算法的参数,初始化WSN的相关参数。
②初始化果蝇群体位置后,为了让果蝇能够利用嗅觉搜寻食物,再赋值予每个果蝇随机的距离和方向。
式中,i代表第i个果蝇的个体,step代表果蝇向外搜索的步长,rand为0-1之间的随机数。而step的数值,在基本果蝇优化算法中为1。
③但因为具体目标食物的位置,果蝇群体无法直接获知,所以需要设定一个值,即算法中先假设第i个果蝇与初始远点的距离(Dist),而后再计算味道浓度的判定值(Si),该值设定为距离的倒数。
④把得出的气味浓度判定值Si代入进判定气味浓度值的函数(适应度函数)中,找到具体的果蝇个体位置浓度(Smelli)。
⑤找出果蝇群中气味浓度最大的果蝇个体(寻找最优个体),还有其对应的浓度值。
⑥保留果蝇个体中最佳的味道浓度值和对应的X_axis,Y_axis坐标,判断是否这次迭代的最佳味道浓度值比上次最佳味道浓度值好,如果是,那么果蝇群体则通过视觉飞向该位置。
⑦重复执行步骤②至步骤⑤,进行迭代寻优过程,然后比较当前位置果蝇个体的最佳味道浓度值是否优于上次迭代的最佳味道浓度值,若优于,则继续执行步骤⑥。
因此可以看出在无线网络传输模型里,果蝇优化算法需要的优化函数,即浓度判断函数,从原理上说就是WSN网络覆盖优化模型的目标函数。为了得到目标监控区域内的节点覆盖率,其判断模型为:
其中,M×N为监控区域范围内设置的网格点,如果网格节点能被传感器节点覆盖,则该节点就被监测到;∑Scov为成功覆盖的网格点总数。
2. 仿真参数的设置和仿真结果分析。仿真依托于MATLAB R2015b 软件,通过建立数学模型搭建仿真代码,经过10次仿真,并得出仿真图形。仿真设置如下,对FOA实验部分参数设置:部署监测区域为60×60,设置试验网格点为0.4×0.4,果蝇个体的搜索步长设为0.3,果蝇的种群规模设置为25,总共预迭代次数设为500,而rs=6为传感器的感知半径。
通过10次仿真,结果如表1,从表中可得到最佳的覆盖率:初始果蝇算法优化的覆盖率只有74.6%,在经过500 次迭代之后,最终果蝇优化算法实现的覆盖率可以达到96.41%,提升了21.81%,充分表现了果蝇优化算法的优越性,提高了在WSN中的传感器覆盖率。
图6 FOA-WSN覆盖率初始结果
图7 FOA-WSN覆盖率最终结果
图8 算法训练过程
从算法训练图中可以看出,FOA算法具有高效性与稳定性的特点,有效地增大了传感器采集的覆盖率,提升了数据传输的完整性和准确性。
(二)单片机程序设计。为了实现自动滴灌系统所需的功能,要编写相应的单片机控制程序,程序的编写选择使用Keil MDK5软件,程序里用到的功能模块有用于采集数据后传输的串口收发模块USART,数据转换的A/D 模块,定时滴灌的TIM定时器中断模块,还有用来执行指令的GPIO输入输出模块等。
在程序设计中,需要先初始化外设硬件各个功能模块,包括配置GPIO口、清理USART串口数据、系统时钟设置、显示屏设置、LoRa模块配置等。通过调用库函数来配置各个寄存器的参数,通过直接操作寄存器来实现相应的功能。
首先将数据采集需要通过A/D转换信号,再把采集来的数据通过聚类算法进行分析整合,综合判断后,再控制定时器模块开启或关闭电磁阀,可设置滴灌时长,通过直接控制GPIO口输出电平的高低控制电磁阀的通断,实现自动滴灌作业。为了防止程序跑死,使用了独立看门狗模块作为程序监控。同时,采集的数据将实时经过USART串口反馈到上位机上显示,观测人员可以直观地了解到当前环境的土壤墒情情况,也可人工控制上位机直接下达指令,实现人工滴灌。
图9 系统程序流程图
程序的主要流程如下:首先选择作业模式,分为手动和自动滴灌模式。自动滴灌模式下可以实时采集数据,对数据聚类分析,拟合成土壤墒情值,结合灌溉标准实现电磁阀自动开关;手动模式下,可以手动选择打开或关闭电磁阀。
三、上位机的设计
为了方便作业人员观测,本文基于VisualTFT 设计了一种操作简单、控制方便、监控直观的检测系统。在该操作系统中可以直观监控检测区域内的环境数据,包括土壤温湿度值、大气温湿度值和光照强度值,这些都是影响土壤墒情的重要因素。在设计的基础界面内可以显示这些影响因素的数值,还有当前电磁阀的开启状态、滴灌持续时间等。该系统也具有两种操作设置,在屏上手动切换滴灌模式,并可设置滴灌时间。
四、结论
基于LoRa无线通讯传输的通讯模式可以使上位机和单片机超远距离传输数据,且能量的损耗率低,可以有效减少布线数量和电能消耗,提高滴灌系统的整体效率与系统稳定性,节约了很多人力和时间。
果蝇优化算法有效地提高了在现场监控区域内传感器的覆盖率,使传感器的设置数量可以最大限度降低,有效节约设置的成本。且覆盖率的增加可以实现监控区域的全覆盖,不漏过任何一个需要监测的位置,保证数据传输的准确性和完整性。
上位机选择触控屏显示,可以更方便的让工作人员检测到农田检测区域内的状况,直观地反馈各种数据,并能及时让监测者了解到农作物此时的缺水状态;同时还可以设置滴灌模式,自动滴灌设置可以随时监控农作物是否需要滴灌,节省人力;手动滴灌设置则可以人为选择是否进行滴灌。并可得知电磁阀的开启状态和滴灌时间。
综上所述,本文设计的基于LoRa 无线传输的自动滴灌系统可以很好地实现对农作滴灌的精准控制,有效减少人力物力,提高农作物产量,符合智慧农业、精准农业的需求。