张棚,张子璇,杨卓,韩凤霞
基于Arduino的物联网智能浇灌系统设计与开发*
张棚1,张子璇1,杨卓1,韩凤霞2
(1.北京信息科技大学 机电工程学院,北京 100192;2.北京信息科技大学 机电实习中心,北京 100192)
为了满足长时间无人照看珍贵绿植的灌溉需求,及节省温室大棚的批量化生产的人力资源,开发了高效、精准、便利的远程绿植管理系统。系统以Arduino单片机为控制核心,利用温湿度传感器等对当前土壤环境及空间环境进行实时监测,以调整水泵的出水时间和出水量。同时,通过蓝牙模块配合占有率最高Android手机操作系统,用户可以直观地看到各类参数并且可以手动设定浇花临界值,以解决无人看管情况下的自动灌溉及批量绿植养殖的人工成本问题。
Arduino;Android;传感器;自动浇灌
随着科技的发展和进步,人们对居住的环境要求越来越高。在家中种植绿植不仅可陶冶我们的情操、丰富业余生活,也能净化空气。在日常生活中,上班族因工作、出差或旅行等原因缺少照料绿植的时间,学校办公室、教室的花卉在寒暑假时因长时间无人定期浇水也会枯死;对于温室大棚的苗圃种植来说,每种绿植所对应不同的需水量,需要人们花时间思考,如何降低人工成本,实现收益的最大化,是亟待解决的问题。
近几年来,国内市场上出现了多种自动浇灌的设备,工作原理不尽相同,市面上自动浇灌系统更多用于苗圃基地等大型场所,尤其是在自动浇灌系统较为成熟的国外,比如Droplet系统,主要采用了最新的自动技术和可连接设备,并使用了云计算服务。无论在哪里,都可以通过智能手机、平板或者电脑等连网设备对 Droplet系统进行控制和配置。但相比于中小型苗圃种植者来说,这样的浇灌系统较为昂贵,而且喷灌的方式也不适合家庭绿植所处的狭小空间。
目前,市场上可供选择的新型浇花系统在参数获取方面做的非常精确,在网络连接方面采用WiFi、Zigbee等模块实现与网页、手机等的配合,并且一些系统还能运用到智能农业当中。但目前国内较少使用Arduino进行核心控制,并且在人机交互等方面还存在着很多不足,无法满足日益增长的客户需求。基于目前的浇灌系统存在的一些问题和缺陷,需要设计一款可以让用户很直观地获得各种监测数据并且能够远控制的智能浇灌系统。基于Arduino的物联网智能浇灌系统则满足要求。
本文所设计自动浇灌系统包括硬件系统和软件系统两个方面,硬件系统主要由以Arduino为控制核心的传感器组和以水泵为主的浇灌执行系统组成,包括Arduino UNO开发板、温度检测模块、湿度检测模块、光强检测模块、水位监测模块、蓝牙模块、浇灌执行模块等。软件系统则依靠Google公司专门开发的一款图形化编程软件App Inventor搭建,在Android系统中依靠蓝牙模块进行数据传输。系统结构如图1所示。
图1 系统结构示意图
随着单片机性能的不断提高,市面上可供选择的单片机种类也越来越多。相比于价格昂贵并且适用于Linux系统的Raspberry Pi主板来说,Arduino UNO具有极强的开发性,可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。
Arduino MEGA2560的核心是有54个数字I/O接口和15个模拟量I/O接口的ATmega2560单片机,并且其软件部分Arduino IDE基于processing IDE开发,是一个完全开源的平台。在USB供电或者外部直流电源供电的条件下能支持3.3 V及5 V输出。
Arduino MEGA2560开发板如图2所示。
蓝牙模块采用SH-HC-06模块。该模块采用英国CSR公司芯片,兼容市场上的HC-06模块,遵循蓝牙V2.0+EDR蓝牙规范,最高传输速率可达2.1 M,传输距离超过20 m。本模块支持UART接口、SPP蓝牙串口协议,具有成本低、体积小、收发灵敏、性能高等优点,只需要配备少许的外围元件就能实现较强的功能。在软件方面,支持AT指令,用户可以根据需要使用AT指令更改串口波特率、设备名称、配对密码等参数,使用灵活。
图2 Arduino MEGA2560开发板
温湿度检测模块采用DHT11温湿度传感器。该模块功耗低且抗干扰能力强,具有超长的信号传输距离和长期的稳定性,单线制串行接口使系统集成简单快捷,满足家庭绿植所处环境中的温湿度检测需求。在工作时,Arduino核心控制器发送信号,DHT11由低功耗状态转变为高速状态,采集当前状态的各参数量,然后将采集到的数据发送。控制端开始接收并保存相应的数据信息,用户能够通过手机软件直观看到绿植所处环境中的相应参数值。
光强度检测模块采用光敏二极管。光敏二极管对环境光强最敏感,可用于检测周围环境的亮度和光强,在环境无光或光强达不到设定阈值时,对外输出高电平,反之则输出低电平。光敏二极管通过一个引脚和Arduino MEGA2560的一个I/O口相连,单片机从而获得环境光照强度值。由于不同植物对光照强度的敏感程度不同,在控制端接收并保存光照强度参数后与设定的阀值相比,再结合温湿度后做出是否能浇灌的决定。
水位监测模块采用Water Sensor水位传感器,Water Sensor水位传感器的工作温度为10~30 ℃,工作湿度为10%~90%无凝结。该传感器是通过具有一系列的暴露的平行导线线迹测量所处环境中水量大小而判断水位。在完成水量到模拟信号的转换后,输出的模拟值直接被Arduino开发板读取,如果得到的水位低于水泵正常工作水位,为了避免水泵因为空转而烧坏,手机软件界面会提醒用户水位不足以达到监测水位目的。
手机软件是硬件系统与客户间实现人机交互和远程控制的媒介,软件界面主要包括实时参数显示、是否达到浇灌条件判断、人为控制浇灌选项等。手机软件的设计通过APP Inventor完成。
手机软件的主要功能如下:①实时参数显示。包括实时的温度、湿度、水位、光照强度显示,用户能够很直观地看到环境参数。②显示是否达到设定的浇灌条件。在温度、湿度、光照条件等都满足,且供水充足的条件下,显示达到浇灌条件。③人为浇灌控制。在传感器出现故障,根据浇灌周期等经验因素判断达到了浇灌条件时,可以人为控制浇灌。④周期性浇灌。根据用户使用浇灌系统一段时间后,可以控制硬件进行周期性的浇灌。
图3 各传感器连接图
软件系统主要包括温度检测、湿度检测、光照强度检测、水位检测及蓝牙数据传输。其中,土壤湿度值的检测关键点,是通过对其实时值的采集、处理,然后与设定的阈值进行比较,进而决定是否控制水泵进行浇灌。温度值和光照值的采集主要从生物的角度考虑,较高温度或较低温度条件下,以及较强光照条件下,浇灌都不利于植物的生长,所以,可以通过人为设定阈值范围,从而进行判断。水位传感器检测供水是否充足以保护水泵。
由于每种绿植在不同环境参数下的水分需求量不同,本系统主要针对于一种或一类的植物进行精确浇灌以达到科学种植的目的。通过Android系统将Arduino单片机读取到的各类参数可视化地呈现在软件界面,能够在用户不在的条件下更好地管理家庭绿植。通过大量实验证明,本文设计的基于Arduino的物联网智能浇灌系统,可从环境和用户两方面考虑实现在无人的条件下达到自主浇灌的目的,并且可以根据用户的设置实现周期性的浇灌,具有较好的开发价值。
[1]赵兴芝.计算机物联网技术发展及应用[J].电子世界,2017(01).
[2]崔乔.基于ARDUINO的室内盆栽智能浇灌检测系统的设计[J].科技风,2018(12):3.
[3]陈培东,姚玉环,李祖鹏,等.基于Arduino的远程自动浇花系统设计[J].电子世界,2017(06):179.
[4]陈玉敏,谢伟,孟宪民.基于STM32的温度控制实验设计[J].现代电子技术,2016,39(12):37-40.
[5]宋艳.基于物联网技术的智能农业种植系统设计[J].现代电子技术,2013,36(24):38-39,42.
[6]江莹旭,陈如清.基于土壤湿度监测的智能浇灌系统设计[J].科技视界,2015(25):156,248.
[7]李文琛.基于多传感器数据融合的无线环境监测系统[D].南京:南京理工大学,2014(07).
[8]郭帅,宁礼佳,鲍玉冬,等.基于手机遥控的智能浇灌系统设计研究[J].安徽农业科学,2014(18):328-329.
张棚(1997—),男,四川成都人,本科,研究方向为机械电子工程。
大学生科研训练项目“基于Arduino的物联网智能浇灌系统设计与开发”(编号:5111823104)
2095-6835(2019)02-0030-02
TN92
A
10.15913/j.cnki.kjycx.2019.02.030
〔编辑:张思楠〕