SCI论文(www.lunwensci.com):
摘要:相比传统农业大棚,智能农业大棚是一种更加科学有效的管理手段。特别是在物联网技术快速发展的今天,智能农业大棚的实现将变得更加简单。本文主要完成智能农业大棚的系统设计。该系统基于树莓派3B控制和中移云平台,采用物联网设计思路,利用各个传感器获取大棚环境数据,OLED显示数据和继电器控制设备,同时通过互联网把数据传输到中移云平台,并且通过云平台和手机客户端可以查看大棚内环境数据和远程遥控大棚中的设备。该系统的实现能够有效地减少投入在大棚中的人力资源,提高对大棚的管理精度,可以增加大棚农作物的产出,从而提高农民的收入。
关键词:树莓派;农业大棚;物联网;Python;云平台
Design of Intelligent Remote Control System for Agricultural Greenhouse Based on Raspberry Pie
YING Yaping,YOU Chuankui,ZHU Xiangjun,YE Honghong
(Zhijiang College of Zhejiang University of Technology,Shaoxing Zhejiang 312030)
【Abstract】:Compared with traditional agricultural greenhouses,smart agricultural greenhouses are a more scientific and effective management tool.Especially with the rapid development of Internet of Things technology,the realization of smart agricultural greenhouses will become simpler.This paper mainly completes the system design of intelligent agriculture greenhouses.The system is developed based on the Raspberry Pi 3B control and China Mobile Cloud Platform.It adopts the idea of the Internet of Things design.It uses various sensors to acquire greenhouse data,OLED display data,and relay control equipment.At the same time,the data is transmitted to the China Mobile Cloud Platform through the Internel.The remote control of the equipment in the greenhouse and the environmental data in the greenhouse can be realized through the cloud platform and the mobile client.The implementation of the system can effectively reduce the human resources invested in the greenhouse,improve the management precision of greenhouses,and can promote the output of crops in greenhouses,thus increasing farmers'income.
【Key words】:Raspberry Pi;agricultural greenhouses;Internet of Things;Python;cloud platform
随着现代科技的迅速发展,各种智能化管理技术也应运而生,越来越多的人不再愿意去从事一些传统的体力工作,农业人力资源的匮乏已成为不可回避的现实难题,其结果导致人力成本不断提高。民以食为天,粮食问题一直是当今社会受关注的问题,运用科技手段解决农业人力资源匮乏问题具有现实意义。农业大棚的智能化管理能很好地解决这个问题[1,2]。
农作物生长受环境因素的影响,在合适的温湿度、光照的作用下,才能较好地生长、成熟。利用先进的模拟生物技术,模拟出适应不同农作物生长的环境条件,解决地理位置差异、环境气候差异造成农作物不能很好生长的问题,降低种植业对季节、环境的高度依赖性。结合物联网技术和智能控制技术,实现农业大棚的智能化检测和远程控制,能实现精准施策,提高经济效率,释放劳动力,同时解决劳动力不足的问题[3,4]。
基于树莓派的农业大棚智能控制系统是通过树莓派采集数据,并以无线网络为基础,通过HTTP协议上传数据到服务器,从而实现了大棚环境参数的自动检测、显示和控制。
1总体方案设计
1.1设计概述
本设计的基本原理:传感器采集的数字信号直接传送给树莓派,模拟信息通过ADC模块转换成数字信号后传送给树莓派,继电器开关信号也由树莓派控制,树莓派再通过HTTP协议上传给中移云平台。手机端与网页端通过HTTP获取云平台的数据并显示以及控制树莓派的继电器开关。
1.2系统框架
系统框图如图1所示。处理端选用树莓派,具有多个GPIO端口,还有I2C、SPI等常用的数据接口;采用网络端口上传数据到服务器;利用光敏二极管传感器模块采集光照数据;DHT12传感器模块使用12C通讯方式采集温度数据,而土壤湿度数据的采集使用土壤探头;PCF8591AD模块实现模拟信号到数字信号的转换。采集的数据信息送到树莓派进行处理,树莓派内部执行软件控制数据送往OLED模块进行显示。执行模块采用4路继电器来驱动。
2硬件系统设计
2.1硬件电路构成
本设计的硬件电路有以下几个模块构成:传感器模块、AD转换模块、树莓派模块、显示模块、执行模块。
2.2传感器模块
2.2.1温湿度传感器
本设计采用DHT12数字式型温湿度传感器进行农业大棚温度采集。这是一款包含有已校准数字信号量输出的温湿度复合型温湿度传感器,是前代产品DHT11的升级产品,它应用了专用的数字信号模块采集技术以及基于半导体作为主体的温湿度传感技术,确保以及保证了产品具有可信度比较高的可靠性与产品必需的长期稳定性。DHT12具有单总线和标准I2C两种通讯,且单总线通讯方式完全兼容DHT11。使用标准的单总线接口,使系统的小巧化集成化变得更加的简易迅捷,具有超小的体积、较低的功耗,适合多种多样的应用场合。本次设计采用I2C通讯方式,温湿度传感器SDA引脚作接I2C数据总线,SCL接I2C时钟总线,I2C地址为0xB8(DEVSEL),I2C通讯速率不能高于400kHZ。
2.2.2光照采集传感器
该光照采集传感器模块由光敏二极管制作而成,用于光线亮度检测,具有方向性,只感应传感器正前方的光源,用于寻光效果更佳。这个模块可以检测附近实时的亮照度和光照强度,使其符合植物生长所需要的亮度,与光敏电阻相比方向性更好且灵敏度可调。其输出方式有DO数字信号量输出和AO模拟信号电压输出两种。本设计采用AO模拟输出。AO输出是采集二极管两侧的电压,当光照强度达到使光敏二极管电阻为0时,默认光强到达最大值,当光照强度达到使光敏二极管电阻为无穷时,默认光强到达最小值,其他数值可用百分比表示。实际上,应有一个标准光源发射标准光,再用光照光敏二极管采集数值,在多次采集后获得大部分的对应数值,再通过Matlab进行线性拟合,获得一个输入输出函数,但由于条件限制,无法实现。
2.2.3土壤湿度传感器
土壤探头采集土壤湿度。土壤探头相当于电压表的黑白表笔,其工作原理是当土壤中含有水分时,土壤的电阻值进行变化,此时土壤探头相当于串联了土壤的电阻,当水分越大,土壤探头的阻值越小,输出电压越小,说明湿度越大;水分越小,土壤探头串联的阻值越大,输出电压越大,说明湿度越小。
2.2.4 AD转换模块
AD转换模块PCF8591是一个使用单片集成、具有单独供电模块、低功耗的8位比较型CMOS数据获取采集器件。本模块支持外部4路电压输入采集,电压输入范围为0-5V,且模块带电源、DA指示灯,使观察更加方便。由于是8位的AD芯片,其精度为5除以256,约为0.02,对于本次项目是足够使用。如果大棚面积大,需要多个传感器时,可通过ZigBee/Rola建立通信网络,设置多个节点,利用多个AD芯片采集数据并传输到一个主机上进行处理。
PCF8591引脚图具体定义如下:1脚AIN0:芯片模拟输入接口;2脚AIN1:芯片模拟输入接口;3脚AIN2:芯片模拟输入接口;4脚AIN3:芯片模拟输入接口;15脚AOUT:芯片DA输出接口;9脚SDA:IIC数字接口,接单片机IO口;10脚SCL:ICC时钟接口,接单片机IO口;8脚GND:接地;16脚VCC:电源接口,接3.3~5V。
2.3树莓派
树莓派,简称RPi,是一款基于ARM内核的微型电脑主板,以内存卡做为内存硬盘。其大小尺寸只有信用卡,虽然主机的运行速度不及台式机,但与其他电脑相比也具备了大部分基本功能,只需接通显示屏、键盘和鼠标,就能运行如电子表格软件、文字处理软件、玩普通小游戏、播放视频等功能。树莓派的型号有A、B两板。其中A板提供一个标准的USB2.0接口,搭配了256MB内存,其额定功率为2.5W,输入电流为500mA;B板提供两个标准的USB2.0接口,还有一个视频输出接口HDMI输出和一个以太网端口,搭配了512MB内存,其额定功率为3.5W,输入电流为700mA。存在GPIO、SPI、I2C等接口。由于树莓派存在WiFi模块,面对本次的设计提供了很好的条件,又因为其支持Linux系统,所以可以用Python语言进行编写大大的简化了程序,并使程序的可读性增加了不少。本次设计采用树莓派3b版。
3软件设计
3.1系统程序设计方案
对于程序的编写可以使用C语言或者使Python语言编写,但是通过对程序前期的功能要求分析,发现如果使用C语言编写将会使程序十分的复杂,所以使用Python语言编程。程序拟采用的是超级循环模式编写,在Python3.0版本的环境下编写。(1)先通过I2C总线获取到实时的温度值,上传到云平台服务器,再通过I2C总线获取光照的AD值,取10次的平均值并且上传云平台服务器;(2)获取土壤湿度的值进行与光照值处理相同的操作;(3)从服务器获取开关状态并控制继电器的开关执行相应动作;(4)获取服务器上的设定阈值,更新服务器上的触发器的值,并判断是否超过阈值,如果有则对网页上的开关状态更新等待下一次程序对开关状态的获取;(5)在Oled上显示温度、土壤湿度、光照;(6)循环执行以上的步骤。系统流程图如图2所示。
3.2模块程序设计
总体程序分为I2C数据采集模块、数据上传模块、数据下载模块、数据更新模块和Oled显示模块。
3.2.1 I2C数据采集模块
I2C通讯协议与SMBus(System Management Bus,系统管理总线)类似,故此通过SMBus库来进行通信。在SMBus库中,一般对设备读取与写入有两个程序可直接调用,write_byte(address1,address2),read_byte(address1)。其中address1是设备的地址,address2是寄存器地址。在读取一个I2C设备的一个寄存器中的值时,先调用write_byte(),然后调用read_byte()。原理等同于上方描述的I2C读寄存器的标准流程。在此模块中,采集温度、土壤湿度、光照并对其进行基本处理。
3.2.2数据上传模块
模块名字叫做http_put(x,value),其中调用urllib2,JSON库函数。其中x是上传数据参数的名字,value是参数。通过查询OneNET平台开放的API接口与技术文档知道,HTTP更新方式是POST。报文中需要一个URL,一个HTTP头部,一个HTTP内容,内容示例{"datastreams":[{"id":"XXX",//数据流名称或数据流模板名称"datapoints":[{"at":"2013-04-22T00:35:43",//上传数据点时间,可选。如果为空,则设备云会取当前时间。如果存在其格式必须为"YYYY-MM-DDThh:mm:ss"的形式(例如:2015-03-22T22:31:12)"value":XX//上传数据点值}]}。所以更新的基本流程:使用一个Request对象,包含URL,包含一个JSON数据,JSON数据是将自己更改的HTTP内容转为JSON数据。然后通过往Request对象添加HTTP头,即API Key。设置HTTP的访问方式为PUT,最后访问网站,并且返回数据。数据返回中包含更新是否成功。
3.2.3数据下载模块
模块名字叫做http_get(url),其中调用urllib2库函数。通过查询OneNET平台(中国移动物联网开放平台)开放的API接口与技术文档知道,HTTP查询数据的方式是GET的方式,报文中需要一个URL,一个HTTP头部。其中URL是OneNET平台自动生成,包括要查询的数据名字,HTTP头部也是OneNET平台生成的,是一个唯一的设备API Key。所以查询的基本流程:使用一个Request对象,包含URL,然后通过往Request对象添加HTTP头,即API Key。设置HTTP的访问方式为GET,最后访问网站,并且返回数据。数据返回中包含要查询的数据。
3.2.4数据更新模块
模块名字叫做http_update(url,yu,shu,t),其中调用urllib2,json库函数。其中url同上一模块,yu是定义的符号,即大小符号(大于或小于),shu是要更新的数值,t是需要更改数值的名字。通过查询OneNET平台开放的API接口与技术文档知道,HTTP更新方式是PUT。报文中需要一个URL,一个HTTP头部,一个HTTP内容,内容示例{"title":"xxx",//设备名(可选)"ds_id":"xx",//数据流名称(id)(可选)"dev_ids":"xx",//设备ID(可选),"e-mail":"xx xx.com","type":"xxx","threshold":xx//阙值}。所以更新的基本流程:使用一个Request对象,包含URL,包含一个JSON数据,JSON数据是将自己更改的HTTP内容转为JSON数据。然后通过往Request对象添加HTTP头,即API Key。设置HTTP的访问方式为PUT,最后访问网站,并且返回数据。数据返回中包含要更新是否成功。
3.2.5 OLED显示模块
OLED是通过I2C通信,主要函数是draw.text((x,top),str(xx),font=font,fill=255)。其中x是x坐标,top是y坐标,xx是需要显示的字符。OLED的显示更新时间要看程序执行一边的时间来确定,因为在程序没有获取新的数据值之前并不需要更新显示。在函数中,函数的主要功能是将字符通过I2C总线送到OLED设备上显示。
3.3系统逻辑架构
当GPIO口的模式设置好后,开始进入循环等待,先通过I2C数据采集模块采集DHT12中的温度,对温度进行判断,如果校验和不对,重新采集一次。如果温度数据正常通过数据上传模块,将温度数据上传到云平台。接着通过I2C数据采集模块采集光照强度,因为采集的值是没有处理过的值,最大为255,对应电压5V,因为没有测量光照强度的仪器,故自定义光照最大为3.3,单位不定。当光照达到无法测量的值时,说明光照已经太强了,没有测量的必要。所以对采集的数据除以255再乘上3.3,然后通过数据上传模块将光照强度上传到云平台。接下来,用I2C数据采集模块对要采集的土壤的湿度进行采集,与上面说写的相同,湿度越大,电压值越小,又因为土壤湿度的单位是百分比,所以要对值除以255,然后再乘以100。此时的值是相反的,是土壤的干燥度,所以要被100减去才是正常的湿度值,然后再通过数据上传模块将数据上传到服务器。到这里为止,所有的数据都已经采集了,接下来是对数据的判断了。
通过数据下载模块,依次获取服务器中开关的状态值,对GPIO口控制,如果开关状态是开启,GPIO输出高电平,控制继电器吸合,从而使外部设备工作,如果开关状态是关闭,GPIO输出低电平,继电器不吸合,从而使外部设备停止工作。
接下来,通过数据下载模块,获取云平台中设定的值,即是阈值。因为一共有3个数据需要控制,所以依次获取。再通过数据更新模块将触发器值更新,接下来通过数据下载模块获取自动控制开关的状态。然后对自动控制开关的状态进行判断,如果是开启,说明需要软件根据设置阈值对外部设备进行控制,要对所有的数据进行判断。如果超出范围,需要开启外部设备,通过数据上传模块,更改需要控制的外部设备开关状态,等待下一次循环读取。如果自动控制开关的状态是关闭的,就不用进行上面的步骤。最后,将温度、湿度、光照显示在OLED中。等待下一次循环的到来。
3.4图形化界面设计
为了使数据能够更好的呈现出来,本次的设计采用了OneNET自带的一个应用图形化编辑器,可将数据转化为表格的形式在手机App或者网页端上查看。其中开关对应着OneNET的一个开关属性的数据流,表格也对应着一个数值的数据流,命令框是对树莓派下发更改数据的命令数据流。图形化界面如图3所示。
4总体联调
4.1系统调试
首先是要对硬件电路进行调试,查看各个模块的工作电压是不是在标准的工作电压下,可以编写较小的程序对硬件模块进行测试,查看硬件模块是不是在正常工作。在程序调试方面,由于总体的程序由于功能比较多,所以采用模块化进行调试,对外接模块的功能进行验证,观察现象是否正常。例如传感器的值是不是正确,开关的状态切换是不是正常的。然后逐一进行调试,最主要的是对云平台中的数据的检查。对于温度的检测,可以根据环境温度作为参考温度。
4.2系统控制方式
该系统可以通过网页端查看数据和控制开关以及数据的变化。也可以通过手机App查看数据和控制开关以及数据的变化。由于存在触发器,可以在数据超出预定值时发送邮件给固定的邮箱。当按下自动控制开关时,将不能自动开启与关闭外部设备,只能通过其他3个开关对其进行控制。
5结论
本设计主要完成了通过树莓派采集温度,土壤湿度,光照上传到服务器,并且在手机端显示,实现智能控制农业大棚。达到以下目标:(1)传感器采集温度、土壤湿度、光照;(2)树莓派处理采集的数据并上传服务器端;(3)手机端通过服务器获取数据,并且控制大棚内灯的亮灭、电机的转动。经测试,该系统的实现能够有效的减少投入在大棚中人力资源,提高对大棚的管理精度,可以促进大棚农作物的产出,从而提高农民的收入。探索与研究农作物生长的智能化管理技术是未来开拓绿色农业发展的必经之路。
参考文献
[1]王君,于海业,张蕾.温室环境控制系统的发展[J].中国农学通报,2010(12):371-375.
[2]孟祥莲,孙平.基于Android平台的农业大棚温湿度监控系统设计[J].数字技术与应用,2014(06):169+171.
[3]王峰.基于物联网的农业大棚温度自动控制系统设计[J].现代电子技术,2017,40(13):152-154.
[4]李兴泽,王福平.基于物联网的农业大棚智能管控系统[J].江苏农业科学,2018,46(1):181-183.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/46175.html