【《果园灌溉软件平台设计与实现案例》4900字】_第1页
【《果园灌溉软件平台设计与实现案例》4900字】_第2页
【《果园灌溉软件平台设计与实现案例》4900字】_第3页
【《果园灌溉软件平台设计与实现案例》4900字】_第4页
【《果园灌溉软件平台设计与实现案例》4900字】_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

果园灌溉软件平台设计与实现案例目录TOC\o"1-3"\h\u19300果园灌溉软件平台设计与实现案例 1250181.1软件平台整体结构 1258931.1.1开发语言和开发工具 255791.1.2数据库设计 4267741.2软件平台功能设计 6168171.2.1数据显示模块 77331.2.2预测模块 9222871.2.3控制模块 11234911.3系统应用 14主要设计了果园灌溉软件平台,将第3章、第4章建立的预测模型与控制模型进行实际应用,通过软件平台实现对果园的远程监控,实时查看环境数据,远程控制电磁阀的开和闭,从而实现智能灌溉控制。本章最后,将本文设计的软件平台应用到苹果园中,将智能灌溉与传统灌溉进行试验对比分析,验证智能灌溉的优越性。1.1软件平台整体结构果园灌溉软件平台的目的在于实现果园的智能化灌溉。将果园中传感器测得的数据上传到数据库中,实现数据信息的共享,并由Web端调取数据库中的数据进行数据可视化。通过软件平台的智能决策功能,精准计算出灌溉时长,进而远程控制电磁阀的开启关闭,不仅可以节约大量的水资源,还可以根据果树的需水规律进行灌溉,从而提高产量。如图5-1所示为果园灌溉软件平台结构。图5-1果园灌溉软件平台结构Fig.5-1Orchardirrigationsoftwareplatformstructure果园灌溉软件平台主要包括三部分,分别是后台服务器、数据库和Web页面。后台服务器有两部分,一个是由Java语言编写的控制后台,主要提供数据解析、远程通信和指令下发等功能;另一个是由Python语言编写的预测后台,其主要功能是进行蒸腾量预测、灌溉时长的计算和控制策略的制定,两者都对数据库进行数据的写入和读取操作。数据库作为整个软件的数据中心,里面存储着各种数据,后台服务器和Web页面可以调用数据库中存储的各种数据。Web页面的主要功能是对数据库中的数据进行可视化操作,方便用户的访问和查看。1.1.1开发语言和开发工具本文果园控制后台使用Java语言进行代码的编写,使用的开发工具为IntelliJIDEA(简称IDEA)。运用SpringBoot框架,进行基础逻辑的处理、HTTP链接的控制、总体切面的管理及程序运行错误时异常的抛出。Web端使用了Vue技术进行页面的编写,运用ElementUI框架进行界面的展示。如图5-2所示为IDEA开发环境。图5-2IDEA开发环境Fig.5-2IDEAdevelopmentenvironment本文所用到的预测算法和控制算法是由Python编写的,Python中具有丰富的类库,使用者不需要了解底层复杂的处理逻辑,只需要调用封装好的库,就可以进行程序的编写,使用方便。Python作为一种成熟、稳定、完善的通用性语言深受广大编程者喜爱。本文预测算法主要包含以下四个部分:数据预处理部分、网络结构部分、网络训练部分和数据可视化部分。其中数据预处理部分主要使用了pandas、numpy和sklearn包将序列数据转化为监督数据;为了快速高效的搭建网络,本文基于Keras框架实现了网络结构部分和网络训练部分;最后通过内置于Python且功能强大的matplotlib绘图库进行数据的绘制,实现数据可视化部分。对于控制算法,首先利用pipinstallscikit-fuzzy语句在Python环境中装入模糊控制库,然后就可以在Python环境中进行模糊逻辑编写,建立模糊控制模型,通过模糊控制模型计算精准的灌溉时长。如图5-3所示为Python开发环境。图5-3Python开发环境Fig.5-3Pythondevelopmentenvironment1.1.2数据库设计数据库作为数据存储和数据管理的工具,可以实现数据的共享,有效的避免了数据冗余的现象。数据库不仅存储结构稳定,操作方便,而且存储的数据清晰明了,数据库的合理性能大大提高数据读取的效率。本文使用了MySQL进行数据的存放,使用Navicat数据库管理工具进行数据的查看及修改。使用MyBatis框架对数据库进行增、删、改、查等操作。为满足平台的需求,数据库设计了气象站数据表、土壤墒情数据表、蒸腾量预测信息表、灌溉设备控制表、定时灌溉任务表等。气象站数据表主要存储果园气象信息,包含气象站id、气象站名称、空气温度、空气湿度、光照强度、大气压强、降雨量等数据信息,数据表如表5-1所示。表5-1气象站数据表Table5-1Weatherstationdatatable列名数据类型是否为空约束说明weather_idintNO主键气象站idweather_namevarchar(100)NO无气象站名称temperaturedouble(10,2)NO无空气温度humiditydouble(10,2)NO无空气湿度illuminancedouble(10,2)NO无光照强度pressuredouble(10,2)NO无大气压强rainfalldouble(10,2)NO无降雨量Sun_durationdouble(10,2)NO无日照时数wind_speeddouble(10,2)NO无风速土壤墒情数据表主要存储传感器监测到的土壤数据信息,主要包括土壤id、土壤名称、土壤温度、土壤湿度、PH值等数据信息,数据表如表5-2所示。表5-2土壤墒情数据表Table5-2Soilmoisturedatatable列名数据类型是否为空约束说明soil_idintNO主键土壤idsoil_namevarchar(100)NO无土壤名称soil_temperaturedouble(10,2)NO无土壤温度soil_humiditydouble(10,2)NO无土壤湿度phdouble(10,2)NO无PH值蒸腾量预测信息表中主要存放预测算法预测的蒸腾量,选择时间可以查看某一天具体的蒸腾量数值,数据表如表5-3所示。表5-3蒸腾量预测信息表Table5-3Transpirationpredictioninformationtable列名数据类型是否为空约束说明data_datevarchar(10)NO无数据所属日期data_from_idintNO主键数据idtranspirationdouble(10,2)NO无蒸腾量灌溉设备控制表中主要存储果园灌溉信息,包括设备id、设备名称、灌溉时间和灌溉时长等,远程控制灌溉设备的开启和关闭,设备控制表如表5-4所示。表5-4灌溉设备控制表Table5-4Irrigationequipmentcontroltable列名数据类型是否为空约束说明equipment_idintNO主键设备idequipment_namevarchar(100)NO无设备名称equipment_stsvarchar(1)NO无设备状态start_timedatetimeNO无灌溉时间durationintNO无灌溉时长定时灌溉任务表中主要存放定时任务信息,主要包括任务的创建时间、节点编号、任务状态、任务的类型等信息,定时任务表如表5-5所示。表5-5定时灌溉任务表Table5-5Scheduleofirrigationtasks列名数据类型是否为空约束说明create_timevarchar(10)NO无创建时间instructionvarchar(200)NO无指令nodeintNO主键节点编号statusvarchar(1)NO无任务状态task_namevarchar(100)NO无任务名称task_timevarchar(10)NO无任务时间task_typevarchar(1)NO无任务类型如图5-4所示为数据库环境,里面存储着各种数据,以表格的形式进行展示,方便管理员进行增、删、改、查等操作,而且数据维护简单、安全。图5-4数据库环境Fig.5-4Databaseenvironment1.2软件平台功能设计如图5-5所示为软件平台功能示意图,本文中的果园灌溉平台主要包括三个模块,分别是:数据显示模块、预测模块和控制模块。图5-5软件平台功能示意图Fig.5-5Functiondiagramofsoftwareplatform数据显示模块主要显示传感器采集的气象数据与土壤墒情数据信息;预测模块中主要显示蒸腾量预测值并进行图形化显示,可以实时查看预测蒸腾量的数值,为科学灌溉提供依据;控制模块的功能是对电磁阀等设备进行开关控制,可以在定时任务页面制定定时任务。本文的软件平台针对以往果园灌溉监控平台的单一性、实时性差等问题进行了改进,系统简单、实用。1.2.1数据显示模块数据显示模块主要用于显示从传感器发送来的实时数据,首先将数据存储在数据库中,然后由Web端通过Axios技术从数据库中调用数据,将数据动态显示在页面上,方便管理员查看果园信息和管理果园。数据调用过程如下:首先发送网络请求,连接数据库获取数据;然后判断数据是否获取成功,如果获取成功,则将数据在Web端进行显示;如果没有获取成功,则重新从数据库中获取数据;然后刷新页面,判断有没有新的数据上传,如果有新数据,则接收新数据。如图5-6所示为果园环境数据获取流程图。图5-6果园环境数据获取流程图Fig.5-6Orchardenvironmentaldataacquisitionflowchart如图5-7所示为果园气象站测得的数据的图形化展示界面,主要有温度、湿度、光照强度、大气压强等数据,用表格的形式显示数据,可以方便的查看历史数据,同时用折线图进行数据趋势的图形化显示,增强数据的可读性,方便用户直观的查看数据的变化情况。如图5-8所示为传感器测得的土壤数据指标,主要包括土壤温度、土壤湿度、PH值等数据,用表格显示具体数据值,用折线图展示数据的变化情况。图5-7气象站数据显示页面Fig.5-7FunctionDiagramofSoftwarePlatform图5-8土壤墒情数据显示页面Fig.5-8Displaypageofsoilmoisturedata1.2.2预测模块蒸腾量的预测由预测模块完成,由于在Python环境中已经装好了pymysql驱动,所以Python可以直接访问数据库中的气象数据和土壤墒情数据等信息。首先创建连接,保证Python可以连接到数据库;其次执行查询操作,获取需要的数据;然后将获取的数据输入Attention-LSTM预测模型进行预测,输出预测值;最后将预测值存入数据库中,Web端调取预测数据进行显示。如图5-9所示为预测模型实现流程图。图5-9预测算法实现流程图Fig.5-9Flowchartofpredictionalgorithmimplementation如图5-10所示为果树蒸腾量预测页面,数据用柱形图来表示,可以直观的看到数据的变化情况,也可以选择日期查看某一天的具体蒸腾量的数据,有利于实现灌溉的精准化,同时为更多的研究者提供了大量的数据支撑,实现科学种植。图5-10果树蒸腾量预测页面Fig.5-10Forecastdataoftranspirationoffruittrees1.2.3控制模块控制模块的灌溉方式有两种方式:一种是智能灌溉,一种是手动灌溉。手动灌溉需要管理员手动的开启或关闭电磁阀;智能灌溉方式运用模糊控制,基于人类的经验并模仿人类的思维模式来控制复杂的系统,不需要用精准的数学模型描述。首先判断是否是智能灌溉方式,如果是智能灌溉方式,判断传感器测得的土壤湿度是否小于最佳土壤湿度,如果是大于最佳土壤湿度,则不进行灌溉;如果小于最佳土壤湿度,则将土壤湿度偏差与蒸腾量输入控制模型中,利用模糊控制技术计算出最终的灌溉时长,然后远程开启电磁阀进行灌溉,如果灌溉时间没有到达,则继续灌溉;如果灌溉时间到达,则结束灌溉,从而达到节约水资源,实现精准灌溉的目的。如图5-11所示为灌溉控制结构流程图。控制模块中有两个页面:一个是设备控制页面,另一个是任务中心页面。如图5-12所示为设备控制页面,主要实现对果园内电磁阀的远程控制、电磁阀开关状态的统计、灌溉时长的记录以及控制任务的处理等功能。如图5-13所示为任务中心页面,主要实现定时任务的生成,输入电磁阀的编号,选择开启关闭的时间,从而实现在具体时间段内软件平台可以自动发送控制命令,实现电磁阀的自动开启或关闭。图5-11灌溉控制结构流程图Fig.5-11Flowchartofirrigationcontrolstructure图5-12设备控制页面Fig.5-12Devicecontrolpage图5-13任务中心页面Fig.5-13Taskcenterpage控制模块硬件部分主要包括电磁阀门控制器、LoRa无线网络、电磁阀门和电源。其中电磁阀门控制器主要对电磁阀门执行开启关闭等控制操作;LoRa无线网络实现与网关节点的网络通信,并接收和解析网关下发的控制命令来完成控制等相关任务;电源主要为电磁阀门控制器、LoRa无线网络和电磁阀门进行供电。本文的电磁阀门选择的型号为2W-025-08,支持AC220V、DC24V、DC12V三种供电方式,而且是全铜制造、抗压能力强、性价比高、价格便宜。如图5-14所示为控制模块工作流程,首先对各个设备进行系统初始化;其次连接LoRa无线通信网络,进行数据指令的上传下达;接着监听网关发送的指令信息,当监听到控制指令时,对电磁阀执行开启关闭等动作,如果是打开电磁阀门指令则打开电磁阀进行灌溉,当灌溉时长到达后则关闭电磁阀;若为关闭电磁阀门指令,则直接关闭电磁阀即可。若电路检测到阀门状态发生改变时,则将电磁阀门的状态进行上传,当收到网关的反馈信息后,则再次进入进行控制指令的监听。图5-14控制模块工作流程Fig.5-14Workflowofcontrolmodule1.3系统应用为了检验本文提出的灌溉方法的优越性,在2020年4月份到2020年12月份进行了现场实验,如图5-15所示为果园所用传感器的安装,本文的实验对象为山西运城的苹果种植园实验基地,种植年限为8年,实验田面积为10亩,株行距为3m左右。在果园中,电磁阀门控制器有一个,用来对电磁阀门执行开启关闭等操作,共有3个电磁阀来接收指令并进行相应的灌溉操作。本文的实验将果树分为两组:一组为智能灌溉田,一组为传统灌溉田。为了强调两组实验的对比性,在果树生长阶段要保证两组果树在同一时间内使用相同种类,并且等量的肥料与农药,实验田使用智能灌溉控制系统,对照田使用传统的灌溉方式。最后从灌溉量、平均果实重量、总产量、果实的横纵径来验证灌溉方式的优劣。a)太阳能板b)温湿度传感器a)Solarpanelsb)Temperatureandhumiditysensor图5-15现场传感器安装Fig.5-15Fieldsensorinstallation如表5-6所示为智能灌溉和传统灌溉的灌溉量、果实平均重量、总产量之间的对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论