基于Arduino的自动浇水系统设计_第1页
基于Arduino的自动浇水系统设计_第2页
基于Arduino的自动浇水系统设计_第3页
基于Arduino的自动浇水系统设计_第4页
基于Arduino的自动浇水系统设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGEII基于Arduino的自动浇水系统设计摘要随着经济的发展和人们生活水平的不断改善,越来越多的家庭种植盆栽花卉。但是,由于人们工作繁忙,往往无法及时浇灌盆栽,影响其正常生长,同时,人们在浇灌时往往凭借经验进行,导致浇灌不科学,直接影响植物生长,造成水资源浪费。关键词:盆栽;浇灌;时间序列;Arduino

目录摘要 I1前言 12相关技术简介 22.1Arduino简介 22.1.1Arduino的结构与工作原理 22.1.2Arduino的软件编程 32.2传感器简介 52.6.1土壤湿度传感器 52.6.2空气温湿度传感 63系统设计 73.1系统总体架构 73.2系统流程 93.3系统模块设计 103.3.1系统数据采集与反馈控制模块设计 103.3.2系统智能分析与控制模块设计 123.3.3系统异常报警控制模块设计 164系统实现与测试 164.1时间序列预测方法在智能浇灌系统中的应用 164.1.1土壤湿度预测 164.1.2盆栽耗水量预测 164.2系统数据库设计 174.3系统连接与配置 194.4系统实现效果 224.4.1盆栽信息一览页面 224.4.2植物信息管理页面 224.4.3用户设置页面截图 235结语 24参考文献 25PAGE211前言传统的供水方式主要有:恒速泵加压供水、气压罐供水、水塔高位水箱供水和基于单片机的供水系统等方式。恒速系加压供水模式中,水泵的工作方式多为工频50此下定速旋转模式,设计理念一般选用大容量水泵并使其工作在高效区,而实际情况并非如此,水泵常常无法达到设计时的工作效率和质量,因此造成系统资源的浪费,同时损害设备的性能。恒速泵加压供水方式不能对用户管网的水压做出相应的调整,系统自动化程度较低,很大程度上依赖于人工操作。为保证用户充足的供水要求,系统经常处于超负荷运行状态,导致系统效率低下。当用户用水需求不高时,管网超皮,易发生爆损并且引发水锤效应,是目前不太采用的供水方式。气压罐供水方式的优点是方法简单、占据空间较小。对高度要求不高。但这种供水方式的调节量范围较小,且电机的启动频率较商,多为硬启动方式,因此对电气设备要求较为苛刻,同时停泵的压力较高,导致出水压力的增高,水泵处于低效段状态,造成资源的过度浪费,从而制约了其进一步的发展W。水塔高位水箱供水是用于高层建筑供水的一种供水模式,它的优点是控制方法简单易懂,短时间内的维修时可停电不停水。缺点是前期建设的所需的资金较多、占地面积较大、系统的维护工作较困难。并且水泵电机的启动频率高,且为硬启动模式,因此联轴器很容易被损坏。较上述几种供水方式而言,基于单片机的供水系统做了相应的改进。在单片机供水方式中可做到变频调速,因此其自动化程度相对来说有了一定程度的提高。但其不足在于系统需要较长的开发周期和高素质的专业操作人员,可靠程度不高且维修不方便,并对恶劣的工业环境适应性不强。为解决传统供水方式存在的各种问题,减少资源浪费、提高供水的质量和品质,满足用户对供水的需求,必须对传统的供水方式做出相应的改进和调整,通过寻求新的供水设备来设计一套性能更加可靠、资源利用率更高、自动化程度更加先进的供水系统。目前,供水系统遍布全国各地,从我国现有的供水系统来看主要存在以下几个主要的问题。首先是供水系统中的设备达不到要求,很少有先进成熟的供水控制设备占领市场,国内供水系统投入较少,不按要求选取设备,系统受到设备和元器件可靠性和寿命困扰。其次,系统的设计水平不离,一些供水系统只能实现单纯的供水功能,为用户提供生活和工业用水,无法实现系统的恒压供水功能,用户无法享受高质量的供水,并且系统的稳定性和可靠性有待提高。中国的自动灌溉系统发展缓慢,目前发展来看,还是从学习国外技术,消化汲取营养,慢慢的从没有到出现,从出现到慢慢被重视,慢慢的学习的过程,逐渐被大家关注和接受认可,也带领着大家一起学习。在上个世纪八十年代中期,福建省引荐了当时世界上灌溉水平最优秀的一套灌溉系统,引进于美国,非常有效的提高了我们国家对于灌溉系统的认识,显著的改善了我国灌溉设备的发展。在二十世纪末,我国灌溉使用微灌设备的面积就接近3万公顷,经过改革开放后20多年的不断学习,我国在学习和引荐其他国家的灌溉的优秀先进的地方不断的学习积累经验,也为我们国家自己研究和发展灌溉甚至突破灌溉系统提供了坚实的基础,做了良好的铺垫。本世纪的十几年,特别是最近十年来,我国更加重视农业的发展,国家也更加需求农业的突破,在政府的大力支持下,我国更加重视节水和农作物的生长,自动灌溉因此迅速蓬勃发展,尽管最近几年的发展十分迅速,但是整体来看,水利用率还是比较低,灌溉系统特别是自动灌溉技术还很有限,处于学习阶段。综合宏观,我国与国际农业发展靠前,特别是自动灌溉技术靠前的国家还有如下距离:1.营养液需求方面,我们没有做到自动控制,不能按照比例混合,依然还要依靠人力物力,运用一些传统的运输工具或者人工逐渐的给予施肥,很大程度上浪费人力物力和时间。2.没有自己创新创造的成品,处于引荐阶段,除了引荐的少部分先进的产品,我们运用于农作物的依然是传统的设备,没有突破,缺少创新。3.天气气候之类的外部因素不能被考虑,灌溉依然处于单一的控制上。4.投入较少,没有先进团队,靠的还是以前的落后的灌溉方法,和发达国家,以色列等国家有明显距离。总而言之,我国与先进灌溉技术国家的差距很大,十分明显,包括技术方面,包括人力投入专业学习方面,设备上,以及态度认识上都还很欠缺,面对中国经济的发展,人口的增多,国家对于灌溉的需求上,我们还有很长的路要走。人类文明的进步一定离不开农业,粮食是人类生存的根本,是文明的基石,是所有创造和创新的基础和可能,因此农业的发展,也必然是不可或缺的。然而农业的发展也一定离不开教育,农业的发展一定离不开科学的支持。在传统的农业发展中,我们的先辈作出了非常多的努力,他们辛勤的耕耘才有了现代美好的生活。社会在进步,人口在增长,我们先辈留下的传统灌溉却远远不能满足当代的农业需求。我们水资源的紧缺也迫使我们作出更过的改变突破和可能。传统灌溉总是离不开农民的辛苦,如今的发展便是有着解放农民的重任,更有造福后代的使命,是节水的必然选择,是可持续发展的必然结果。所以,为了提高产量,解放劳动力,节约用水,我们势必走上发展的道路——自动灌溉。节约水资源,节约能源是发展的必然需求。如今的灌溉有了科技的帮助,可以打程度的提高农业的生长,提高农作物对水的吸收,更加全面的提高了产量,方便了管理,实现创新和创造,降低了人力物力成本,也更加促使了大家学习科学知识,学习农业,为社会不断进步和突破不断奉献的意识。目前,供水系统遍布全国各地,从我国现有的供水系统来看主要存在以下几个主要的问题。首先是供水系统中的设备达不到要求,很少有先进成熟的供水控制设备占领市场,国内供水系统投入较少,不按要求选取设备,系统受到设备和元器件可靠性和寿命困扰。其次,系统的设计水平不离,一些供水系统只能实现单纯的供水功能,为用户提供生活和工业用水,无法实现系统的恒压供水功能,用户无法享受高质量的供水,并且系统的稳定性和可靠性有待提高。设计智能盆栽浇灌系统产品有三项创新意义。(1)市面上的产品均以大型浇灌设备为主,价格昂贵且安装工程大,一般浇灌设备没有智能浇灌功能,智能盆栽浇灌系统具有自动寻找盆栽位置、计算浇灌水量以及太阳能充电功能,实现无人值守浇灌植物功能、节能环保,符合使用者需求;(2)造型时尚符合都市蜗居白领们的审美情趣,采用的湿度传感及水泵控制技术可靠性高,功能结构设计合理;(3)适合批量化生产,随着智能小家电的普及和推广,都市人群消费理念转变,智能盆栽浇灌系统应用前景广阔。2相关技术简介2.1Arduino简介2.1.1Arduino的结构与工作原理Arduino的MCU通常使用ATmega328或ATmega168,这两个都是由Atmel公司生产的8位微控制器,其他MCU还有ATmega8、ATmega1280、ATmega2560等。ATmega8一共含有6个模数转换器,也叫A/D转换器,简称ADC(AnalogtoDigitalConverter),每个ADC的分辨率为10位,也就是说其输出的离散数字信号有1024(2^10=1024)个。Arduino主板上还有几个LED,一个用于显示Arduino主板是否供电;还有两个会在通过串口接收数据或发送数据时闪烁;Arduino状态LED,与数字IO口13相连。Arduino结构如图2-1所示:图2-1Arduino结构图2.1.2Arduino的软件编程Arduino的软件开发环境非常简单,没有调试及代码自动补全等高级功能,ArduinoIDE的界面如图2-2所示:图2-2ArduinoIDE大自然总是十分的奇妙,养育着一代又一代的人民,可是大自然也不能全方位的在适合的地点适合的时间给予适合的降水,也会有自然灾害影响着农作物的生长。现代的灌溉是及时的,是能够有效解决大阻燃降水不均的弱点对农作物进行最合适的水量需求。以前闹洪灾旱灾造成很多人食不果腹,后来出现了人工降雨,着也是对于旱灾不得已的选择,很大程度上造成了浪费水资源,不能充分利用的缺点。如今的自动灌溉的出现,解决了绝大部分农作物用水上的不足之处。自动灌溉实现了农作物不缺水,不溺水,不同作物不同需求的难题,最大程度实现农作物更好更快的生长。可持续发展是近几年来非常流行的口号,自动灌溉,对农作物分类灌溉有着节能节水,节省人力物力,扩大灌溉面积,提高农作物质量的众多长处,自动灌溉是当代科技发展的必然,它被国家重视,被人民认可,前进着,慢慢的代替以往低水平的灌溉技术。在实际的应用中需要使Arduino与其它设备之间进行相互通信,Arduino可以通过串口连接与计算机进行通信,Arduino上的串口监视器按钮可以帮助使用者查看Arduino发送与回传的数据。2.2传感器简介系统硬件的设计原则如下:1.完整性原则完整性对于系统论来说,是必须的,若没有完整性,系统就像汽车只安装了一半,肯定启动不了。所以对这个设计来说也是一样,为了减少各种问题的出现,优先做到完整性,让自动灌溉能够得到更好的实现,完成相应的工作。出于谨慎,设计时的性能最好比实际要求要一些,以达到系统操作的更加完整。2.可靠性原则一个系统想要比较好的运行,也必须要要有可靠性。系统的可靠十分重要,不管是在什么时间,都要求系统能够可靠的运行。比如能不能在阳光比较大的情况下,电机不会因为高温不能工作,在下雨的时候,电机不会短路造成灌溉的不可靠。说到底就是一个系统不管有多么精密的计算,有多么先进,假如并不能进行可靠的工作,时不时的出现一些这个或者那个问题,甚至用了一两次就坏,这些对于一个系统来说无疑是失败的。因此可以看出可靠性也是一个系统得到大家认可的必不可少的一项。3.发展性原则可持续发展一直是当代文明的要求,该系统是关于灌溉方面的系统,有关于农作物也是国家发展的方向。发展性包括一个设备能够可持续的工作,不可能工作一两次就出现故障或者不能运作就有很大问题了。另外也是响应国家的政策,能够有发展的可能,能够考虑今后社会不断发展之后,系统可持续。只有可持续才是真正实现节水节能,节约人力物力时间的最重要的性质。4.经济性原则成本也是我们要考虑的重要因素,系统成本太高,那就是有钱人玩的游戏,也一定得不到广泛的运用。有些系统为了实现系统的操作,设计十分复杂的系统,设计成本非常高,这种设计理念就完全违背了经济型的原则。设计系统本身的目的就是降低成本,节能减排,减少投资,人力和物力。过多的投资只是形成不必要的浪费,复杂的设计没有过多的意义,在能够实现功能的情况下,尽可能的实现经济型的原则。5.开发周期短开发周期短是时代对于我们的要求,系统程序的运作最好是在更短的时间内完成,能够快速的更新,能够尽快的参与到工作当中,能够尽快的给系统得到成效,才能真正意义上实现系统设计的意义,节能节水,尽快实现。6.操作维护方便系统运转十分重要,那么系统的维护也一定非常重要。没有设备能保证一定不出问题,所以系统最好选择比较简单的程序,能够让大家很快的学习和掌握,特别是让设备有故障之后能够尽快的解决处理,保证系统工作。2.6.1土壤湿度传感器系统中使用的土壤湿度传感器型号为YL-69,如图2-3所示:图2-3土壤湿度传感器土壤湿度传感器的电路原理图如图2-4所示:图2-4YL-69湿度传感器原理图2.6.2空气温湿度传感AT89C51是一个低电压,高性能CMOS8位单片机,片内含4KB的可反复擦写的Flash只读程序存储器和128B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密、非易失性存储技术产生,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案,AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程[19]。其将通用的微处理器和Flash存储器结合在一起,特别是反复擦写的Flash存储器可有效地降低开发成本。单片机,从其本质的职能上来看的话,我们不难发现,其主要的本质职能是一种集成的计算机管理系统,他的绝大部分的功能,在具体的作用和客观的实施过程中,都是集成在一个很小的芯片上,但是从客观的层面上,其内部的相关部件以及相关的结构是一种非常完整的状态的:CPU、内存、内部和外部总线系统,并且从当前的实际发展形势上来看的话,我们不难发现,当前绝大多数的单片机是有外存系统存在的。同时集成诸如通讯接口、定时器,实时时钟等外围设备。但是从当前功能最为强大的单片机系统来看的话,其能够行使的职能也呈现出一种不断的加强和扩展的态势,甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroller),最早的起源领域是在具体的工业发展领域,是得到了大力的发展和有效的实施的。单片机由芯片内只是在CPU这样的一种核心处理器的作用之下,予以高效的发展和系统性的予以实施的。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,进而最终使得整个计算机不管是从外观上,还是从其实际的性能上,都是一种高度的发展和高效的集成的态势,在整个控制设备实施的过程中,不管是从其控制系统还是从控制结构都是呈现出一种更加的复杂化,精细化的发展趋势。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。它具有如下主要特性:(1)和MCS-51产品的兼容(2)2K字节可重编程闪速存储器(3)耐久性:1,000写/擦除周期(4)2.7V~6V的操作范围(5)全静态图2-5中所示为DHT11数字温湿度传感器:图2-55DHT11数字温湿度传感器DHT11温湿度传感器的电路原理如图2-6所示:4图2-6DHT空气温湿度传感器原理图DHT11温湿度传感器的工作过程为:首先为DHT11供电,其工作电压通常为3~5.5V,通电后,不需要指令控制,传感器便会自动工作,通常在1s左右传感器趋于稳定状态。当要读取传感器数据时,控制器需要先向DHT11发送读取信号命令,当DHT11收到指令后要进行响应,只有当控制器接收到DHT11的响应后才能读取DHT11采集到的数据。3系统设计3.1系统总体架构所谓智能浇灌系统,是指在无人控制的情况下,系统能自动检测盆栽的实时状况,并决定什么时候需要浇灌,什么时候停止浇灌;系统能够在盆栽需水的时候自动实施浇灌,并在需要停止的时候自动停止浇灌。系统的总体架构如图3-1所示:图3-1系统总体架构系统内部工作流程为:①传感器按照设定的频率采集盆栽的土壤湿度信息和所处环境的温湿度信息;②Arduino控制器负责将传感器采集到的信息进行转换和集成,并将集成的数据通过Arduino上的ZigBee接口以无线方式传送到后台服务器;③智能分析与控制模块利用位于服务器中的数据进行分析和预测,将分析得到的结果传送到服务器。3.2系统流程基于数据挖掘的盆栽智能浇灌系统的流程图如图3-2所示。当用户进入系统后,在系统主页面内选择盆栽的名称,设定盆栽所在的环境(室内或者室外)等信息,设置完成后系统启动各个模块开始工作,完成对盆栽的智能化浇灌。基于数据挖掘的盆栽智能浇灌系统的具体工作流程如下:(1)用户进入系统,对盆栽的具体情况进行设定,并启动系统;(2)系统启动前台信息采集模块采集数据,利用传感器对盆栽的土壤湿度信息和空气的温湿度信息进行采集,采集频率是每三分钟一次,并将采集到的数据存入数据库;当系统在对盆栽实施浇灌期间,系统自动增加信息采集频率,为30秒采集一次,并自动记录每次浇灌后土壤达到的最高土壤湿度;(3)利用采集到的土壤湿度数据构建土壤湿度预测模型,用以预测未来十五分钟的土壤湿度,得到未来十五分钟的五个时间点的土壤湿度值;(4)根据盆栽名称从规则库中得到该盆栽所需的土壤湿度的最低阈值和最高阈值,将得到的土壤湿度的五个预测值和阈值用于CUSUM检测方法,以检测土壤湿度是否出现超出规定范围的情况,若其中连续两个土壤湿度值低于土壤湿度下限阈值,则认为盆栽即将缺水,进入步骤5,否则从步骤1重新执行;图3-2系统流程图(5)若盆栽处于室内条件,则进入步骤7,若盆栽处于室外条件,则进入步骤6;(6)根据当前的气象信息和温度、时间等条件到规则库中匹配满足当前条件的相关规则,并根据规则的结论实施浇灌,若盆栽适宜浇灌则进入步骤7,否则进入步骤1;(7)利用盆栽耗水量预测模型,对当前这次浇灌至下次浇灌的时间段内的盆栽耗水量进行预测,得到本次的最佳浇灌用水量H,进入步骤8;(8)根据决策结果实施浇灌,当浇灌水量为H时停止浇灌,进入步骤1。3.3系统模块设计3.3.1系统数据采集与反馈控制模块设计系统数据采集与反馈控制模块主要由Arduino主控板、土壤湿度传感器、环境温湿度传感器、旋转传感器、浇灌模块和继电器组成,该模块主要用于前台数据的采集、传输与浇灌模块的控制。在Arduino的控制下,土壤湿度传感器和环境温湿度传感器以三分钟一次的频率采集盆栽的土壤湿度信息和所处的环境的温湿度信息,这些原始信息由Arduino进行转换和集成,并将集成的数据通过Arduino主板上的ZigBee接口以无线方式传到服务器的数据库中,系统经过对数据分析得出当前条件是否适宜浇灌的结论,若结论是当前条件符合浇灌条件,则将此信号发送给Arduino控制器,Arduino收到信号后打开浇灌模块的电路开始浇灌,当Arduino收到由服务器发出的停止浇灌信号时,Arduino便控制浇灌模块停止浇灌,硬件的结构如图3-3所示:图3-3硬件结构图上图中的各种硬件设备功能如下:(1)微控制器:带有ZigBee无线传输接口,是硬件控制中心,负责将传感器采集到的数据进行整合,并将整合后的数据以无线的方式发送到服务器上;对智能分析和控制模块的决策信号进行响应,实现对浇灌模块的控制。(2)土壤湿度传感器:用于测量和采集盆栽土壤的含水量。(3)环境温湿度传感器:用于测量和采集环境的温度和湿度信息。(4)旋转传感器:用来调节浇灌模块的出水量。(5)继电器:实现对电路的开关控制,控制浇灌模块的打开和关闭。(6).浇灌模块:用来实现浇灌。(7)后台服务器:包括系统的软件部分,以无线方式接收控制器传来的数据,将对数据分析得到的结果与控制器进行交互。3.3.2系统智能分析与控制模块设计智能分析与控制模块主要对采集到的数据进行分析与决策,并对控制器发出相应的控制信号。主要包括三个环节:土壤湿度预测、规则库匹配、盆栽耗水量预测。(1)土壤湿度预测用于土壤湿度预测的ARMAX模型只能用于平稳时间序列,对于不平稳的时间序列,需要将时间序列进行差分处理使其满足平稳性条件才能进行模型的构建。当采集到土壤湿度数据后,系统会自动对采集到的土壤湿度数据进行平稳性检验和预处理等操作,使土壤湿度序列符合平稳性条件,将处理后的平稳性序列构建ARMAX模型,预测结果为未来十五分钟时间内五个时间点的土壤湿度值,土壤湿度预测模型的具体构建过程在第四章第二小节中进行详细介绍。预测得到土壤湿度值后并不是直接与设定的土壤湿度阈值直接比较,因为直接比较的话只考虑了预测的土壤湿度值中的最后一个值,不能排除土壤湿度值中出现的某次突变情况,而CUSUM算法综合利用了预测的整个土壤湿度数值序列的信息,因此能更好的对超出范围的观察值进行识别,减少判断的错误率。系统中将预测得到的土壤湿度值与CUSUM算法相结合,充分利用CUSUM检测算法对变化较小的序列检测较为敏感的特点,提高系统检测的灵敏度。当判定盆栽需要浇灌后,系统还需要结合规则库中的相关规则决策当前条件是否适合浇灌。(2)规则库设计一方面,为了提高系统解决问题的能力,使系统具有专家水平的专业知识,将系统与规则库相结合,以实现对不同条件下的盆栽的个性化浇灌;另一方面,由于植物习性不同,本系统通过构建规则库对不同植物的浇灌标准进行规范和约束。实现盆栽的按需浇灌、最优化浇灌需要考虑的方面比较多,比如:当土壤湿度降低到一定阈值时,说明盆栽所处的土壤水分满足不了盆栽的需求,这时就需要对盆栽进行浇灌,但并不是马上实施浇灌,系统若要达到较高的智能化程度就需要根据专家的经验进行实施。通常情况下,人们会根据经验考虑当前的温度等是否适合浇灌,即当前情况下的浇灌是否对盆栽的生长有益,有些情况下即使盆栽缺水也不能浇灌,比如在夏天中午环境温度较高时就不适宜浇灌,因为温度较高时,土壤温度也较高,若浇灌凉水,土温就会急速下降导致根系吸水能力下降,但此时盆栽的蒸腾作用旺盛,最后会使盆栽蒸腾的水分较多却吸水很少,盆栽就会萎蔫,因此不能仅仅依靠检测盆栽是否缺水而决定浇水与否,还要考虑环境条件。同样,若未来即将要下雨,此时若还是按照原来的方案实施浇灌必然会造成盆栽被过量浇灌,不仅对盆栽的生长不利,还造成了水资源的浪费。此外,不同的盆栽品种对水分的需求不同,不同盆栽在不同的季节要求的土壤湿度不同。因此,根据盆栽种类和环境条件对盆栽实施个性化的浇灌策略是实现智能浇灌和节水浇灌的主要途径。若将上述影响浇灌的因素以规则库的形式应用到浇灌系统中,使系统在浇灌之前根据当前的条件查找相应的规则,然后根据规则的结论实施浇灌,不仅可以使浇灌系统对盆栽的浇灌更加科学合理,而且更符合人类的思维和经验。本系统规则库中的规则包括:不同时间和环境下对盆栽应采取的浇灌措施,如温度条件不同;不同气象信息情况下应采取的浇灌措施,如下雨天的情况;盆栽的品种及习性,如不同品种盆栽所需的土壤湿度不同等。其基本原理如下:①通过创建一个HttpWebRequest对象对服务器发出请求,HttpWebRequest对象的创建代码如下:HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(Url);Url是指获得信息的网址,在这里的Url是使用"http://"或"https://"开头的。②完成对服务器的请求之后,需要获取从服务器中返回的信息,其代码如下:HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();得到的气象信息如图3-4所示:图3-4系统获取的气象信息规则库最常用的知识表示方式为if…then…的形式,即产生式结构。目前的规则库系统中有多种方法表示产生式规则,本文中利用关系数据库来存储和表示产生式规则。为了方便用关系数据库存储和解释规则,规定前提中的元事实之间只能是“与”逻辑关系,对于规则中的“或”逻辑关系,需要先将规则分解成前提中不包含“或”关系的多条规则,例如:IFA⋁BTHENC⇒IFATHENC,orIFBTHENC在应用规则库的系统中通常使用推理机实现由已知事实推出结论这一过程。本文中使用正向推理的方法,即根据当前获得的已知事实和条件,到数据库中的规则前件中进行匹配,匹配成功的前件所对应的规则就是满足条件的规则,若有多条规则匹配成功,则优先选择优先级高的规则。图3-5规则库状态机(3)盆栽耗水量预测本文提出的基于数据挖掘的盆栽智能浇灌系统能自动记录盆栽的历史耗水量(浇灌用水)数据,并利用这些历史数据、当前的温湿度和土壤湿度信息构建ARMAX模型,利用构建的模型预测盆栽未来时间段内的耗水量,将预测的耗水量作为盆栽所需的水量,当浇灌水量等于盆栽预测耗水量时停止浇灌,实现对浇灌水量的精准控制。由于系统开始运行时,并没有盆栽的耗水量数据,所以系统开始时用设定阈值的方法控制浇灌模块的关闭,即当浇灌过程中的土壤湿度达到设定的阈值时停止浇灌,但是系统会记录每次的浇灌用水量和达到的最高的土壤湿度,当系统采集的数据达到50次时构建ARMAX模型进行盆栽耗水量预测,并在以后的模型构建中进行模型修正,使模型的预测结果更准确。3.3.3系统异常报警控制模块设计由于系统采用提前浇灌的方式,能够使土壤湿度保持在最高阈值和最低阈值之间变化,据此可将本系统中的异常分为以下三类:(1)当土壤湿度值持续很长时间保持在某一个湿度值不变时认为系统出现异常,此时系统自动报警,在系统页面显示出现的问题。(2)当系统检测到土壤湿度值已经超出最高阈值且湿度值一直呈上升趋势时,可能是水泵或控制水泵的电磁阀出现故障,使得水泵处于一直开启的状态,发现此异常时,系统发出报警信息,并在页面显示出现的问题。(3)当系统检测到土壤湿度值已经低于最低阈值并且土壤湿度值一直呈下降趋势,则可能是水泵或控制水泵的电磁阀出现故障,使得水泵处于无法开启状态,或者是水池中的水已经用完,发现此异常时,系统自动报警,并在系统页面显示出现的问题。4系统实现与测试4.1时间序列预测方法在智能浇灌系统中的应用文通过引入时间序列预测方法对浇灌操作进行控制,其中时间序列预测在浇灌系统中的应用主要有两个方面:4.1.1土壤湿度预测通过土壤湿度预测能提前感知盆栽土壤的水含量情况,并在盆栽未进入缺水状态时提前采取措施,使盆栽的土壤湿度在湿度下限阈值和上限阈值之间平稳变化,尽量为盆栽提供一个稳定的生长环境;4.1.2盆栽耗水量预测通常情况下盆栽的耗水量与盆栽所需的浇灌水量是相等的,系统通过盆栽耗水量预测实现对浇灌用水量的精确控制。系统能自动记录盆栽历次耗水量及浇灌后土壤湿度达到的最高值等数据信息,并用这些数据构建耗水量预测模型,在每次浇灌时根据当前的环境条件预测在本次浇灌和下次浇灌之间的时间段内盆栽的耗水量,并以此作为盆栽所需的浇灌水量,实现对盆栽的精准浇灌。系统中用到了ARMAX模型对土壤湿度和盆栽耗水量进行预测。ARMAX模型的建模步骤与ARMA模型的建模步骤一样,其步骤为:(1)数据序列的预处理,因为使用时间序列预测模型的前提条件是时间序列数据的平稳性,所以要先判断该序列是否为平稳序列,若序列不满足平稳性条件则需要对数据进行差分预处理,得到平稳序列;(2)模型识别,计算观察值序列的样本自相关系数(ACF)和样本偏自相关系数(PACF)的值,然后根据ACF和PACF图的特点确定序列适应于AR(p)模型、MA(q)模型还是ARMA(p,q)模型;(3)模型定阶,利用赤池信息量准则(AIC准则)确定模型最佳阶数,即选择最佳的p、q值使模型最优;(4)模型参数识别,估计模型中的未知参数的值;4.2系统数据库设计为了结构化的存储系统数据,方便数据之间的关系表达和数据的管理,提高数据的共享性和独立性,同时减少数据冗余,系统中的数据使用数据库SQLSERVER2005存储,需要存储的数据有用户信息、盆栽种类信息、前台采集的温湿度信息、规则库、浇灌用水量数据等。下面对智能浇灌系统中的主要数据库表的设计进行了介绍:(1)温湿度数据表数据库中的温湿度数据表用于存储由数据采集设备采集到的环境温湿度信息和土壤湿度信息。温湿度数据表的表名是condition,condition表的设计如图4-1,表中id为自增字段,步长为1,是表的主键;dt_humidity为测得的土壤湿度数据;dhumidity为测得的空气湿度信息;dtem为测得的空气温度数据;dtime为数据采集时间;sen_id为采集到该条数据的传感器编号;user_id为该条数据所属的用户编号。图4-1温湿度数据表condition(2)规则库本系统中使用关系数据库存储规则库中的知识,使用关系数据库存储知识库需要三张表。=1\*GB3①元事实表:meta_fact(meta_id,fact_des),meta_id表示元事实的编号,是表的主键,fact_des表示元事实的内容,表的设计如图4-2所示:图4-2规则库中的元事实表=2\*GB3②规则前件表:rule_pre(fact_id,rule_name,meta_id,active),fact_id是表的主键,表示规则前件的编号,rule_name表示的是规则前件所属的规则,meta_id表示组成该规则前件的其中的一个元事实,该规则前件由几个元事实组成,在该表中就有相应的几条记录,active表示该条数据是否被匹配过,表的设计如图4-3所示:图4-3规则库中的事实表=3\*GB3③规则后件表:rule_con(con_id,rule_name,meta_id,active),con_id是表的主键,表示规则后件的编号,rule_name表示的是规则后件所属的规则,meta_id表示组成该规则后件的其中的一个元事实,该规则后件由几个元事实组成,在该表中就有相应的几条记录,active表示该条数据是否被匹配过,表的设计如图4-4所示:图4-4规则库中的规则表(3)浇灌用水量数据表用于存放浇灌用水量历史数据,用于完成对用水量预测模型的修正。浇灌用水量数据表如图4-5所示,表中id为表的主键,为自增长字段;consumption为预测出的本次需要的浇灌水量;atemp为实施浇灌时的空气温度数据;ahum为实施浇灌时的空气湿度数据;orighum为即将要浇灌时的土壤湿度;expehum为完成浇灌后期望达到的土壤湿度;finahum为完成浇灌后实际达到的最高土壤湿度;time为实施浇灌的开始时间。图4-5浇灌用水量数据表4.3系统连接与配置系统开发语言:C#语言系统程序后台运行环境:MicrosoftVisualStudio2008数据库环境:SQLServer2005前台程序烧录环境:ArduinoIDEPC扩展程序运行环境:ProcessingIDE系统硬件:Arduino;空气温湿度传感器;土壤湿度传感器;继电器。系统中用到的主要的硬件部分的连接方式展示如下:(1)继电器与浇灌模块(以水泵为例)的连接方法:继电器接数字5口。潜水泵棕色为正、蓝色为负。潜水泵蓝色接GND,棕色接继电器NO。杜邦线红色一头线接VIN的“+”,另外一头接继电器COM口,具体如图4-6和图4-7所示:图4-6继电器连接图图4-7水泵连接图(2)温湿度传感器的连接方法:温湿度传感器接Arduino的数字12口。黑色线接GND,红色线接VCC,蓝色线接D12口。具体如图4-8所示:图4-8温湿度传感器连接图(3)土壤湿度传感器的连接方法:土壤湿度传感器连接模拟口3。红色线接5V,黑色线接GND,蓝色线连接A3,连接方式如图4-9所示:图4-9土壤湿度传感器连接图(4)蜂鸣器连接方法:蜂鸣器连接数字口8。蜂鸣器接线一端连接VCC,一端连接D8,连接方式如图4-10。4.4系统实现效果4.4.1盆栽信息一览页面用户通过本页面可观察系统中所有盆栽当前的状态,包括当前的土壤湿度、环境温度、环境湿度及土壤湿度变化曲线,当系统出现异常时,在该页面的系统状态一栏内会显示出系统异常。信息浏览页面如图4-11所示:图4-11盆栽信息一览页面页面4.4.2植物信息管理页面用户可以对使用系统的盆栽进行统一管理,包括将不用的盆栽删除,或者添加新的盆栽信息。具体如图4-12所示。图4-12系统盆栽信息库扩充页面4.4.3用户设置页面截图由于不同的盆栽有不同的生活习性,对水分的需求也不同,因此用户登录进入系统后要选择盆栽的名称,并且需要根据实际情况选择盆栽所在的环境(室内或者室外),在室内情况下,系统不需要考虑下雨情况下对盆栽的浇灌,可按照正常流程对盆栽进行浇灌;若在室外条件,则系统需要结合天气预报对盆栽进行浇灌,避免对盆栽的过量和重复浇灌,页面实现效果如图4-13。图4-13盆栽信息设置页面5结语随着技术的不断发展,当前人工浇灌已不能满足生产发展的要求,智能灌溉系统应运而生,并将成为未来灌溉的主要工具。通过对当前智能灌溉系统的研究,在分析和总结了当前智能灌溉系统中存在的问题的前提下,本文以对盆栽的浇灌为背景,通过引入当前流行的传感器、时间序列预测等技术,并结合规则库,设计并实现了基于数据挖掘的盆栽智能浇灌系统,该系统能实现对盆栽的科学合理和个性化的浇灌,不仅能够减少劳动力付出,还能节省大量水资源,并能在很大程度上为盆栽的健康生长提供保障。通过这样的一次毕业设计过程中的亲自动手实践的过程,我能够学到很多平时在书本中学不到的较多的知识,不仅是增长了我的见识,更多的是扩充了我的生活阅历,客观来讲,主要可以总结为以下几个方面:1、在这样的一次毕业设计,动手操作实践的过程中,我能够将平时在书本中学到的理论

温馨提示

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

评论

0/150

提交评论