APP下载

基于物联网技术的设施农业环境监控系统设计

2024-01-23郝雯娟王志凌

物联网技术 2024年1期
关键词:温湿度传感器模块

田 莉,左 恒,2,郝雯娟,王志凌

(1.南京航空航天大学金城学院 机电工程与自动化学院,江苏 南京 211156;2.江苏思行达信息技术有限公司,江苏 南京 210049;3.金陵科技学院 机电工程学院,江苏 南京 211169)

0 引 言

设施农业是指在环境相对可控的条件下,人为改变自然光照及温湿度等条件,优化动植物生长的环境因子,使之能够全天候生长的设施工程,具有高投入、高产出以及资金、技术、劳动力密集的特点[1]。通过引入物联网技术能够提高植物生长环境的可控性,实现精确高效控制,节约人力并提高蔬菜生产效益。

物联网从技术结构上可分为信息感知层、网络传输层、应用服务层[2]。信息感知层通过各种传感器感知作物生长所需的环境数据,如环境温度、相对湿度、土壤养分等物理量参数;网络传输层的作用是把现场局域网和互联网相融合,将现场信息实时准确地传递到数据中心;应用服务层通过个人计算机或移动终端的应用程序实现对系统信息的监视和管理。

针对信息感知层,李立扬等[3]基于ZigBee 技术构建了大棚内的无线传感网络;汪言康等[4]基于LoRa 技术构成了无线传感网络,具有功耗低、扩展性好等优点,但在节点较多且传输数据量大时会出现组网复杂、传输速率慢且数据不稳定等问题。韩毅[5]采用有线数据采集和传输方式设计了以PLC 为核心的现场控制系统,虽然系统稳定且可靠性高,但造价高昂,不适用于利润率低的农业。文献[6-8]设计了以STM32 单片机或树莓派为主控制器的温室大棚智能监控系统。由于国外技术垄断,国内经常面临芯片缺货且价格不断上涨的局面。本研究采用性能优异、价格低廉的国产ESP32控制器以有线方式完成传感器数据的采集。

数据要从本地局域网接入互联网才能实现远程查看,文献[9-11]采用了GPRS 等基于移动运营商基站的无线接入方式,该方式适用于有手机信号覆盖的地方,但是需要消耗流量费,而且还需要相应通信模块的支持。本研究利用ESP32控制器本身的WiFi 功能将农业物联网的本地数据上传至WiFi 路由器,不需消耗运营商流量,手机和笔记本电脑等移动终端可方便地通过WiFi 接入系统。

针对应用服务层,文献[12-13]自行开发通信协议并部署服务器,在电脑端实现远程监控,增加了设计和使用难度。本研究利用阿里云平台提供的接入标准和应用模板进行设计,构建了一套基于阿里云平台的环境监控系统,并在手机APP 上实现了数据的远程查看和对系统的远程控制,降低了开发成本和使用难度,提高了产品使用的便捷性。

1 系统的总体设计

环境监控系统由生态仿真箱、阿里云服务器和监控设备组成,系统结构如图1 所示。生态仿真箱内布置空气温湿度传感器、土壤温湿度传感器和温湿度控制设备,通过WiFi将采集的数据经路由器上传至阿里云服务器;云服务器基于MQTT 协议接收、解析并存储数据,将现场端的数据整合为方便监测和学习的智能数据模型,再通过MQTT 协议下发到终端。监控侧的授权用户可通过网页、APP 或小程序实现对数据的查看、参数设置以及远程控制。

图1 环境监控系统结构

2 硬件设计

硬件系统由电源电路、ESP32 最小系统电路、数据采集电路、控制电路等组成。ESP32 单片机作为控制核心,连接空气和土壤温湿度传感器以及土壤加热片、水泵、空气加湿器、半导体制冷片等设备,采集电路感知环境数据,并利用ESP32 模块的WiFi 功能将环境数据上传至云服务器。控制电路对比该植物最适宜的温湿度环境,并通过PID 算法对大棚内的土壤和空气进行恒温恒湿控制。系统硬件电路连接如图2 所示。

图2 系统硬件电路连接图

2.1 ESP32 主控芯片及其WiFi 通信功能

ESP32 控制器是一款基于Xtensa 内核的32 位CPU,运算能力高达600 MIPS。内部集成了WiFi 以及用于Internet连接的完整TCP/IP 协议栈。ESP32 片上集成了SPI、I2C 和USART 等通信接口,方便对AHT10 温湿度传感器等器件的数据进行采集。自带模数转换功能,相应的GPIO 引脚可直接接入模拟信号。

ESP32 控制器本身具备WiFi 通信功能,它可以被配置成AP、AP+STA 以及STA 三种模式。AP 模式又称为接入点模式,在这种模式下ESP32 模块发出WiFi 信号,手机或其他终端可以通过该WiFi 信号与ESP32 模块通信。此种模式下无法访问互联网,用于给ESP32 配置网络连接信息,或者OTA 升级使用。AP+STA 模式又叫混合模式,此模式下ESP32 既可以连接路由器发出的WiFi 信号,又可自己发出WiFi 信号给其他设备进行连接。该模式可用来实现WiFi 中继功能,或者直接扫描附近的WiFi 信号实现WiFi 配网功能。STA 模式又称为WiFi 客户端模式,此模式下ESP32 模块作为终端模块,通过当前环境中的WiFi 信号与互联网进行连接。ESP32 的配网流程如图3 所示。

图3 ESP32 的配网流程

2.2 土壤温湿度检测模块

DS18B20 数字温度传感器采用1-Wire 协议与微处理器通过一条口线进行双向通信,具有多点组网功能。由于每个DS18B20 硬件中有唯一的地址序列码,就可以实现一根总线上挂接多个DS18B20 进行多点测温的目的。在使用DS18B20 时要接入一个4.7 Ω 的上拉电阻。将传感器用不锈钢封装后就可用于农业大棚测温。

土壤湿度测量采用一种电阻式土壤湿度传感器。土壤中水份含量的多少会引起阻值的变化,从而改变内部电路中电阻分压的大小,将此电压模拟量传到ESP32,从而测量土壤的含水量。由于ESP32 的IO32 ~IO39 引脚可以接模拟量输入,所以本系统的土壤湿度传感器的输出连接ESP32 的IO35引脚。

2.3 土壤温湿度控制

将电子开关和加热板连接,对电子开关施加PWM 脉冲,对土壤进行温度控制。由于电子开关内部的MOS 管本身存在一定的寄生电容,导致开关时存在一定的延时,所以PWM 的控制频率不能太高,否则会导致模块发热严重。实测该模块在频率为1 kHz 的PWM 脉冲控制下运行良好。

使用水泵加湿土壤,由电子开关对水泵进行控制,当土壤当前湿度低于设定的湿度值时,启动水泵电机,当湿度即将达到设定值时降低水泵出水速度,直到达到设定值。

2.4 空气温湿度检测

采用AHT10 传感器测量空气的温湿度,该传感器能直接输出经温度补偿后的湿度、温度等信息,温度测量范围为-40 ~85 ℃,精度为±0.3 ℃;湿度测量范围为0 ~100%RH,精度为±2%RH(25 ℃),与控制器之间采用I2C 通信协议。

2.5 空气温度和湿度控制

采用超声波加湿器模块控制生态仿真箱中的空气湿度,该模块可以将5 V 直流电转换成高压高频交流电,使雾化片产生高频震动,达到使水雾化进而增加空气湿度的效果。该模块默认使用点触按钮进行打开和关闭,设计中将模块的点触开关部分用导线直接导通,同时在其电源处连接一个型号为SS8050 的贴片三极管,这样即可使用单片机IO 口的高低电平来控制加湿器模块的打开或关闭。

使用半导体制冷片控制生态仿真箱中的温度,优点是没有滑动部件,无需压缩机和冷媒,可应用在空间受限、可靠性要求高、不能受到制冷剂污染的场合。半导体制冷片的原理是利用一对P 形半导体和N 形半导体在通直流电时产生的“珀尔帖效应”,由直流电源提供电子流所需的能量,通上电源后,电子从负极(-)出发,首先经过P 型半导体,在此处吸收热量,到了N 型半导体,又将热量放出,每经过一个NP 模块,就有热量由一边被送到另外一边,将N 型半导体所在的陶瓷片贴于生态仿真箱的外壁,可以达到给生态仿真箱制冷的效果。当给该模块加载反向直流电源时,它将会变成一个制热模块,从而对生态仿真箱内部进行加热。系统需要根据仿真箱内的实际温度情况实时切换制冷或加热效果,故使用TA6586 直流电机驱动芯片,通过该芯片内置的H 桥电路实现电源方向的切换。

3 软件设计

系统软件设计部分主要包括数据采集和控制、WiFi 配网、MQTT 协议和云服务器设计三部分。

3.1 数据采集和控制部分软件设计

软件设计流程如图4 所示。在主程序中采用定时中断的方式,采集数据并与设定阈值比较;根据比较结果,采取相应的控制措施。

图4 数据采集和控制部分软件设计流程

编写代码时首先引用ESP32 的SDK 中I2C 库文件和1-Wire 库文件,结合传感器模块提供的第三方库文件,配置对应的引脚及时钟、中断等信息,完成传感器的初始化,进行土壤和空气的温湿度信号的采集,并将其解析为可识别的数据;其次,判断当前检测数据是否超过设定值的阈值;最后根据误差的大小和方向采用分段式PID 算法改变PWM 信号的占空比,以达到恒温恒湿的控制目的。

3.2 WiFi 配网

调用WiFiManager 中的库函数实现WiFi 配网功能。当ESP32 模块启动时,先检查闪存中是否存在WiFi 配置信息,如果存在则连接;若连接失败或者找不到连接信息,便打开ESP32 的AP+STA 模式。此时ESP32 会发出设定名称的WiFi 信号,可以使用手机连接该WiFi 并打开配网界面,此时可以看到ESP32 当前扫描到的WiFi 信号。选择目标WiFi 信号,输入正确密码后ESP32 便可实现联网功能。

3.3 MQTT 协议和云服务器设计

消息队列遥测传输(Message Queuing Telemetry Transport, MQTT)是一个基于客户端服务器架构、面向发布/订阅模型的物联网消息传输协议[14]。它的两个主要功能是发布信息(PUBLISH)和订阅主题(SUBSCRIBE)。当发布者发布信息后,订阅者可以收到该用户发布的动态信息。

在阿里云平台中创建一个物体模型,生成一个专属于该设备的三元组(PRODUCT_KEY,DEVICE_NAME,DEVICE_SECRET),将该设备的三元组关联至ESP32 的代码中便可以使该设备上线,物联网生态仿真箱的温湿度数据就可上传至云端;再通过阿里云平台转发后,可以在官方的云智能APP 订阅添加该设备,从而实现远程查看数据和实时控制功能,如图5 所示。

图5 MQTT 订阅和发布流程

在初始化函数中添加回调函数传入客户端和设备信息之后,利用AliyunIoTSDK 库的bindData 回调函数实现MQTT的数据订阅功能;用send 函数实现MQTT 的数据发布功能。

4 系统测试与运行结果

4.1 上位机PC 端调试

使用VSCode+PlatformIO 插件搭建Arduino 开发环境;基于CH340 芯片的TTL 转USB 功能,实现ESP32 模块与计算机的串口通信。调试设备时,使用串口打印函数Serial.println()输出需要调试的参数。本地数据采集调试界面如图6 所示。在手机APP 中设置温湿度给定值后,云智能APP 通过MQTT 协议将数据发布至云端服务器,由于“生态仿真箱”这个对象订阅了该主题,所以会收到该信息,并通过分段PID 算法产生控制量输出,达到恒温恒湿效果。在串口调试的过程中,可以测试设备是否正常工作,并对PID算法及参数进行优化。

图6 本地数据串口调试

4.2 运行结果

生态仿真箱模拟真实植物生长环境,由亚克力板拼接而成,实物如图7(a)所示。

图7 系统软硬件运行结果

打开手机上的“云智能APP”,通过创建设备时使用的账号登录,通过扫描二维码的方式添加设备“生态仿真箱”,设备信息界面如图7(b)所示。界面中能显示温湿度当前值,也能通过“+”和“-”调整温湿度设定值。

图8 是监控系统连续24 h 监测空气温度、湿度以及土壤温度、湿度的数据曲线。通过曲线可以看出,监控系统工作稳定,曲线平滑无断点,短时间内数据没有大的跳动,对比发现数据符合生态仿真箱的实际运行情况。

图8 监控系统监测的温湿度数据曲线

5 结 语

针对温室大棚等设施农业应用过程中存在劳动力需求大、作物生长环境参数控制不精准的问题,设计了基于物联网的作物环境远程监控系统,将ESP32 硬件平台和手机端通过MQTT 通信协议连接MQTT 云服务器之后,数据在二者之间推送,实现了本地数据可以上传到远端,手机端也能对ESP 硬件平台的控制设备进行远程控制,从而达到足不出户就能使作物生长处于恒温恒湿的环境。在一个生态仿真箱内,进行了实物搭建和程序验证,实验结果表明该系统能使作物生长环境中的空气和土壤达到恒温恒湿的效果,且系统数据采集准确、通信可靠、成本低廉、操作方便。在当前物联网技术使用成本和技术门槛较高,普遍应用于农业生产尚需要一个过程的背景下,探索物联网技术在设施农业中的应用符合当前农业规模化、产业化、信息化的发展道路。

猜你喜欢

温湿度传感器模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
康奈尔大学制造出可拉伸传感器
温湿度控制器在回收砂冷却系统中的应用
简述传感器在物联网中的应用
基于DSP的多路温湿度监测系统
“传感器新闻”会带来什么
跟踪导练(三)2
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用