一种智能温室管理系统的设计与实现
2022-07-21刘尚玻刘皓耿李才茂陈丹丹尹文涛
刘尚玻,刘皓耿,李才茂,陈丹丹,尹文涛
(佛山科学技术学院 机电工程与自动化学院,广东 佛山 528000)
0 引 言
当前物联网技术已经走进了农业生产实际中,能够实现农业生产中的各类传感器、控制设备智慧互联互通,以一种可靠、经济、低成本、高安全性的方式构建起智能温室管理系统,对温室内的环境进行监测和控制有着巨大的优越性,能够大大减少人力物力投入,有效防范农业生产事故,更好地做到农业精细化生产管理。
温室大棚的运用有效降低了外界环境给农作物生长带来的恶劣影响,是提高农作物的质量和产量的有效途径。农作物的生长过程受环境影响巨大。当气温过高时,农作物体内的酶活性降低,其光合作用、呼吸作用将受阻,严重时会出现灼烧现象;当气温过低时,农作物代谢速率降低,甚至出现冻伤现象。当湿度过大时,农作物极易发生病虫灾害;当温度过高、湿度过低时,农作物又易脱水、干枯、生长延缓。此外,处于低洼地势区域的温室大棚,遇极端暴雨天气时,容易受涝被淹,长期的水浸泡会导致农作物因缺氧而烂根,产量、质量将大打折扣。
本文开发的智能温室管理系统能够实时监测、控制温室大棚内的环境温湿度;同时,在阿里云物联网平台实现对环境温湿度的可视化显示,当温室大棚遇洪涝灾害时,可以及时排水除险。具体来讲,系统首先实时接收温湿度传感器、水位传感器回传的环境数据;然后通过串口与ESP8266模块通信,按照MQTT物联网通信协议,在WiFi局域网环境下将环境数据上传至阿里云云端;最后阿里云云端将对这些数据进行实时处理与显示。在温湿度数据超过或低于阈值时,系统控制电机、喷水器进行作业,保持室内温湿度稳定;出现洪涝灾害时,电机可以及时排水除涝。
1 系统的工作原理
1.1 系统总体设计方案
系统总体设计框图如图1所示。单片机通过串口获取DTH11温湿度传感器采集到的大棚环境温度、湿度数据,然后将数据进行滤波处理、消除干扰,再通过串口将处理好的的数据包传输到NodeMCU。NodeMCU在WiFi局域网的覆盖下,通过MQTT物联网协议,将数据打包上传到阿里云。阿里云能够实时显示大棚室内温度、湿度数据,实现数据的可视化。
图1 系统总体设计框图
如果大棚内的温度、湿度出现波动,通风电机、热风机、洒水器将执行已经设定的PID控制算法动作,维持室内温湿度值处于一个稳定区间。如果水位高度传感器监测到大棚室内地面水位高度超过阈值,将判断大棚受淹,立即启动抽水泵工作。一旦温度、湿度、大棚地面水位高度任一数值超过阈值,系统都将自动上报阿里云报警中心及钉钉工作群,实现双重预警。
1.2 系统主要模块的工作原理
通信模块采用的是NodeMCU,它具有PWM、IC、ADC等功能。NodeMCU核心为ESP-12F,但亦可作为单片机控制使用。在本系统中,其通过串口与单片机通信,作为通信模块将单片机传送的传感器采集到的数据发送至阿里云物联网平台。
DHT11温湿度传感器的工作原理是通过电阻的变化来测量环境湿度和NTC元件测量环境温度,最终通过数字信号输出,将温湿度值传递至单片机。
水位传感器是通过自身一系列暴露的平行导线线迹测量水量的大小,继而判断水位高低,将数字信号转换成模拟信号传输到单片机。
2 系统的功能及其实现方案
2.1 传感器数据滤波
为了提高数据的平滑度、降低干扰的影响,系统采用去极值加权滑动平均滤波算法对各个传感器采集到的数据进行处理。算法流程如图2所示,其中为队列的长度,为加权系数。传感器每采集到一个新的数据,便会插入到原始数据队列的队尾,使队尾的数据为最新,队首的数据为最旧;然后去掉队列中的最大值和最小值,得到一组新的数据;最后根据预先设定的加权系数表,计算出这组数据的加权平均数。该滤波算法的优点如下:
图2 去极值加权滑动平均滤波算法流程
(1)每次计算出滤波值后,不会立即丢弃过去所有的采样数据,而是等到下次滤波时,与最新的数据一起计算滤波值,提高了数据更新速度。
(2)对原始数据进行去极值处理,能够有效消除由于脉冲干扰所引起的偏差。
2.2 数据可视化功能
温湿度传感器通过串口向单片机发送采集到的实时环境温湿度数据,单片机每0.5 s读取一次传感器数据,然后通过滤波程序对原始数据进行滤波,得到误差较小的数据,降低干扰的影响。随后,单片机通过串口向NodeMCU通信模块发送处理后的温湿度数据。在WiFi局域网条件下,通过MQTT协议,NodeMCU将温湿度数据发送到阿里云物联网平台,阿里云物联网平台实时将数据绘制成曲线,实现数据可视化,如图3和图4所示。
图3 温度历史数据曲线
图4 湿度历史数据曲线
NodeMCU使用Arduino IDE的开发环境进行开发,通过调用函数库来实现MQTT协议的使用。具体而言,MQTT协议的工作流程先是由发布方(Publisher)发送信息到Broker,即MQTT服务器;服务器接收消息后,筛查订阅方符合的消息需求,将消息推送到订阅方。MQTT服务器信息的配置代码如下,其中MQTT_POST为MQTT通信协议中连接服务器的端口号。
2.3 物联网上报预警功能
当室内环境温度、湿度、地面水位高度中的一个或多个数据超过设定警戒值的情况下,平台将启动触发机制,自动向报警中心发出预警,并通过钉钉群聊机器人在钉钉的工作群发出报警,提示管理人员尽快排除问题;管理人员排查完毕后需向报警中心反馈处理结果,或是排查出其他未可归类原因并选择作“忽略处理”,否则该预警将一直提示为“未处理”状态,管理人员上报的处理结果将一直保存在数据中心,做好信息备案处理,方便后期管理人员随时查阅,同时也为农业生产提供有力的安全保障。图5和图6分别是报警结果及处理意见栏界面图和钉钉群聊自动发送报警显示图。
图5 报警结果及处理意见栏界面图
图6 钉钉群聊自动发送报警显示图
2.4 温湿度控制功能
大棚的热量来源主要是太阳光的辐射,即大棚温度的控制主要依靠控制大棚受到的光照强度,但如果仅靠控制光照强度仍然无法有效控制大棚温度,则需要额外采用热风机和通风机来参与控制。若大棚的实际温度小于期望温度,则单片机控制热风机向大棚内输送热风,升高大棚温度;反之则控制通风机运转,通过自然通风来降低大棚温度。控制大棚湿度则采用通风机和洒水器作为执行器。若大棚的实际湿度小于期望湿度,则单片机控制洒水器向大棚内喷洒水雾,增加大棚湿度;反之则控制通风机运转,通过自然通风来给大棚排湿。由于降温和降湿的执行器都是通风机,所以单片机程序先将降温控制程序和降湿控制程序的控制量进行叠加,然后再输出给通风机。
大棚温湿度控制结构如图7所示。在每个大棚温湿度控制周期里,单片机首先分别通过温度传感器和湿度传感器获得大棚的实际温度和湿度,然后程序将温度和湿度的期望值与实际值分别做差。对于温度偏差,如果偏差值大于0,即需要对大棚进行增温,则输入到通道1的PID控制程序中,反之则输入到通道2的PID控制程序中;对于湿度偏差,如果偏差值大于0,即需要对大棚进行增湿,则输入到通道4的PID控制程序中,反之则输入到通道3的PID控制程序中。PID控制程序根据水位偏差的当前值和历史值计算出控制量,控制热风机、通风机和洒水器的输出功率,使大棚温度和湿度的实际值不断接近期望值。其中,通风机的控制量为通道2和通道3的控制器输出量的叠加。
图7 大棚温湿度控制结构
2.5 防洪功能
本系统的防洪功能设计理念以预防涝害为主,在温室大棚地表水面超过预警值时即开始动作,确保温室大棚不受淹。一旦水位高度传感器监测到温室大棚内积水量已超过设定的阈值,大棚自身排水系统出现过负荷工作的情况,阿里云将通过后台与钉钉工作群同步两级报警,提示工作人员尽快处理。工作人员在收到报警后,须进行实地或通过其他途径查明内涝情况,制定出应对措施,并在阿里云平台的报警信息上书写情况报告并留档,否则该报警信息将提示为“未处理”。与此同时,该区域内的抽水电机开始工作,按照事先设定的PID工作算法,加快温室大棚排水,保持温室大棚地表水位不过红线。此外,为了防止日常农业生产中消杀、清洗时出现的短暂温室大棚地表水位超过设定的阈值情况,只有水位高度传感器连续一段时间监测到水位超标情况下,电机抽水机制才触发工作。
图8为大棚地表水位控制结构。在每个大棚地表水位控制周期里,单片机首先通过通信总线获取水位传感器测得的地表实际水位,然后程序将期望水位和实际水位做差,输入到PID控制程序中。PID控制程序根据水位偏差的当前值和历史值计算出控制量,控制抽水泵的输入电压,进而控制抽水流速,使大棚地表水位的实际值不断地接近期望值。
图8 大棚地表水位控制结构
3 结 语
为迎合智慧农业的时代发展大潮,结合农业生产中的实际情况,本文设计了一种智能温室大棚管理系统。本系统运用物联网技术,借助WiFi局域网的低成本、高可靠性的通信手段,将大棚温湿度数值实时上传到阿里云端并实现了数据可视化,方便工作人员实时查看。本系统设计了控制PID算法,大棚的温湿度受外界扰动时,能够通过洒水器、通风机、热风机将大棚的温湿度稳定在一个适宜农作物生长的区间。遇极端天气发生洪涝灾害时,系统的防洪功能会自动响应、及时排水,防患于未然。本系统能够实现对农业温室大棚生产的精细化、智慧化管理,减少传统农业生产中的人力物力投入,降低农业生产成本,为农业生产增产增质。