基于Android手机的植物工厂多变量环控系统设计研究

2023-11-29 13:22张子华李晓月张林杰魏冉明张煜荣王启璠冯凯祺
农业与技术 2023年22期
关键词:环境变量下位控系统

张子华李晓月张林杰魏冉明张煜荣王启璠冯凯祺

(1.北京工业大学材料与制造学部,北京 100124;2.北京亦庄数字基础设施科技发展有限公司,北京 100176)

在传统农耕文明中,食物的生产依赖阳光、土壤,然而,由于自然灾害因素的影响,食物生产往往会受到极大的冲击,尤其是城市地区的食品供应。为了应对这一挑战,植物工厂[1-3]的推广应用为粮食安全提供了一条新出路。植物工厂使用大量先进技术[4-7]不仅可以大幅度提升粮食蔬菜的产能,还可以做到稳定持续[8]的生产。

植物工厂是对传统农业生产方式的一种革新。植物工厂的高效生产离不开温度、湿度、二氧化碳浓度等环境参数[9-11]的精准控制,在达到所设定的环控条件后,植物工厂便能够采用工厂化的生产方式进行轮作式生产。但在此之前,在市面上还没有完善的监管工具,大多数植物工厂需要额外耗费大量人力物力。为解决这些问题,本研究把单一的传感器通过Arduino开发板进行集成化操作,应用物联网[12-14]技术手段实时检测每个传感器的环境变量变动,实现更高效的环境变量监测和提升农业经济效益。

对于植物工厂环境变量参数监测,南京大学的赵云霞[15]教授指出,我国在植物工厂的植物栽培技术方面已经非常成熟。无土栽培、水培等技术已经完全应用,但我国植物工厂却面临自动化、智能化程度低,对外界环境控制有限,植物工厂技术体系尚不完善等问题。这一系列未解决的问题有待于植物工厂多环境变量智能监测平台的研究。

Dzaky等[16]研究了一套经济灵活的微型植物工厂以适应城市地区环境,其传感器和执行器与Agrieye Cloud系统集成,用于监测和控制,并可自主执行数据检索和驱动,Mini Plant Factory通过每5min自动捕获监测数据进行操作。Mulowayi等[17]则是针对植物工厂中的照明系统开发出“可移动向下照明结合补光可调侧式照明系统”(C-S)和无补光侧式照明系统(N-S)。Nugroho等[18]等在植物工厂中采用了立体摄像机并且基于深度感知实现了植物生长监测。苏州大学的管理[19]基于LabVIEW平台建立了植物生长环境检测系统,该系统对于提高单位面积的耕地作物产物、实行立体式的种植以及利用家庭庭院、室内种植等具有重要指导意义。来自浙江大学的余洋[20]搭建了植物工厂系统作为实验平台,使用树莓派作为主控制器,搭载多型传感器,实现了对植物工厂环境的全面监测,并通过PWM驱动信号实现了对多个设备的自动调控,同时开发了上位机软件系统,可实时监测环境参数的变化,发送异常数据提示短信,查询历史数据或调整控制参数。

综上所述,本文旨在开发基于微控制器的环境监测与控制系统,其中包括下位机和上位机2部分。下位机是Arduino数据采集和环境控制技术;上位机则是基于Java开发的Android移动端APP,用于接收下位机发送的环境参数并以折线图形式展示。同时,上位机还能向下位机发送远程控制指令,实现对植物工厂环境的精确控制。

1 系统设计

1.1 系统总体架构设计

本系统总体分为下位机和上位机2个部分。

下位机数据采集模块由通讯模块、Arduino开发板、多路环境变量传感器等模块构成,上位机客户端是基于Java语言开发的Android APP。在该系统中,环境变量传感器用于监测6种环境参数,并通过模拟信号的形式传输至Arduino开发板。Arduino开发板负责对接收到的模拟信号进行解析和处理,并借助通讯模块将经过处理的模拟数值以无线信号的方式发送至上位机。基于Java开发的Android客户端实现了数据的接收、处理、实时显示、控制和存储等功能。通过后台逻辑设计,手机客户端APP以简洁的操作界面形式呈现给管理者。用户只需安装控制软件并登录系统,即可对植物工厂内的环境变量参数进行智能监管和控制。

图1 植物工厂多变量环控系统总体设计

1.2 分模块功能设计

本研究旨在利用智能测控技术,实现对植物工厂内多个环境参数的监测和调节。系统功能设计如下。

1.2.1 下位机Arduino模块系统设计

下位机Arduino模块系统主要包括2个功能部分:接收传感器采集和发送的环境变量数据部分,以及控制植物工厂通风系统、补光系统和照明系统的部分。具体架构如图2所示。在实现系统功能时,导入传感器的库函数,调用库函数,经过对传感器以及WiFi模块的初始化送数据的函数,将数据以字符串数组的形式向上位机发送。在设计控制功能时,通过WiFi模块接收和解码下位机所发送的数据,通过函数转换将数字信号转换成电信号,对LED灯以及风机模块的舵机进行控制,实现植物工厂对多变量环控系统中控制功能要求。

图2 Arduino下位机系统架构

1.2.2 上位机Android客户端APP模块设计

上位机部分主要对控制模块、显示模块、设置模块、数据库进行界面设计与开发,具体功能框架如图3所示。本系统在手机APP进行多环境变量数据的实时更新与曲线化展示,方便植物工厂管理者实时监测工厂内各项变量参数,从而进行相应操作,对植物工厂进行精准把控,满足实际需求。

图3 手机客户端框架图

2 多变量环控系统设计

在植物工厂多变量环境控制系统的设计中,使用多种传感器、控制模块和通信模块,实现对植物工厂多个环境变量参数的采集、控制以及与Android上位机之间的数据交互。

2.1 Arduino控制中心

Arduino是一款便捷灵活的开源电子原型平台,具有用户范围广,可移植性高,安全性强,免费开源等特点。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)2个部分;硬件部分是可以用来做电路连接的Arduino电路板;软件部分是Arduino IDE软件开发测试平台,即计算机中的程序开发环境。Arduino能通过各种各样的传感器来感知环境,再通过控制其他的装置来反馈、影响环境。Arduino开发板上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器,实现对传感器的数据采集以及其他装置的反馈控制。

本系统采用Arduino Mega 2560开发板,如图4所示。其基于ATmega 2560处理器,采用USB接口,具有16路模拟输入和54路数字输入/输出口。Arduino Mega 2560可以自动选择3种供电方式:外部直流电源通过电源插座供电;电池连接电源连接器的GND和VIN引脚;USB接口直流供电。Arduino Mega 2560开发板具有4路UART接口,1个16MHz晶体振荡器,1个USB口,1个电源插座,1个ICSP header和1个复位按钮,具有支持1个主控板的所有资源。

具体规格参数:工作电压,5V;输入电压范围,6~20V;推荐输入电压范围,7~12V;I/O口的输出电流,40mA;3.3V管脚的输出电流,50mA;内存空间,256KB;SRAM,8KB;EEPROM,4KB;时钟频率,16MHz。

图4 Arduino Mega 2560开发板

2.2 环境变量监测模块

植物生长环境中的环境变量参数会影响植物的生长。在植物工厂中主要对植物生长环境中的CO2浓度、有机物挥发物浓度、温湿度、土壤湿度以及光照强度进行监测。本系统使用Arduino开发板连接SGP30传感器、DHT11数字传感器、土壤湿度传感器和数字光照传感器,以实现对环境变量的监测功能。

SGP30传感器是一款金属氧化物气体传感器,内置了4个气体传感元件。该传感器具备完全校准的空气质量输出信号功能,如图5所示。GP30的传感部分基于金属氧化物纳米颗粒的加热膜,目标气体会与金属氧化物颗粒上吸附的氧气发生反应,从而释放出电子,导致由传感器测量的金属氧化物层的电阻发生改变。通过电路部分对电阻进行检测、信号处理与转换,可以输出:有机物挥发物浓度,量程为0~60000ppb;CO2浓度,量程为400~60000ppm。因此该传感器可以用于本系统进行CO2浓度与有机物挥发物浓度监测;DHT11数字传感器是一款采用数字模块采集技术和温湿度传感技术的温湿度复合传感器,如图6所示。该传感器包括1个电阻式测湿元件和1个电阻式热敏测温元件,精度高,具有已校准的数字输出信号,在本系统中,利用DHT11数字传感器来检测环境的温度和湿度。该传感器的测量范围为湿度20%~90% RH和温度0~50℃,具有较高的分辨率,即湿度1%和温度1℃。此外,传感器的精度也相对较高,湿度精度为±5%,温度精度为±2℃。土壤湿度传感器是根据土壤水分含量与土壤电阻值之间的关系进行设计的,如图7所示,可以宽范围监测土壤的湿度,测量范围为自定义的0%~100%,通过电位器调节控制相应阈值,湿度低于设定值时,传感器输出高电平,高于设定值时,传感器输出低电平;数字光照传感器是基于半导体的光电效应原理设计的,集成了数字环境光传感器电路的I2C总线接口,如图8所示;此外,其光谱响应接近视觉灵敏度的分光特性,具有明显的红外抑制作用,适合于获取环境光数据,在高分辨率(1~65535lx范围)下检测光照强度,调控系统。

图5 SGP30传感器

图6 DHT11数字传感器

图7 土壤湿度传感器

2.3 环境变量控制模块

环境变量控制模块包含通风系统,补光系统和照明系统3个部分。通风系统通过搭载风机模块来实现,模块如图9所示。植物工厂多变量环控系统启动运行后风机模块一直处于通电状态下,通过闭环控制实现对植物工厂中CO2与有机物挥发物浓度的动态控制。当CO2浓度或有机物挥发物浓度超过设定标准时,系统产生脉宽,生成方波控制风扇电机转动;当CO2浓度与有机物挥发物浓度均下降到标准值以下后,风扇转动停止。补光系统是通过PWM脉宽调制控制LED灯的亮度的方式实现,以闭环控制的方式使植物工厂中的光照强度保持在40000lx左右,模块如图10所示。照明系统则能够实现植物工厂照明需求,模块如图11所示。

图9 通风系统模块

图10 补光系统模块

图11 照明系统模块

2.4 通讯模块

由于Arduino开发板不具备无线通讯功能,为实现本系统植物工厂的上位机与下位机之间的数据连接传输,本系统选用ESP8266WiFi模块作为通信模块,如图12所示,采用局域网下的WiFi通信方式进行通信,并通过Arduino开发板进行驱动。传输协议采用TCP协议,实现端对端的数据传输。TCP传输数据时通过超时重发、失序处理、重复处理和数据校验等方式确保植物工厂系统下位机所采集到的数据无差错,不丢失,不重复,且按序发送给上位机,具有可靠性强的优点。ESP8266WiFi模块通过AT指令进行初始化。进行数据传输时通过ESP8266 AT指令可建立1个TCP服务器,且使之能连接多个TCP客户端。通过将AT指令交给单片机进行硬件串口编写,可在通电后自动创建1个WiFi热点,并将下位机采集到的环境变量数据以字符串数组的形式发送给上位机。

图12 ESP8266WiFi模块

3 Android系统设计与开发

3.1 多变量环控系统数据显示模块开发

植物工厂的多变量环控系统的显示模块包括2个部分:多环境变量实时显示模块和变量曲线显示模块。本系统加入变量曲线显示模块,将各变量参数进行曲线化展示,能够使系统管理者更加直观地监管、调控系统。

管理者需打开手机客户端“植物工厂智能调控”APP,点击如图13a所示的跳转界面,APP将根据后端预设端口号与下位机IP地址尝试Socket连接,从而完成与下位机的通信连接。为实现植物工厂多变量环控系统与下位机的通信连接成功,管理者需要保证上位机客户端ESP8266WiFi热点与下位机处于同一局域网。

图13 手机App系统界面

当本系统与下位机成功建立通信,多环境变量显示模块将对由下位机发送的各环境变量数据进行处理并实时更新显示,在如图13b所示的显示界面中,6个显示框分别用于实时更新显示温度、湿度、TVOC浓度、CO2浓度、土壤湿度和光照强度等变量参数。

当6个显示框分别显示对应变量数据,在显示界面任意点击一个变量数据,本系统将对这一环境变量参数进行曲线化展示,并实时更新,如图13c所示。其中,不同环境变量参数分别以不同颜色线条展示以便进行区分,便于管理者更加直观地了解植物环境变量参数的变化,以便管理者对植物工厂的各项环境参数进行分析,从而进行相应的精准调控。

图14 通讯连接装置

如图14a所示,当手机客户端系统与下位机通信连接建立失败,操控者需打开如图14b所示“设置”界面,确认端口号和IP地址是否与下位机保持一致,若不一致,操控者可以对端口号与IP地址进行编辑,点击“连接按钮”即可实现手动连接。因此,本系统能够保证上位机的适配性与容错性。

3.2 多变量环控系统控制模块设计

植物工厂多变量环控系统控制模块设计囊括植物工厂通风系统、植物工厂照明系统以及植物工厂补光系统3部分。

各控制系统如图15所示。在植物工厂环境CO2浓度过高时,操控者可借植物工厂通风系统控制舵机的启动与停止对环境中CO2浓度进行调控;当植物工厂中光照强度不足时,管理者可在手机端APP提高植物工厂补光系统的光照强度对植物进行多级补光,保证植物在最适宜光照条件下茁壮成长。

3.3 多变量环控系统数据库设计

植物工厂多变量环控系统还具备数据存储功能,采用轻量级SQLite数据库来实现。本系统将从下位机收集到的6路变量参数存入SQLite数据库中,以便进行数据分析并提出相应改良方案。SQLite数据库是Android内置数据库,遵循ACID关系——事务,具备持久性、原子性、隔离性、一致性,并且处理速度快,占用资源比重低,数据库界面如图16所示。

图16 手机客户端数据存储

4 总结

本文结合Arduino的下位机多环境变量参数采集系统及环境变量控制系统和Android开发的上位机多环境变量数据监测及远程环境调控系统,基于ESP8266WiFi模块的无线通信技术,实现对植物工厂内多环境变量数据监测、智能调控的功能,所应用的数字技术将加速设施农业各领域各环节的数字化改造,提高农业生产效率,提高植物产能,实现农业的精准种植,机械化管理,为设施农业生产管理提供智能决策方案,为后续植物工厂多变量环控系统的研究提供一定的参考。

猜你喜欢
环境变量下位控系统
关于DALI灯控系统的问答精选
联调联试中列控系统兼容性问题探讨
发射机房监控系统之下位机
一种新型列控系统方案探讨
景洪电厂监控系统下位机数据传输网络改造
基于三阶段DEA—Malmquist模型的中国省域城镇化效率测度及其收敛分析
CAN总线并发通信时下位机应用软件设计
简析GSM-R在CTCS-3列控系统中的作用和故障判断处理