基于树莓派的农业温室环境检测系统设计

2021-09-10 07:22萧德璋房杰祥王金伟陈梦瑶陈佳智
科技尚品 2021年2期
关键词:树莓派物联网

萧德璋 房杰祥 王金伟 陈梦瑶 陈佳智

摘 要:针对当前很多农业温室不能实时获取各项室内环境数据的现状,为了更加方便地监测温室农作物生长环境,文章设计了一种低成本获取温室作物生长环境数据的方案。方案通过软硬件结合,使用树莓派Raspberry Pi4B作为终端,连接DHT11、MQ-135等多个传感器,结合Python開发并上传数据到OneNet开放平台,配套APP用以方便农户实时查看温室内环境的空气温湿度、气体毒性等参数指标。经测试,系统数据获取稳定并可实时根据环境更新,有一定的参考价值和实用价值。

关键词:物联网;农业温室;树莓派;Python;Vue

中图分类号:TP277;TP391.44 文献标识码:A 文章编号:1674-1064(2021)02-043-02

DOI:10.12310/j.issn.1674-1064.2021.02.019

科学技术的不断进步发展催生了物联网技术,并在各个方面都产生了应用价值。目前,我国温室农业的物联网水平还尚处于起步阶段。借助物联网技术可以节约自然、人力资源,提高农业生产效率。温室环境中农作物生长所依赖的空气温湿度、土壤温湿度及其光照强度等参数指标,对农作物生长都有着十分重要的影响。只有在适宜的综合环境因子的共同作用下,才能够使农作物充分生长,达到高产值。传统农业环境因素的检测方式,主要依赖人工以往的温室种植经验,实地获取各参数指标进行分析。该方式存在效率低、人力耗费大、生产投入高、样本误差大等问题,无法满足农作物对其生长环境的即时需求。因此,对影响农作物生长环境因素的相应指标进行实时监测,显得尤为重要。在环境因子短时间内产生巨大变化时,可以执行机器或者人为及时干预,采取相应措施,使损失降到最低,实现效益化。

树莓派为Python编程提供了一个成本低廉、稳定可靠的开发平台,其允许树莓派的开发者将项目扩展到较大的规模[1]。文章设计一种基于树莓派的多个传感器监测系统,相比传统的农业温室系统,具有体积小、价格低、操作便捷等优点。

1 系统设计方案

农业温室环境检测系统,主要以树莓派系列微处理器为控制核心,外围硬件模块主要包括一系列传感器模块、摄像头软件模块、显示模块等,系统总体设计和架框图如图1所示。

2 硬件组成及实现原理

硬件控制部分主要由Raspberry Pi4B、DHT11空气温湿度传感器、mh-rd11雨滴检测传感器、mq-135有毒气体检测传感器、火焰报警控制模块,以及移动摄像头控制模块和电源供电控制模块等多个部分的组件组成。

2.1 Raspberry Pi模块

温室环境监测系统采用树莓派为主要控制器,是一个开放源代码的硬件平台。该平台包含一块具备I/O功能电路板的ARM芯片,能适应物联网等多种工作环境,不仅能跑全系列ARM GNU/Linux发行版,而且支持Snappy Ubuntu Core及Windows 10 IOT[2]。在其上安装Debian,不仅体积小,而且功能极其丰富且强大。相比上一代CPU,性能提升至1.5Ghz的四核64位CPU。该处理器的性能使其能流畅地运行在本设计中,能够满足对于多个传感器数据的同步读取需求。此外,其中还包含40个GPIO引脚,支持外接锂电池模块及拓展板,使其可以与硬件进行数据读取交互和高度定制化。

2.2 锂电池拓展板及显示模块

锂电池拓展板载独立开关,使用USB 5V输出,由两块18650锂电池作为供电源。显示模块采用分辨率为128×64的OLED液晶显示屏,显示单元能够自主发光,采用SPI或I2C的通信方式。该模块主要用于人机交互[3],显示当前由Raspberry Pi收集到的温湿度数据。

2.3 传感器模块

传感器应用模块主要包括温湿度传感器DHT11、MQ-135有毒气体传感器、FC-28土壤湿度变化传感器,这些传感器可以通过杜邦线直接连到树莓派进行实时数据采集。上述传感器用到的主要有三个接口:VCC、GND以及DATA接口。VCC接入电源正极3.3V或5.5V,使用5.5V电源时需串联一个电阻,用以限流对树莓派起保护作用。GND接入树莓派GPIO接口中GROUND接口。DATA接入GPIO数据接口,可在Python的驱动代码中自定义,如:

GPIO.setmod(GPIO.BCM)

GPIO.setup(18,GPIO.IN)

2.4 摄像头模块

摄像头模块由树莓派配套的摄像头及其排线组合构成,与Raspberry Pi之间通过CSI接口相互进行连接,参数包含视场角72.4°、焦距3.29等。由树莓派主板安装OpenCV软件库,可采集数据并进行处理。

3 系统软件设计

配套树莓派传感器的App前端展示使用Vue框架开发,后端接口Laravel框架开发,服务部署在Centos服务器,一套代码,多端使用,易于修改。

3.1 手机端App前端设计思路

App前端所用技术主要是利用uni-app框架的便利性,其语法完全贴合了Vue这一近年新型前端框架的语法,uni-app是一个能够直接利用Vue.js来开发所有基于前端的应用框架,开发者自己编写一套源代码,可以将其发布给IOS、Android、H5、各种小程序、快应用等众多平台。这样对于软件开发者的开发、后期维护及其用户的使用都比较友好。

Vue是另一个重要技术概念,因为其本身是一种抽象技术,允许通过自动使用小型、独立和一般并且可以互相交叉复用的网络组件模型,来自动构建一个大型网络应用。几乎所有不同类型的组件应用程序界面,都希望是一个可以直接抽象出来成为一个基于组件类的树。其有以下特点:如简化代码整体结构,降低维护成本;为代码、模块的复用提供基础;提升代码的稳定性(因为对不同业务、模块可以通过仓库权限控制进行物理隔离);提升整体架构的伸缩性,为业务扩展打下基础。App功能包括查看空气温湿度、火焰传感器等信号。

3.2 后端设计

使用PHP(编程语言)的后端框架Laravel进行接口开发,随着互联网提倡的前后端完全分离,PHP也基本告别了view模板嵌套开发,转而专门编写资源接口。Laravel是PHP框架中最优雅的框架,国内也有越来越多的人告别thinkPHP,选择Laravel。虽然框架本身便对API有支持,但在工作中还是需要再做一些额外的处理——解决使用不便,一些扩展包不能很好地支持的缺点,让其在开发API时更加得心应手。

3.3 Raspberry Pi软件设计方案

Raspberry pi4B官方基于Linux的Raspbian系统安装后,需要安装Python环境,而后安装BCM2835及OpenCV库,使用库可以方便通过GPIO接口对传感器进行函数操作。Python语法易于读写,兼容总多平台,可在Windows开发之后通过SFTP传送到树莓派中运行。由于需要驱动多个传感器,因此需要开发多个文件部分关键代码如下:

import Adafruit_DHT //導入Adafruit库

sensor=Adafruit_DHT.DHT11//设置传感器类型,此处为DHT11

GPIO=18//将引脚设置为18

humidity, temperature = Adafruit_DHT.read_retry(sensor, GPIO)

//通过Adafruit库通过引脚读取温湿度

文件运行之后,传感器将实时获取数据,通过多次实验,数据获取准确,基本无误差。

4 结语

通过搭建树莓派传感器,以及前后端开发App,由传感器获得的数据实时传输到服务器再到App显示出来,供农业生产提供参考,减少对于作物生长过程中的不利因素。树莓派搭建的作物生长环境检测平台具有无可比拟的成本优势,其可拓展性强,系统开源,可以及时获得温室内数据并根据数据进行解决,对农业的科学发展具有推动作用。

参考文献

[1] 李警波,李密生,唐博,等.基于树莓派和Python的黄瓜病斑识别系统的设计[J].物联网技术,2020,10(8):45-47.

[2] 周毅飞,吕晓菡,李庆海,等.基于“树莓派”三代的农业智慧监测系统研究[J].南方农业,2019,13(10):62-65.

[3] 王玉涛,于金星,陈鑫,等.基于树莓派的自适应空调控制系统设计[J].物联网技术,2020,10(10):32-3

猜你喜欢
树莓派物联网
智能安全防盗探测小车
基于高职院校物联网技术应用人才培养的思考分析
中国或成“物联网”领军者
基于嵌入式技术的农村医疗系统设计