植物生长环境监测系统设计

植物生长环境监测系统设计

摘要:针对目前农业种植环境监测系统成本高、布线复杂,监测终端便携性差的问题及多用户远程监测需求,设计了手机作为监测终端且其应用程序(App)监测数据可跨设备远程共享的系统。利用SHT11采集环境温湿度数据,单片机计算露点数据,安卓本地手机通过蓝牙接收数据并通过移动互联网保存数据至网络微数据库,多个安卓远端手机可共享监测数据,并可实现语音、振动以及文字报警。所设计系统成本低、监测终端便携性好,功能可扩性强。经实测,系统运行稳定、精度高,具有广泛的应用前景。

关键词:单片机;温湿度传感器SHT11;AppInventor2软件;应用程序

引言

随着智慧农业的发展,及时有效、随时随地获取植物生长环境信息是提高农作物生产质量的有效手段。目前农业生产中有线监测终端成本高、布线复杂、维护困难和便携性差,难以满足农业种植者的需求[1]。而传感器、智能手机与异构了各种无线网络通信技术如蓝牙、4G/5G移动互联网的监测系统则无需在现场布设任何线路,不受环境制约,使用维护方便。本系统将种植者手中的智能手机作为监测终端,其便捷的应用程序(App)操作实现了用户与采集端、网络微数据库的交互,远程农业监测或指导人员可通过远端手机App访问网络微数据库共享环境数据,实现种植者在多方协同指导下及时调整种植环境,进一步保证了种植者的经济收益,使得环境监测更加智能和人性化。

1系统总体方案设计

系统主要由采集端、跨设备的智能手机监测终端及网络微数据库3个部分构成,见图1。采集端由温湿度传感器、单片机、蓝牙模块和液晶显示组成,完成温湿度数据的采集、处理、露点计算及显示,并与本地监测手机交互数据;本地监测手机显示采集端数据并保存数据至网络微数据库;远端监测手机查询网络微数据库读取数据实现远程监测。此外,系统中的手机App均可根据设定的温湿度阈值进行语音、振动和文字提示报警。远端监测手机App可安装在多部手机上,实现了监测数据的跨设备远程共享。

2系统硬件设计

系统硬件电路由温湿度传感器、微控制器、蓝牙模块、监测显示终端组成。1)温湿度传感器:采用瑞士Sensirion公司生产的SHT11,其具有测量范围广、精度高、低功耗、成本低、体积小、抗干扰能力强、接口简单等特点。默认的测量温度和相对湿度的分辨率分别为14位、12位。温度测量范围为-40~+123.8℃,精度为±0.4℃;湿度测量范围为0%~100%RH,精度为±3%RH。SHT11与单片机之间通过串行总线I2C进行通信,DATA三态门用于数据的读取,SCK用于单片机与SHT11之间的通信同步[2,3]。2)微控制器:系统采用MCS—51内核的STC89C52RC单片机作为环境监测现场采集端的控制中心,其集成功能比一般8位单片机强大,除了可以像通用微处理器一样进行普通的算术逻辑运算外,还增加了面向控制的处理功能,不仅可以处理字节数据还可以进行位变量的处理,为此次设计提供了极大的方便[4]。3)蓝牙模块:采集端采用HC—06蓝牙串口透传模块,使用2.4GHz的ISM频段,蓝牙Class2功率级别,最高传输速率3Mbps,支持UART接口直接连接,3.3V供电,可快速建立蓝牙连接,实现低成本、低功耗、性能可靠及低复杂性的无线数据传输。HC—06蓝牙模块的UART_TX、UART_RX引脚分别与单片机的RxD/P3.0、TxD/P3.1相连,基于RFCOMM协议与单片机进行通信[5,6]。4)监测显示终端:本系统中有两类监测显示终端,一种为LCD1602液晶模块,通过单片机控制其信息显示;另一种为安卓本地、远端手机,利用手机App实现其监测及报警信息的显示。

3系统软件设计

软件设计分为单片机采集端程序设计、安卓本地及远端手机App程序设计三部分。

3.1单片机采集端程序设计。首先初始化串口、LCD和SHT11,接着采集温度、湿度数据,并计算露点,然后经LCD1602显示温湿度及露点数据;中断服务程序采用定时器T0中断,每隔50ms进入中断服务程序,根据串口SBUF收到数据采集指令,将采集的温度、湿度或露点数据通过HC—06蓝牙模块发送至安卓本地手机。程序中露点的计算需同时测得温度值和湿度值,再经式(1)、式(2)计算所得式中T为温度,RH为相对湿度,Dp为露点。LogEx是一个中间变量。露点测定在气候资源和环境学科学研究中具有重要意义,植物叶片表面温度低于露点温度是叶片露水形成的必要条件,是干旱半干旱地区植物的重要水源,自然界中许多植物的叶片都可以吸收附于其表面的露水,以补充体内水分、延迟叶片萎蔫时间[8]。单片机露点计算子程序如下:

3.2安卓本地手机App设计。3.2.1安卓App开发环境。AppInventor2AppInventor2(以下简称AI2)是所见即所得的安卓应用程序开发环境,用户可以图像化方式来创建安卓应用,不再依赖Java虚拟机,开发过程更高效、简洁,降低了开发门槛,缩短了设计周期,但其语言功能并不简单,利用提供的循环、条件以及其他的语言要素与逻辑结构,可编写出逻辑复杂的安卓应用完成对设备的控制[9]。3.2.2网络微数据库TinyWebDBTinyWebDB是AI2中的不可视组件,通过与AI2网络数据库服务网站的数据库服务器通信来存储和读取信息,实现数据在不同设备、用户之间的共享。目前提供的接口功能包括/storeavalue:保存所提交的标签及对应的数值,/getvalue:通过指定的标签查询对应的数值,如果数值不存在则返回空字串[9]。3.2.3安卓本地手机App程序设计流程。1)用户界面(userinterface,UI)设计本设计用到Screen(屏幕)、垂直布局、LstPicker(列表选择框),按钮、水平布局、标签等可视化组件,将其添加在AI2的工作面板中。此外,还用到蓝牙客户端1、网络微数据库、计时器等非可视化组件,以上各组件按照设计需求设置位于手机界面的位置和相应的功能属性。2)逻辑设计本地手机App逻辑设计由屏幕初始化、列表选择框的“准备选择”、“选择完成”及计时器的“计时”事件完成,当这些事件被触发时,App调用执行一系列指令来实现对这些事件的响应,程序设计流程如图2所示。对应该流程在AI2平台中的部分逻辑设计如图3所示。当用户点击列表选择框(listPicker1)按钮时,将触发列表选择框“准备选择”事件,列表选择框将显示与手机成功配对过的采集端蓝牙HC—06设备地址;当用户选中该蓝牙设备地址,将触发列表选择框的“选择完成”事件,蓝牙客户端1用于建立应用与选中蓝牙设备的连接;连接成功后开启计时器1设置计时间隔并设置网络微数据库的地址。在计时器1启动后,每经一个“计时间隔”会触发计时事件一次,首先对报警提示文本框(标签10)进行初始化,然后发送温度采集指令给蓝牙模块HC—06,当单片机串口(与蓝牙模块HC—06连接)接收后会通过蓝牙无线链路返回采集的温度数据,该数据将显示在App温度标签1上,同时程序会将温度标签和数据保存至到网络微数据库;之后将获取温度数据与设定阈值比较、判断是否进行报警。湿度、露点数据的处理过程与此过程相同。

3.3安卓远端手机App程序设计。安卓远端手机App可获取采集端监测数据,并在远端手机上显示,同样也具有判断报警功能,其逻辑设计的不同之处为远端手机App是从网络微数据库查询采集端温湿度、露点对应的标签再获取相应的数据进行远程监测,而不是来自采集端蓝牙传输的数据,这样就实现了植物生长环境监测数据的远程和跨设备共享。

4系统测试结果

采集端与安卓本地监测手机联合测试结果如图4(a)所示。安卓远端监测手机App运行结果如图4(b),并且也具有振动、语音、文字报警提示功能,系统经实测,在某上午时段随机采集的一组数据如表1所示。将测试的温湿度数据与标准仪器测试数据进行比较发现,系统采集温度数据误差在±0.4℃之内,湿度数据误差在±3%以下,并具有手机监测终端数据获取操作简单、响应快、精度高,满足农业现场对环境监测的需求。

5结束语

本文提出一种将手机作为本地及远程监测终端,实现跨设备远程共享植物生长环境监测数据的方法。开发了安卓本地及远端手机监测App,完成数据的传输和数据跨设备共享,实现对温、湿度监测和报警,露点的测定为农业生产提供了可靠的理论依据,减少了生产损失。进行了系统实现测试,结果表明:系统工作可靠稳定,功耗低,测试数据精度高,终端便携性好,功能可扩性强,特别适合于农业种植户对种植环境的监测及种植协同指导的需求,此外,该系统还可广泛应用于相关的工业生产环境监测中,具有一定的推广前景。

作者:李慧贞 张攀峰 杨帆 马令坤 单位:陕西科技大学电子信息与人工智能学院