基于物联网的温室环境远程监控及滴灌系统

2023-06-07 05:47杨雨许金奎蔡池贾巍
电子制作 2023年9期
关键词:土壤湿度温湿度温室

杨雨,许金奎,蔡池,贾巍

(湖北文理学院 汽车与交通工程学院,湖北襄阳,441053)

0 引言

随着物联网技术的飞速发展,计算机管理、传感器、网络通信等技术在现代农业生产中的应用越来越广泛。智能监控系统能够对温室内的各项环境参数进行精确调控,便于操作人员对温室内的环境进行实时监控,从而避免了肉眼观察的疏忽,在一定程度上降低劳动力的损耗,有效提高农作物的生长环境。因此,建立一个智能化的温室监控系统,对改善我国农作物温室内生长的环境工作,具有重大的理论及实践价值。

1 总体设计原理

本设计主要由传感器系统、主控模块、通信模块及云平台组成。以STM32F103 系列单片机为核心,可有效减少系统延迟,改善系统稳定性。传感器系统由光照、空气温湿度、土壤湿度、二氧化碳浓度传感器等传感器构成,实现对温室环境参数的实时监测。滴灌系统主要由电磁阀组成,采用地下固定式滴灌方式,有效节约用水。云平台凭借Esp8266WiFi 通信模块接收发送信号来实现对现场设备的远程监控。

图1 系统的总体架构手机物联网软件

2 系统硬件设计

■2.1 传感器系统

(1)采用YL-38 型光照强度传感器对温室内光照强度进行监测。光强传感器的核心是感光电阻,当光照强度发生变化时,其感光电阻的阻值会发生变化,通过LM393 比较器输出一个变化的模拟量,再通过单片机进一步处理得到光照强度的数据。

(2)采用DHT11 型温湿度传感器对室内温度、湿度进行实时监测。将它用杜邦线与单片机的管脚相连,可以实时获取温室的温湿度,从而对温室进行监测。

(3)采用FC-28 型的土壤湿度传感器,其核心芯片采用了LM393 的宽频比较器,原理是将土壤探头接口插入土壤,其电阻值随土壤含水量的变化而变化,通过单片机对模拟量的处理得到土壤实时湿度。

(4)采用SGP30 气体传感器对温室的CO2浓度进行检测。SGP30 具有稳定性、低漂移性、高可靠性等优点,采用I2C 协议进行通讯,便于读取采集的数据。

■2.2 主控模块

主控模块电路主要是用到单片机的核心芯片STM32 F103,用它提供两个串口,串口1 用来连接上位机,显示现场各个传感器采集到的环境参数;串口2 与Esp8266WiFi模块连接,发送AT 指令来远程上传数据。

时钟电路是MCU 中最关键的部件,它的作用是为MCU提供时钟频率,在时钟频率准确的情况下,单片机系统正常工作。

复位电路的设计是为了防止单片机死机或者代码跑飞,给单片机NRST 管脚一段时间的低电平,单片机的核心芯片就会复位,保护芯片不被损坏。

■2.3 通信模块及云平台

通信模块采用Esp8266。Esp8266WiFi 模块所需的外部电路少,且可以作为完整的、独立运行的网络解决方案,其强大的处理能力。STM32F103 和Esp8266WiFi 模块采用串口通讯,通过发送AT 指令实现它们之间的通信。系统将由传感器采集到的数据进行封装,然后通过Esp8266WiFi模块向云平台传送,从而实现对温室数据的实时监测。

物联网系统工作原理如2 所示,传感器采集系统是通过I/O 总线与现场终端相连的,MCU 的UART 与现场的人机接口相连,并利用 Modbus 的传输协议将采集到的数据通过Esp8266WiFi 模块运营商的网络传送到云平台。

图2 物联网系统工作原理

■2.4 控制电路模块

滴灌系统是利用土壤湿度感应器来侦测土壤含水率,通过电磁阀的开关来控制;空气温湿度是通过热风机、风扇、喷水阀门控制;光照强度通过白炽灯和遮光帘去控制;温室的CO2浓度通过通风阀和CO2喷嘴来控制。

图3 控制系统电路原理图

3 系统软件设计

■3.1 软件总体方案设计

以STM32 单片机为核心,对数据传输进行详细的编程,其主要内容有:初始化GPIO 口、串口通讯参数设定、数据通过Esp8266WiFi 模块送到云平台、Modbus 通信协议、控制系统的软件设计。

温室环境监控的软件具体流程:(1)系统在上电后,对GPIO 端口、时钟、串口进行初始化设置;(2)对传感器模块和Esp8266WiFi 模块初始化后,通过AT 指令检查网络的连接状况。(3)单片机接收到的指令如果是采集指令,则将传感器采集到的温室数据用Esp8266WiFi 模块传送至云平台。(4)如果是控制指令,单片机则控制调节阀调节温室的环境参数。温室环境监控软件总体流程图如图4 所示。

图4 温室监控软件总体流程图

图5 启 动 ( ADr主d uH程in序oTU)N1O11读取数据启动ArduinoUNO2

■3.2 感知层

感知层软件设计主要是指用STM32 单片机对一些传感器的数据采集的编程,这部分主要涉及一些传感器的软件设计。

DHT11 的数据是由温度整数和小数、湿度的整数和小数构成,传感器得到的是二进制数据,为了获得直观的数据,需通过进制转换读取温湿度传感器采集到的温湿度的数据。

YL-38 型光敏电阻传感器检测到的数据是模拟量,单片机无法识别,所以在设计光敏电阻传感器的软件设计时,需要用到数模转换,它包括对ADC 时钟的使能、ADC 初始化参数、GPIO 的使能以及获取ADC 转换后的二进制编码的数据的编写,单片机通过数据总线读取光敏电阻器的二进制数据,再经过程序将二进制转化为十进制的数据就可得到光敏传感器的数据。

SGP30 型二氧化碳浓度传感器软件采用功能模块化设计。由主程序和子程序构成。主程序实现了初始化、系统检测和子模块调用;子程序包括了GPIO 管脚参数的配置、应答信号的检测以及传感器的读写数据。启动模块需要一段时间的初始化,在初始化阶段,二氧化碳浓度是400 ppm,所以上电后,SGP30 模块的数据会被定时读取,当二氧化碳浓度达到400 ppm,则会发出“正在测试中”的信息,直到SGP30 模块初始化完成。

FC-28 型土壤湿度传感器的软件设计也是模块式的,方便了功能的扩充。传感器在接通电源以后,首先要进行初始化处理为读取土壤湿度做准备。进入主循环程序首先要对子程序的调用,再获取土壤湿度芯片的数据,最后判断当前土壤湿度值是否超出所设置的阈值,若湿度超过阈值,则驱动蜂鸣器报警并开启水泵电磁阀门,直到环境的湿度再次回到土壤正常湿度值则停止动作。

感知层中主函数的软件设计首先需要调用各参数的初始化函数,包括延时函数、设置波特率、LED 初始化函数、光照强度初始化函数、土壤初始化函数以、温湿度初始化函数以及二氧化碳初始化函数,随后获取各个ADC 通道的数据,经处理后上传云平台。

滴灌控制、空气的温湿度控制、光照强度控制的软件设计均采用IF 语句进行判断。当侦测到温室环境因数低于或高于设定的临界值时,云平台会发出相应的指令,通过单片机控制相应装置开关改善温室环境。

■3.3 传输层设计

传输层的软件设计主要是数据的上传与指令接受的代码编写,首先对Esp8266 进行初始化,发送 AT 指 令, 对Esp8266进行连接状态检测,确认无误后,将采集到的数据上传到云平台。数据上传的流程图如图6 所示。

图6 数据上传流程图

图7 微信小程序远程监控界面

将远程客户端作为主机,现场终端作为从机,通过Esp8266 将数据打包并将数据上传至远程客户端,当远程客户端向现场终端传输数据 时,Esp8266 又 会将收到的指令返回给单片机做出应答。远程监视和Esp8266 之间的远程通信是通过 Modbus 通信协议实现,将Modbus RTU 通讯协议的地址码设置为0X01,功能码设置为0X03,读取保持寄存器数据,数据区分别放置温湿度、土壤湿度、二氧化碳、光照强度数据。

■3.4 应用层设计

应用层通过API 接口(HTTP 接口)分别在天气平台与ONENET 云平台获取数据,由于系统对应用层所要求的功能单一,采用API 接口可在系统功能的基础优化资源分配,始终以最快的响应速度在微信小程序生命周期内显示在页面上。其次系统仅仅采用了API 接口(HTTP 接口)请求方法中的GET 与POST 两种。GET 用于刷新应用页面信息时不断向ONENET 云平台发起请求,并接受返回的数据,通过对数据的解析将数据显示在页面上;POST 用于在应用层远程操控电磁阀等现场设备,需要手动开启或关闭外部设施时使用此请求方法,将特定的数据发送给ONENET 云平台后向控制端发送控制指令。

4 总结

本文设计并开发出一套集监测和控制于一体的物联网温室监控与滴灌系统,详细介绍了该系统的总体设计及工作原理,提出了整个系统的总体方案,完成了部分传感器的选择和硬件电路的设计。从感知、传输、应用三个层次进行了系统的软件设计,以Keil5 作为软件开发平台,用C 语言进行软件编程实现各类功能,完成了温室数据上传云平台和云平台下发指令的预期功能。

本系统实现了对温室环境的远程监测和控制,通过微信小程序进行监测控制,可给使用者提供相应管理经验,指导其现场生产作业,为温室中农作物创造最佳的生长条件,提高产量,减少资源的浪费,是一个较先进的智能化监控系统。

猜你喜欢
土壤湿度温湿度温室
现代温室羊肚菌栽培技术
苍松温室 苍松灌溉
苍松温室 苍松灌溉
温湿度控制器在回收砂冷却系统中的应用
土壤湿度传感器在园林绿化灌溉上的应用初探
基于DSP的多路温湿度监测系统
基于51单片机控制花盆土壤湿度
可以避免一个温室化的地球吗?
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用