版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章概述1.1课题研究背景及意义温室是作物种植的重要场所,能为作物提供良好的生长环境。作物温室种植如今已经成为作物种植的重要方式之一[1]。我国是农业大国,自然在作物温室种植方面也在世界中占有重要地位,据有关数据显示,我国截止到2021年,作物温室种植面积已达到1100千公顷左右,作物温室种植面积占世界作物温室种植面积的50%,这足以看出我国作物温室种植面积之广。如今的作物温室种植仍然是主要依靠人力管理种植户们凭借着以往的种植经验,对作物温室进行管理[2]。但是由于大部分的作物温室种植面积较广,管理难度较高,特别耗费人力和物理。而在如今的科技化和自动化时代,作物温室管理可以朝着自动化种植的方向转化利用现代智能技术和自动化技术将人力和物力从中解放出来[3]。而且现在物联网和大数据也很发达,利用大数据对作物温室进行实时监测,将得到的有效数据进行计算转化,可以得出作物温室中作物生长的具体状况,如温室内的温度、湿度、光照等等[4]。在如今的作物温室种植中,绝大部分种植户对作物温室环境没有进行科学监测和控制,也没有具体的科学指导技术,如果稍加管理不大费周章作物温室种植作物将会受损严重。根据作物对生长环境的要求以及现代自动化科学技术的掌握。结合考虑到作物温室种植户们的人力物力投入,设计出一款智能化和科学化的作物温室管理系统是非常有必要的。智能化作物温室管理系统能够实时监测温室内的温度、湿度以及光照,还可以自动调节室内的温度,湿度以及光照,有助于作物更好的生长,提高产量,降低成本[5]。1.2课题研究现状在国外,由于国外的科学技术较国内发达,在作物温室的智能化和自动化技术管理方面,国外早就已经进行研究和设计,并且已经投入作物生产种植当中。国外最早的作物温室管理系统可以追溯到上个世纪50年代,当时的科学技术不足以支持较完善的作物温室管理系统。而目前,国外温室检测系统已经逐渐投入使用。在国外的温室检测系统中,主要是通过对温度、湿度的实时监测。随着现代科学技术越来越发达,国外温室管理技术转向了计算机为核心的控制管理系统。以以色列为例,以色列现代作物温室大棚种植技术世界领先。在国内的作物温室温室管理系统方面,由于20世纪初中国科学技术相对落后,人们对于温室大棚种植技术掌握甚少,所以作物温室大棚在中国并没有普及,直到上个世纪60年代温室大棚技术才被中国的种植户接收并得以推广[6]。我国的作物温室大棚种植技术绝大部分是从国外引进,几年来中国的科学技术发展飞速,研究自动化作物种植管理系统的科研人员不尽其数并取得了有效成果。中国的温室大棚技术从空白到现在能够融入智能化和自动化技术,实现了质的飞跃[7]。1.3本文研究内容本文的主要研究内容是一款全新的分布式远程温室智能控制系统。该系统的核心控制模块选择单片机,单片机的使用提高了智能化程度[8]。为了使各个系统模块能够协调管理,加入无线通信和互联网技术,并纳入大数据构成全新的智能分布式远程温室智能控制系统。针对于分布式远程温室智能控制系统文章具体结构如下:第一章:绪论。绪论首先从课题的研究背景进行考虑,根据现在传统分布式远程温室智能控制系统效果较差以及人们对分布式远程温室智能控制系统的需求出发,分析此设计的研究目的和意义。结合分布式远程温室智能控制系统的实际情况,确定设计的实用性、经济性。保证设计是符合市场的实际需求的,可以投入生产使用。第二章:系统方案设计。系统方案首先将会根据人们对分布式远程温室智能控制系统的需求进行功能设计,以及分布式远程温室智能控制系统需要实现的性能。对于系统设计的原理进行详细阐述,最终进行总体方案设计。第三章:系统电路设计。系统电路设计将会对系统各个模块电路进行方案设计,提供电路原理图与电路组装图,确保系统电路正确焊接与安装,最后将各个模块部分电路进行整合,形成完整电路。第四章:系统软件设计。硬件电路完成以后,进行各个模块的软件程序编写,系统软件程序设计。按照系统需要实现的功能进行程序编写,通过KEIL软件按照软件程序框图进行各个系统模块代码编写。第五章:调试部分。系统调试是整个系统硬件与软件组装完成以后对整个系统进行检查测试的环节。调试运行工作过程中,发现问题并进行改正,无异常发生即为调试完成。第六章:结论。结论是对整个论文设计方案进行综述,并将系统设计过程中出现的问题进行总结,并提出改进意见。第2章系统总体设计方案本章为分布式远程温室智能控制系统的总体方案设计。在总体方案设计当中将会对分布式远程温室智能控制系统的主要构成模块以及型号进行详细介绍,通过分析来选择出最佳零部件。2.1系统方案设计本文中研究的分布式远程温室智能控制系统,主要是针对作物生长环境做出调节和监控所研究的,由两个分布的从机上安装的DHT11温湿度传感器采集作物温室内的温度、湿度,采用分布式方式在温室多点布置温湿度采样点[9]。由NRF24L01无线通信方式将温室采样数据发送到主机上做出显示。当温湿度传感器采集作物温室内的温度、湿度,在温室内温湿度过高时自动通风,通风功能由风机完成,为实现精准控制,温室内风扇控制采用增量PID算法实现,以期保证温室内温湿度的平稳性[10]。湿度低的情况下能够启动加湿器调节温室内的湿度,加湿器由继电器控制[11]。还具有手机远程监控功能,作物的生长情况可由WIFI传输到手机[12]。由语音模块以语音的方式可以控制风扇设备的启动及档位等诸多操作[13]。针对分布式远程温室智能控制系统结构框图如下:图2.1系统总体框图2.2设计方案选择及论证本节主要是对系统主要器件的选择进行阐述,系统中的各个模块都有一定的参数及性能,为了能够提供一个最优解方案,需要对模块中的主要器件进行筛选。2.2.1主控模块选择选项一:选择ARM种类单片机中的著名型号STM32F103C8T6,32位强大的处理内核使得该单片机运行速率快,能够高效率完成系统任务和指令[14]。程序存储器容量为16k,能够满足基本系统功能需求。供电电压一般在2V~3.6V之间,因此功耗较低。在价格方面处于中等水平,性能优良,性价比高[15]。这款单片机的研发最初就是根据一些仪器设备的功能需求方面出发考虑,所以不论是在性能还是在功耗方面都很出色,在不工作的情况下可以保持待机模式[16]。选项二:MSP430单片机430×4xx系列。MSP430单片机是出自美国德州仪器公司推出的一款具有低功耗、精简指令集的16位单片机。该种类单片机中的使用电压在1.8~3.6V之间,环保节能。不仅具有高效率处理算法,但是这款单片机制造成本高,价格高昂。虽结论:经过对这两款单片机的深入了解与对比分析后,方案一中的STM32F103C8T6单片机性能优良,更加经济适用,性价比高,因此选择方案一。2.2.2显示模块选择选项一:LCD1602显示屏显示原理主要是驱动点阵进行显示,电流通过不同显示点点亮显示点,达到显示不同内容,显示容量为16*2,总共为32个字符。LCD1602显示模块主要是用于小尺寸的屏幕显示和仪器表盘上。在显示器领域是元老级的存在,具有着悠久的生产历史。示设备在市场上的占有率较高,市面上的大小仪器中都能见到他的身影。由于其显示内容与范围比较简单,最宽显示模块的价格也相对低廉。选项二:考虑数码管显示。数码管的发光原理而且由于这款显示屏经久耐用,而且适用于各大小产品抗干扰能力强。这款显主要是通过内部的发光二极管内部控制的,数码管在现代生活应用中经常应用于一些大面积显示,而且数码管的利用成本极低,非常适用于广告宣传和交通灯等。但是数码管的缺点就是占用端口数量较多,显示内容少。结论:方案一中的LCD1602显示模块不仅显示清晰,而且性能稳定,显示内容相较于数码管更加丰富,所以选择方案一。2.2.3温湿度传感器的选型方案一:选择型号为DHT11温湿度传感器。这款温湿度传感器,能够同时监测温度和湿度,适用于各种空间的温度和湿度的监测[17]。升级为了数字化感应器,感应监测的精度提高。在组装方面,按照说明书进行组装,引脚少,组装方便,输出信号稳定,能够长期工作。方案二:SHT11感应器的内部为了能够实现更好的通信和接收信号,感应器进行升级,其主要工作原理是通过感应器感应空气中的温度与湿度,感应器发射的感应波较长,能够准确感应空间内的温度[18]。但是市面上的SHT11价格很昂贵,且开发难度稍大。结论:DHT11温湿度传感器引脚、组装、信号输出方面都符合分布式远程温室智能控制系统的检测需求,因此选择此模块[19]。2.3.4语音识别模块的选择方案1:选用LD3320语音识别模块。选用该款语音模块可以对多种语言进行识别和播放,在不同的场景下可以将语言翻译为各个国家的语言,对于国际机场等需要播报的场所可以实现精准识别和准确播放,在播放之前可以对播放时间进行提前设定,到一定时间后就可以自动播放。方案2:选择HLK-V20语音识别模块,该款语音识别模块的主要功能是可以自由唤醒,可以自由设计词语顺序和选择的输入法,对于常用符号的选择遵从大众的使用习惯,对于常用的播放模块可以放在初始界面方便后续的设置,但是播放模块只能使用英文歌中文两种语言,应用范围比较局限并且在内部的设置上不接受程序员的自我改造和后续设计,对于语音模块的适用性很差。结论:由于HLK-V20语音识别模块的使用模式不支持后续更改,因此不能被程序员灵活应用和修改,但是LD330语音识别模块支持的语言种类更多,因此选择方案1。2.3本章小结本章主要对分布式远程温室智能控制系统的单片机,显示模块,温湿度传感器等方面的方案设计,在相关芯片和传感器的型号选择方面,综合价格、性能以及组装方式等多方面进行考虑,通过多个层面的对比也更加了解哪种产品更适合系统,对系统所需要的辅助手段有更深刻的认识,为软件和硬件系统的构建打下良好的基础。第3章分布式远程温室智能控制系统硬件设计这一章节的主要内容是分布式远程温室智能控制系统的电路设计,在设计硬件部分之前需要对硬件的功能和结构有所了解,然后根据功能构建电路图的思路和样本,之后完成电路图后需要对照电路图进行元器件的选型和安装。3.1STM32F103C8T6单片机最小系统STM32F1系列系统运行提供了重要支持,不仅能够实现低功耗,而且运转速率飞快,数据信息控制、计算、管理集一体,内部存储器存储容量大,对于其他软件兼容性好,适配性高。单片机内部安装有时钟复位电路和供电电源,时钟的作用是计时和统计周围环境时间变化,复位电路是为了在特殊情况下对电路进行保护,恢复到原始工作状态的保险,供电电源就是整个单片机的动力系统,电源的电压是3.6伏特,时钟的摆动频率是17MHz,复位电路的工作环境要求温度在30摄氏度以下20摄氏度以上,以防复位电路的损坏,单片机内部还装有自动断电开关,当电路损坏时,复位电路没有投入工作就会将整个电路的电源切断防止发生危险在单片机系统内部需要复位电路、晶振电路以及电源电路。接下来将会对以上三种电路进行详细介绍。图3.1STM32单片机最小系统3.1.1晶振电路晶振电路就是人体的心脏,晶振电路在系统中起到“心脏搏动”的作用,晶振电路的起振推动着整个系统的每一次运行。在晶振电路的设计中,一般都是与电容来进行配合发挥作用。要实现晶振电路的起振,就需要加入震荡器,振荡器的起振频率关系着整个系统运行的速率,一般振荡器起振频率越高,系统运行速率越快起振频率需要根据系统运行需要要求和标准所决定。如下图所示,图中C13和C14是两个20P的电容,R6为1M电阻,Y2是8MHz的振荡器,晶振电路的两端分别连接单片机两个引脚OSCIN和OSCOUT与单片机引脚进行连接STM32F103C8T6的外部时钟电路设计如图3.2所示。图3.2时钟电路3.1.2复位电路在复位电路的设计过程中,利用单片机的复位引脚RST与触发器结合,电路中还需要加入10K的电阻与10μF的电容,保证电路不会出现中断。在单片机复位端RST输入高电平,电瓶保持在两个机器周期以上,接着在复位端与电源之间加入一个按钮SW1,按钮按下时高电变为低电平,复位电路启动。在本文的分布式远程温室智能控制系统中采用的复位电路引脚是STM32的NRST引脚,与单片机的型号匹配,只要引脚连接到复位电路中,将电路的电平状态由高电平转为低电平,按下重启按键连接电容就可以构成一个简单的复位电路如图3.3所示。图3.3复位电路3.2温湿度检测电路设计系统由两个分布的从机上安装的DHT11温湿度传感器采集作物温室内的温度、湿度,采用分布式方式在温室多点布置温湿度采样点。温湿度传感器主要是对作物种植环境的温度、湿度进行监测。当温室的温度过高或者是湿度过高时超过设定好的限制范围,将会启动温室内的风动机对环境进行降温或者除湿,冬天的时候可以对其进行保暖、增湿,有助于监测者实时掌握作物生长环境情况。监测原理主要是通过空气中不同状态时的震荡频率改变进行判别。本文中的湿温度传感器检测距离大概为20米左右,温湿度传感器采用的是单线接线方式,与电源直接进行连接,电源线另一端接地保证用电安全。两个从机断水安装的湿温度传感器有4个引脚,OUT引脚将与单片机的PA4、PA5进行连接,实现单片机与传感器之间的通信。分布式远程温室智能控制系统中的DHT11温湿度传感器电路设计如图3.4所示。图3.4温湿度检测电路3.3语音控制电路设计在分布式远程温室智能控制系统的过程中,通过语音的方式能控制风机除湿的档位等操作。LD3320在识别语音的过程中,所做到的就是能迅速敏捷的对施令者发出的语句中的关键词的识别,在施令者发出语音指令后,该器件就会在此句话中寻找用于执行的关键词,关键词需要简短好辨认,而施令者的发音也需要标准一些,这样语音识别的准确率也会更高。更容易通信和控制的串口连接方式使LD3320和单片机的PB10、PB11建立通信非常便捷,在识别语音指令的关键词,只需要根据串口PB10、PB11发出的电流即可。分布式远程温室智能控制系统中的语音指令控制电路如图3.5所示。图3.5语音控制电路3.4继电器控制电路设计在平常分布式远程温室智能控制系统使用时,温室内的加温等对环境进行加湿,它可以温室调节设备与电源之间的信号,单片机发出启动指令后,单片机与继电器之间的I/O口变为低电平,继电器模块自动识别并处于常闭状态,温室调节设备打开,反之则关闭。电路中接入的电源为5V,PA8、PA11、PA6和PA7口为单片机接口。分布式远程温室智能控制系统中的继电器控制电路设计如图3.6所示。图3.6继电器控制电路3.5风机控制电路设计在温室内温湿度过高时自动通风,通风的任务就由风机完成,达到调节作物温室内环境的目的。温室内风扇控制采用增量PID算法实现,以期保证温室内温湿度的平稳性。当风机主要通过S8050三极管控制开关,与单片机的PA0、PA1引脚进行对接,当单片机控制端检测数值异常超出设定好的阈值范围时,单片机将会向风机通信引脚发出信号,启动风机。分布式远程温室智能控制系统中的风机控制电路如图3.7所示。图3.7风机控制电路设计3.6NRF24L01无线传输电路设计分布式远程温室智能控制系统由两个分布的从机上安装的DHT11温湿度传感器采集作物温室内的温度、湿度,采用分布式方式在温室多点布置温湿度采样点。由NRF24L01无线通信方式将温室采样数据发送到主机上做出显示。NRF24L01无线传输模块与单片机的连接方式是串口通信协议。每个无线传输模块与单片机的对应接口相连,通过接口和数据线进行高速度数据传输,实现无线速度互传,数据传输分为两个部分,分别是接收和发送出去,接收的时候需要开启对应芯片的接口以及引脚,由PA2、PA3串口引脚和NRF24L01无线传输模块做出数据通信。NRF24L01无线传输电路如图3.8所示。图3.8NRF24L01无线传输电路设计3.7显示电路设计本文中分布式远程温室智能控制系统采用的显示模块是LCD型号的屏幕,作物温室的温湿度、作物温室内的土壤湿度等数据都能完成显示。LCD液晶显示模块与单片机之间的连接也是主要通过引脚连接。由于显示模块的引脚众多,所以不同的引脚对应着单片机的不同端口。VCC和GND分别连接电源和接地,V0引脚连接电源和接地后,就能够加入10K的电位器进行对比度调整。RS为RW为数据读写引脚,E引脚为使能引脚。DB0-DB7引脚与单片机进行连接实现显示模块各项数据信息的输入输出,执行通信功能。DB0-DB7引脚采用串行通讯方式能够实现多个数据信息之间的通信。液晶显示模块的供电电压为5V,电路设计中加入的电位器为10K,接入V0引脚。R1、R2、R3分别是三个容量为1K的电阻,对应的单片机引脚为PB7、PB8、PB9,实现电路中电压电流的调节,保证供电安全。如图3.9所示的就是分布式远程温室智能控制系统中的液晶显示屏电路。图3.9显示电路3.8WIFI网络通信电路设计分布式远程温室智能控制系统可以通过无线通信模块WIFI以串口的形式上发数据,通过WIFI建立网络通信,将温室数据传输至AndroidStuoid软件开发的手机智能软件中。WIFI无线传输模块与单片机的连接方式是串口通信协议。每传输模块接收数据后在发出去之前会对数据进行解压处理,发送成功的同时数据解压也完成,发送过程还要注意进行加密处理,预防重要信息的泄露。这种串口通信协议内部的电路并没有很复杂,可以绑定一对一的传输路线,传输过程不耗费任何流量和资金,大大降低了数据传输成本。WIFI网络通信电路设计中的通信引脚TXD和RXD将会与单片机控制端的PA10和PA9引脚相连接,完成与手机的通信功能。分布式远程温室智能控制系统中WIFI网络通信电路设计如图3.10所示。图3.10WIFI网络通信电路3.9本章小结本章介绍的是分布式远程温室智能控制系统的各模块和各电路设计,系统的硬件设计是在仔细分析和组装每个硬件模块电路,分析组件的特点和型号以及所要实现的功能后完成的,每个元器件的设计方案和型号选择都是仔细斟酌和对比之后确定的,因此才能顺利完成硬件设计。以后的研究都要秉持这种严谨认真的态度。第4章分布式远程温室智能控制系统软件设计分布式远程温室智能控制系统硬件设备的运行需要通过软件设备进行控制管理。只有将硬件设备与软件模块相组合,才能形成完整的智能系统设备。现代软件程序设计已经成熟,具体软件设计流程将会从下文展开。4.1系统主程序设计在分布式远程温室智能控制系统的软件设计中,分布式远程温室智能控制系统的主程序设计是对系统中需要实现的主要功能进行程序指令编程。分布式远程温室智能控制系统主程序流程设计中的发送端程序流程如图4.1所示。图4.1发送端流程设计在分布式远程温室智能控制系统的软件设计中,首先构建系统软件主程序,首先需要对DHT11、NRF24L01使用的接口UART等做出初始化,同时也会初始化LCD显示接口,在进入下一步的数据采集工作,其中的传感器参数包括两个分布点的DHT11传感器获取的温度、湿度数据,最后将这些数据由NRF24L01无线传输到接收端(主机)。主机读取温室内温度、湿度阈值的按键功能,在温湿度内的温度、湿度过高的时候会启动风机以增量式的PID算法做出调节。而主机还会将温室的数据发送到手机上。接收端流程设计如图4.2所示。图4.2接收端流程设计4.2显示程序设计LCD1602在显示时,该模块会对液晶屏幕进行初始化,然后进行定位行列坐标,将预期的显示字符排列好,然后系统会显示第一个字符,然后按照顺序一个一个显示,数据显示完成后会自动结束程序。LCD1602显示模块的优点除了可以显示多种类的字符,还可以对所要显示的字符进行缓存,即使显示时断网也不会影响显示屏的工作,这也是LCD1602能在众多显示模块脱颖而出的重要原因。显示控制流程图如图4.3所示。图4.3显示控制流程图4.3温湿度检测程序设计分布式远程温室智能控制系统温度检测模块程序要求能够实时检测准确温度。DHT11温湿度传感器内部具有校验器,校验器的功能就是为了保证监测温度的准确。在程序设计中按照说明手册中的协议和时序按照流程编写代码,程序运作开始发出读取命令,读取温度以后校验数据,如果数据出错,则丢弃当前数据,如果数据正确,则发送至单片机与显示模块。分布式远程温室智能控制系统中DHT11温湿度检测流程如图4.4所示:图4.4DHT11程序温度检测设计4.4语音识别程序流程设计LD3320语音识别模块在运行之前需要将所要使用的的语言,音频,关键词和词语下载到云盘中,在使用语音识别模块时直接打开云盘下载到桌面上就可以投入使用,系统使用的关键词都在常用文件的菜单下,查找起来不仅方便还容易与系统匹配,具体的操作流程如下所示:(1)针对LD3320语音识别模块的初始化工作:在使用LD3320时,必然要做出初始化工作,将语音关键词、接收语音指令等都提前下载和准备好;(2)语音识别的进入:LD3320的硬件上有一个MIC(话筒),用户在使用这个模块时要对着MIC(话筒)说出语音指令,否则距离太远系统会识别不到;(3)信息处理:在LD3320收到语音指令后,单片机会迅速驱动语音识别模块解析输入的语音,筛选关键词中的词语,匹配后方能输出最终的语音指令和方式;(4)执行指令:程序列表中的关键词匹配成功后,即可执行语音指令输出的任务。LD3320语音识别流程图如图4.5所示。图4.5语音识别流程图4.5手机APP工作流程设计分布式远程温室智能控制系统运用WIFI无线传输方式手机做出通信,手机软件程序的编写必须在特定的AndroidStudio开发环境下进行代码编写与工程创建才能保证编码系统的安全性和稳定性。首先将手机APP与对应网点配对,配对成功即可进行控制器操作。在APP页面初始化以后,等待WiFi连接,连接成功后将会解析数据并读取作物温室的温湿度数据,还能通过APP按键控制作物温室内的设备。分布式远程温室智能控制系统手机APP打开后,等待WIFI网络连接,连接成功后将会解析数据并读取分布式远程温室智能控制系统中的温度、湿度数据等等,再读取手机APP页面按键的开关。分布式远程温室智能控制系统APP工作流程设计如图4.6所示。图4.6手机APP工作程序设计4.6本章小结本章的主要内容是详细阐述分布式远程温室智能控制系统软件程序部分编程流程,并通过流程图进行介绍。主要涉及到显示模块、传感器模块、手机APP工作流程等等。在软件设计中,首先构建主程序,主程序构建完成以后,在构建各个模块的子程序,程序整合起来,构成完整系统程序。第5章分布式远程温室智能控制系统调试整个系统组装完毕以后,需要进行系统调试,在调试过程中调试者需要耐心对系统各部分逐一排查,确保系统正常运行。5.1系统软件调试软件程序是驱动系统运行的关键力量,软件程序设计完成以后,为了防止系统运行出现问题,需要进行软件调试。软件调试按照流程依次进行调试,首先对主程序进行检查,确保主程序无问题后逐一排查子程序。分布式远程温室智能控制系统选用的检测和调试软件是KEIL,一般在编写过程中都会加入断点,程序断点也有助于软件调试,依次排查断点能够快速发现问题所在之处,方便检查人员快速修复程序。如果出现程序运行卡顿或者是短路情况,需要进行源代码编写纠正和检查程序算法是否错误。5.2系统硬件调试在检查电路过程中,首先按照最初的方案设计图以及电路图,确保零部件组装的正确性,再对照电路图查看电线连接。在电线焊接中,是容易出错的步骤操作,经常会出现。电路问题,例如电线错焊、虚焊、漏焊等问题。除了电线焊接错误,还经常会出现引脚焊接错误,正负极接反等问题。在电路检查中,经常会用到一些测试电路的工具,如万用表等,利用调试工具将会更加方便电路调试。在测试时要将电路放在不同的环境下进行工作状态检查,观察焊接部分的牢固程度和是否脱焊,发现异常情况需要进行补焊接和重焊接。线路连接中主要出现的问题是焊接位置错误(错焊)以及线路虚焊,甚至是漏焊等问题。首先用万用表检查出短路具体范围,对照电线线路图查看电线焊接是否正确以及挂锡,电线焊接问题,一般对线路重新进行焊接即可解决问题。5.3系统测试效果分布式远程温室智能控制系统结合了软件程序和硬件电路,最终的实物被完成,从实物表面来看,系统使用的是树脂材料板,由单片机电路连接其它元器件,制作成为一个分布式远程温室智能控制系统的整体。分布式远程温室智能控制系统实物如图5.1所示。图5.1分布式远程温室智能控制系统实物展示系统按下电源键接入5V的电源以后,系统上无论是传感器还是网络无线模块都启动运行,将各个部分之间的数据通信激活,LCD1602显示屏初始化并能够正常亮起。在显示屏的显示界面不同的字符简写代表着不同的参数。分布式远程温室智能控制系统实物的运行效果如图5.2所示。图5.2分布式远程温室智能控制系统实物运行待各传感器都初始化完成以后,显示屏将会显示特定参数信息,例如目前字母“T”就代表温度,字母“H”就代表湿度等等。具体显示内容如图5.3所示。图5.3分布式远程温室智能控制系统传感器工作由WIFI远程通信连接完成后,即可将数据发送至手机,由手机上就能看到作物温室里安装的传感器的数据了,登录以后即可查看。分布式远程温室智能控制系统的手机APP显示如图5.4所示。图5.4手机平台显示5.4本章小结本章的主要内容是对分布式远程温室智能控制系统各个模块进行软件和硬件调试,系统调试的主要目的是为了检查系统行中出现的问题,并将问题解决,使得系统顺利实现要求功能。在经过软件调试、硬件调试以及整机调试以后,系统出现问题得到解决,进行实物功能展示。各个模块能够实现预期功能和目标效果,整体运行良好。总结本文所设计的是一款以单片机为核心,以WIFI无线为通信方式的新型分布式远程温室智能控制系统。分布式远程温室智能控制系统可以全天工作,适用于四季变化,为大棚内植物生长提供优质环境。以夏季为例,夏季温度高容易出现干旱现象,棚内的作物秧会由于燥热而枯萎,传感器检测到温室内温度过高,将会启动风机进行通风。在系统设计过程中,硬件模块采用的都是高性价比的零部件,经过层层筛选,以及对比分析,选择出最适合分布式远程温室智能控制系统的零部件,在节约成本的同时保证质量。软件模块的编程采用KEIL软件和C语言,整体编程难度中等,硬件模块与软件模块合成完整系统后进行系统调试。系统调试过程中检查系统性能以及出现的各种问题,确保系统运行的稳定性与安全性。分布式远程温室智能控制系统能够为大棚内作物秧提供的适宜生长环境,保持室内恒定的环境条件,改善作物生长环境,防止自然灾害带来的损失。智能化温控、湿控和光控环境可以有效提高作物产量和品质,减少人力和物力的投入,与传统大棚环境相比,具有多方面优点,拥有良好的发展前景。但是该系统仍然有不足之处,功能检测仅限于温度、湿度等方面,可以增加土壤检测或者是二氧化碳浓度等检测,更全面监测大棚内作物生长环境,可以加入大数据分析,为作物生长提供智能方案。参考文献杨紫含,沈王姚,苏和平,覃浪,范丽琴,喻伟闯.基于STM32单片机的温室环境监测系统设计[J].信息技术与信息化,2018(05):61-63.仝晓梅.基于单片机的温室环境监测系统的设计与实现[J].电脑知识与技术,2017,13(19):171-172.杨丽文,陈如清.基于单片机的植物生长大棚环境参数监测系统设计[J].科技视界,2015(25):170+210.魏伟伟,胡明,郭健鹏,耿猛,林向会.基于SSC1645单片机的智能温室参数优化调控系统设计[J].江苏科技信息,2017(23):40-41.杨蕊,赵慧芳,潘大丰,崔玉祥,王晋宁,石相红,杨方,曹孟梁,高天佑.基于单片机的温室卷被控制器的设计与应用[J].农业科技与装备,2017(08):35-38.仝晓梅.基于单片机的温室环境监测系统的设计与实现[J].电脑知识与技术,2017,13(19):171-172.刘颖.基于Zigbee与MSP430单片机的温室智能灌溉系统设计[J].微型电脑应用,2017,33(05):56-58.薄英男,陈恒峰,郭辉,高国民,王桦,蒋畅.基于单片机的温室环境控制系统设计[J].农业科技与装备,2017(05):17-19+22.陈元伟,程丛丛,冯浩.基于单片机在植物生长大棚中的设计与实验[J].山东工业技术,2017(07):160.王冬梅,路敬祎.基于单片机的植物生长大棚智能监控系统设计[J].内燃机与配件,2017(06):6-8.马东.基于单片机农业温室温湿度监控系统的设计[J].电子技术与软件工程,2017(06):256-257.孙浩文.基于单片机的温室温湿度采集系统设计[J].自动化与仪器仪表,2017(03):198-200.孙庆波,鲍忠宇.基于单片机的植物生长大棚湿度监测和控制系统设计[J].中外企业家,2018(33):137.杨紫含,沈王姚,苏和平,覃浪,范丽琴,喻伟闯.基于STM32单片机的温室环境监测系统设计[J].信息技术与信息化,2018(05):61-63.唐志国,文昊,苏中南,段纪鲁,康冰.基于单片机和组态王的智能植物生长大棚集散控制[J].吉林大学学报(信息科学版),2017,35(05):513-518.王明霞,杨秀菊,罗刘敏.基于单片机的无线室内环境检测仪设计[J].电脑知识与技术,2018,14(11):269-270.OuassilaBadaoui,SalahHanini,AhmedDjebli,BrahimHaddad,AminaBenhamou.Experimentalandmodellingstudyoftomatopomacewastedryinginanewsolargreenhouse:Evaluationofnewdryingmodels[J].RenewableEnergy,2019,133.HassanGhasemiMobtaker,YahyaAjabshirchi,SeyedFaramarzRanjbar,MansourMatloobi.Simulationofthermalperformanceofsolargreenhouseinnorth-westofIran:Anexperimentalvalidation[J].RenewableEnergy,2019,135.AyadSaberian,SeyedMajidSajadiye.TheeffectofdynamicsolarheatloadonthegreenhousemicroclimateusingCFDsimulation[J].RenewableEnergy,2019,138.附录附录A原理图图A.1原理图附录B程序#include<stm32f10x.h>#include<lcd1602.h>#include<sys.h>#include<delay.h>#include<string.h>#include<usart.h>/******引脚声明*******/#definekey_1PAin(5)#definekey_2PAin(4)#definekey_3PAin(1)#definekey_4PAin(0)/*********全局变量**********/inttemp_u=25,humi_u=30;charreg[32];charR_flag=0;charrec_flag=0;charrelay1=0,relay2=0;u8reg2[6];charr_flag=0;charflag1=0,flag2=0;charstart1=0,start2=0;chartemp1,humi1,temp2,humi2,temp3,humi3,temp4,humi4;chari=0;chardis=0;/*********gpio初始化*********/voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure; //SystemInit(); //GPIO输出配置 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStructure); }/***********显示函数**************/voiddisplay(void){ if(dis==0) { Lcd1602_Com(0x80); Lcd1602_Data('1'); Lcd1602_Data('-'); Lcd1602_Data('T'); Lcd1602_Data(':'); Lcd1602_Data('0'+temp1/10); Lcd1602_Data('0'+temp1%10); Lcd1602_Data(0XB2); Lcd1602_Data('C'); Lcd1602_Data(''); Lcd1602_Data('H'); Lcd1602_Data(':'); Lcd1602_Data('0'+humi1/10); Lcd1602_Data('0'+humi1%10); Lcd1602_Data('%'); Lcd1602_Data('R'); Lcd1602_Data('H'); Lcd1602_Com(0xc0); Lcd1602_Data('2'); Lcd1602_Data('-'); Lcd1602_Data('T'); Lcd1602_Data(':'); Lcd1602_Data('0'+temp2/10); Lcd1602_Data('0'+temp2%10); Lcd1602_Data(0XB2); Lcd1602_Data('C'); Lcd1602_Data(''); Lcd1602_Data('H'); Lcd1602_Data(':'); Lcd1602_Data('0'+humi2/10); Lcd1602_Data('0'+humi2%10); Lcd1602_Data('%'); Lcd1602_Data('R'); Lcd1602_Data('H'); }else{ Lcd1602_Com(0x80); Lcd1602_Data('3'); Lcd1602_Data('-'); Lcd1602_Data('T'); Lcd1602_Data(':'); Lcd1602_Data('0'+temp3/10); Lcd1602_Data('0'+temp3%10); Lcd1602_Data(0XB2); Lcd1602_Data('C'); Lcd1602_Data(''); Lcd1602_Data('H'); Lcd1602_Data(':'); Lcd1602_Data('0'+humi3/10); Lcd1602_Data('0'+humi3%10); Lcd1602_Data('%'); Lcd1602_Data('R'); Lcd1602_Data('H'); Lcd1602_Com(0xc0); Lcd1602_Data('4'); Lcd1602_Data('-'); Lcd1602_Data('T'); Lcd1602_Data(':'); Lcd1602_Data('0'+temp4/10); Lcd1602_Data('0'+temp4%10); Lcd1602_Data(0XB2); Lcd1602_Data('C'); Lcd1602_Data(''); Lcd1602_Data('H'); Lcd1602_Data(':'); Lcd1602_Data('0'+humi4/10); Lcd1602_Data('0'+humi4%10); Lcd1602_Data('%'); Lcd1602_Data('R'); Lcd1602_Data('H'); }}/************设置阈值*************/voidset_value(void){Lcd1602_Com(0x80); Lcd1602_Word("SetValue"); Lcd1602_Com(0XC0); Lcd1602_Data('T'); Lcd1602_Data('>'); Lcd1602_Data('0'+temp_u/10); Lcd1602_Data('0'+temp_u%10); Lcd1602_Data(0XB2); Lcd1602_Data('C'); Lcd1602_Data(''); Lcd1602_Data(''); Lcd1602_Data(''); Lcd1602_Data('H'); Lcd1602_Data(':'); Lcd1602_Data('0'+humi_u/10); Lcd1602_Data('0'+humi_u%10); Lcd1602_Data('%'); Lcd1602_Data('R'); Lcd1602_Data('H'); for(;;) { Lcd1602_Com(0xc2); Lcd1602_Data('0'+temp_u/10); Lcd1602_Data('0'+temp_u%10); if(key_2==0) { delay_ms(300); if(key_2==0) { temp_u++; if(temp_u>99) { temp_u=0; } Lcd1602_Com(0xc2); Lcd1602_Data('0'+temp_u/10); Lcd1602_Data('0'+temp_u%10); delay_ms(1000); while(key_2==0) { temp_u++; if(temp_u>99) { temp_u=0; } Lcd1602_Com(0xc2); Lcd1602_Data('0'+temp_u/10); Lcd1602_Data('0'+temp_u%10); delay_ms(200); } } } if(key_3==0) { delay_ms(300); if(key_3==0) { temp_u--; if(temp_u<0) { temp_u=99; } Lcd1602_Com(0xc2); Lcd1602_Data('0'+temp_u/10); Lcd1602_Data('0'+temp_u%10); delay_ms(1000); while(key_3==0) { temp_u--; if(temp_u<0) { temp_u=99; } Lcd1602_Com(0xc2); Lcd1602_Data('0'+temp_u/10); Lcd1602_Data('0'+temp_u%10); delay_ms(200); } } } if(key_4==0) { delay_ms(300); if(key_4==0) { while(key_4==0); Lcd1602_Com(0xc1); Lcd1602_Data(':'); break; } } } for(;;) { Lcd1602_Com(0xcA); Lcd1602_Data('>'); Lcd1602_Data('0'+humi_u/10); Lcd1602_Data('0'+humi_u%10); if(key_2==0) { delay_ms(300); if(key_2==0) { humi_u++; if(humi_u>99) { humi_u=0; } Lcd1602_Com(0xcb); Lcd1602_Data('0'+humi_u/10); Lcd1602_Data('0'+humi_u%10); delay_ms(1000); while(key_2==0) { humi_u++; if(humi_u>99) { humi_u=0; } Lcd1602_Com(0xcb); Lcd1602_Data('0'+humi_u/10); Lcd1602_Data('0'+humi_u%10); delay_ms(200); } } } if(key_3==0) { delay_ms(300); if(key_3==0) { humi_u--; if(humi_u<0) { humi_u=99; } Lcd1602_Com(0xcb); Lcd1602_Data('0'+humi_u/10); Lcd1602_Data('0'+humi_u%10); delay_ms(1000); while(key_3==0) { humi_u--; if(humi_u<0) { humi_u=99; } Lcd1602_Com(0xcb); Lcd1602_Data('0'+humi_u/10); Lcd1602_Data('0'+humi_u%10); delay_ms(200); } } } if(key_4==0) { delay_ms(300); if(key_4==0) { while(key_4==0); Lcd1602_Com(0XCA); Lcd1602_Data(':'); break; } } } for(i=0;i<3;i++) { UART2_SendByte(0xff); UART2_SendByte(temp_u); UART2_SendByte(humi_u); }}/*********清空缓存************/voidclean_reg(){ chari; for(i=0;i<32;i++) { reg[i]=0; } R_flag=0; }/*************串行口连续发送char型数组,遇到终止号/0将停止*********************/voidSendOneByte(charc){USART_SendData(USART1,c);//发送当前字符 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET); }/***********ESP8266连接函数*****************/voidESP8266_reboot(){ UART1_SendString("AT+CWMODE=2\r\n"); delay_ms(1000);//延时2秒 UART1_SendString("AT+RST\r\n"); delay_ms(1000);//延时2秒}voidESP8266_link(){ UART1_SendString("AT+CWSAP=\"ESPLINK\",\"1234567890\",1,3\r\n"); delay_ms(1000);}voidESP8266_shu(){ UART1_SendString("AT+CIPMUX=0\r\n"); delay_ms(500);}voidESP8266_touchuan(){ UART1_SendString("AT+CIPMODE=1\r\n"); delay_ms(1000);} voidESP8266_Link_IP(){ UART1_SendString("AT+CIPSTART=\"UDP\",\"192.168.4.255\",22222,33333,0\r\n"); //6666目标IP8888本机IP delay_ms(100);}/***********eesp8266联机**************/voidesp8266_init(void){ Lcd1602_Com(0x80); Lcd1602_Word("Connection..."); delay_ms(500); ESP8266_reboot(); while(1) { Lcd1602_Com(0x80); Lcd1602_Word("Connection..."); clean_reg(); ESP8266_link(); if(strstr(reg,"OK")) break; delay_ms(500); } Lcd1602_Com(0x80); Lcd1602_Word("ReadIP..."); while(1) { clean_reg(); ESP8266_shu(); //Uart1Sends(ip); if(strstr(reg,"OK")) { break; } } delay_ms(500); Lcd1602_Com(0x80); Lcd1602_Word("SetIp..."); while(1) { clean_reg(); ESP8266_Link_IP(); if(strstr(reg,"OK")) break; delay_ms(500); } delay_ms(500); while(1) { clean_reg(); ESP8266_touchuan(); if(strstr(reg,"OK")) break; delay_ms(500); } Lcd1602_Com(0x80); Lcd1602_Word("Success..."); delay_ms(500); clean_reg(); UART1_SendString("AT+CIPSEND\r\n"); delay_ms(500); clean_reg(); rec_flag=1;}/*********发送数据************/voidsend_data1(void){UART2_SendByte(0xfa); if(start1==1) { UART2_SendByte('h'); UART2_SendByte(flag1); } else { UART2_SendByte('i'); UART2_SendByte(0); }}voidsend_data2(void){UART2_SendByte(0xfb); if(start2==1) { UART2_SendByte('h'); UART2_SendByte(flag2); } else { UART2_SendByte('i'); UART2_SendByte(0); }}voidsend_data(void){UART1_SendByte(temp1); UART1_SendByte(humi1); UART1_SendByte(temp2); UART1_SendByte(humi2); UART1_SendByte(temp3); UART1_SendByte(humi3); UART1_SendByte(temp4); UART1_SendByte(humi4); UART1_SendByte(temp_u); UART1_SendByte(humi_u); UART1_SendByte(start1); UART1_SendByte(start2); UART1_SendByte(flag1); UART1_SendByte(flag2);}/***********串口接收*************/voidUSART1_IRQHandler(void){ u8rec; if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) { rec=USART_ReceiveData(USART1); if(rec_flag==0) { reg[R_flag++]=rec; if(R_flag>=30) R_flag=0; } e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年农村体育工作规范测试题库
- 2026年科技发展趋势报告测试题库
- 2026年招聘考试知识点解析及模拟问答
- 2026年经济法中级职称考试精讲笔记与习题集
- 2026年境外投资项目核准与备案常见问题解答
- 2026年特殊教育教师招聘面试结构化问答
- 2026年窗口单位免证办服务承诺知识题
- 2026年乡村振兴战略实施要点专题考核题库
- 【苏教版】-小学一年级数学下册-第1课时 两位数加、减整十数
- 2026年服务业客户服务流程简化方案
- 12.1至12.4 集员辨识的定义及发展
- 房车全车电路施工技术交底
- 基于复杂网络的城市轨道交通-公交网络鲁棒性分析与优化
- 高铁站建筑节能方案设计
- 酒店安全管理制度
- 电动车逆行知识培训内容课件
- 医养中心突发事件应急预案
- 2025房屋买卖合同范本(下载)
- 2025年哈尔滨工业大学管理服务岗位招聘考试笔试试题(含答案)
- (2025年标准)山地开路协议书
- 2025年陕西高中学业水平合格性考试化学试卷真题(含答案)
评论
0/150
提交评论