赖禄安,陈婷,常杰,王浩
(650500 云南省 昆明市 昆明理工大学 机电工程学院)
农业是社会稳定与发展的基础。随着我国城市化发展和全球气候变暖,农业面临诸如土地资源紧缺、生态环境压力大等突出问题,农产品的产量和品质成为农民和政府关注的焦点。越来越多的种植户使用温室大棚种植农作物,以提高农产品的产量和品质,但大部分还是依靠种植人员的经验进行粗放式管理,没有发挥温室大棚最大的作用。
互联网等现代信息技术的发展推动了传统农业的转型升级,温室大棚中安装监控系统已随处可见。基于物联网的温室大棚监控系统具有环境参数精准采集、实时监控、减少劳动力和成本投入的特点[1-4]。孙阳等[5]基于物联网技术,设计了对农产品生长环境监控和溯源的物联网植物工厂监管系统。韩毅等[6]基于物联网技术开发了日光温室智能监控系统。ZigBee 无线通信技术被应用到温室大棚的监控系统中,提高了系统的精度、稳定性[7-10]。
数字孪生技术的概念被Grieves 提出后,经过十几年的发展,数字孪生技术已被广泛应用于各行各业。陶飞等[11]提出数字孪生五维模型,探讨了其在卫星/空间通信网络等10 个领域的应用思路与方案,同时也指出了在农业领域的应用。虽然数字孪生的应用热点在制造业,但是还是有学者将数字孪生技术应用到农业领域。毛雨晗[12]研究了温室自动化多层栽培装备数字孪生监控方法,实现了环境数据的监测与温室场景的可视化;梁晨光[13]基于数字孪生技术理论搭建了稻田环境监测系统,解决了农业上因环境因素不确定性带来的数据误差问题;王志强等[14]将数字孪生与区块链技术结合,以金银花采摘应用场景对该系统进行了设计;顾生浩[15]等探讨了数字孪生系统在农业生产中的应用,为推进我国农业生产智能化提供了参考。
综上所述,基于数字孪生的温室大棚可视化监控系统目前还没有得到较多应用,数字孪生温室大棚的应用可以实时监测温室大棚环境信息,查询历史环境信息,提高管理效率,为种植户提供种植参考依据,同时场景漫游查看农作物信息,比传统的监控系统更具优势。
目前,市面上的温室大棚监控系统虽然实现了环境监控、数据展示、故障预警等功能,但是还未实现虚实映射,用户使用体验感较低,基于数字孪生的温室大棚可视化监控系统恰好解决了这一问题。数字孪生温室大棚是温室大棚物理实体、虚拟实体、孪生数据、服务和连接的集成融合,温室大棚物理实体和温室大棚虚拟实体通过连接进行孪生数据传输,服务连接孪生数据实现了数据的实时交互和真实映射。本文通过可视化监控从几何维度展现数字孪生温室大棚,并从监控需求出发,建立了温室大棚可视化监控系统五维模型,如图1 所示。
图1 温室大棚可视化监控系统五维模型Fig.1 Five dimensional model of visual monitoring system for greenhouse
温室大棚数字孪生可视化监控系统,要求能对温室大棚的环境参数进行状态监控并通过界面展示实时、历史环境数据信息、温室大棚三维环境、警报信息和场景漫游。
基于数字孪生的温室大棚可视化监控系统分为2 部分:数字孪生可视化展示和场景漫游功能,功能框图如图2 所示。
图2 系统功能框图Fig.2 System function block diagram
数字孪生可视化展示包含实时环境参数可视化、历史环境参数可视化、温室大棚三维环境可视化和警报信息。实时环境参数可视化功能实时展示传感器获取得到的环境数据参数;历史环境参数展示功能对存储在数据库中的环境数据参数进行展示;温室大棚三维环境展示是根据实际温室大棚的建筑结构、布局建立的虚拟温室大棚三维模型场景,包含了各类农作物,以三维模型的形式进行1∶1的展示,以及温室大棚环境参数不适合农作物生长则在界面上显示警报信息。
数字孪生场景漫游包含场景漫游功能,用户可使用鼠标在主界面和历史数据界面进行场景漫游,查看温室大棚的农作物信息,使用户如同身临其境。
针对温室大棚可视化监控系统的功能需求,对温室大棚可视化监控系统进行了总体设计。本文采用Uinty3D 引擎的C/S 两层架构,服务端采用MySQL 数据库存储数据,数据库中存储了温室大棚的环境参数信息,通过编辑C#脚本连接MySQL数据库实现Unity3D 与数据的交互和显示。
本系统使用Arduino UNO 开发板读取传感器的数据,采集温室大棚的空气温湿度、光照强度、土壤湿度等环境参数数据。Arduino UNO 开发板如图3 所示,选用的传感器如图4 所示。
图3 Arduino 开发板Fig.3 Arduino development board
图4 传感器Fig.4 Sensor
(1)空气温湿度传感器的选择。本文选用AM2301A 型温湿度传感器,其温度测量范围为-40~+80 ℃,精度为±0.5 ℃;湿度测量范围为0~99.9% RH,精度为±3% RH。
(2)光照传感器的选择。选用GY-302 光强度光照度模块传感器,测量范围为0~65 535 Lux。
(3)土壤湿度传感器的选择。选用土壤湿度传感器模块4 线制,其输出值有2 种类型。当土壤湿度低于设定的阈值时,DO 输出高电平,同时其模块的提示灯会变亮;当湿度高于设定的阈值时,DO 输出低电平,同时其模块的提示灯会变亮。该型号传感器的工作电压为3.3~5.0 V,其测量范围也有所不同。当接通3 V 电压,空气中AO 读取的值最大为695,浸泡在水里的最小值245;当接通5 V 电压时,空气中AO 读取的值最大为1 023,浸泡在水里的最小值245。
数字孪生完美实现了现实世界与虚拟世界的虚实交互,而三维模型是对现实世界对象进行忠实映射的载体,是数字孪生的骨骼,因此模型的逼真程度决定了温室大棚数字孪生系统的使用体验。本文使用Unity 3D 中Asset Store 的温室大棚模型,并结合实际研究内容对模型进行适当修改,使物理实体与虚拟实体尽可能保持一致,提高数字孪生的温室大棚可视化监控系统的逼真程度,增加用户的体验感。温室大棚模型如图5 所示。
图5 温室大棚模型Fig.5 Greenhouse model
在Arduino IDE 上编写代码,验证无误后将代码上传(烧录)到Arduino UNO 开发板,通过Arduino IDE串口监视器即可查看实时的环境数据,如图6 所示。编写的核心代码如下:
图6 串口监视器信息Fig.6 Serial monitor information
由于采集到的温室大棚环境数据需要和Unity3D 游戏引擎实时交互、传输数据,而Arduino IDE 串口监视器只能查看实时的环境数据并不能存储数据,因此需要将采集得到的环境数据进行存储,小型关系型的MySQL 数据库是最好的选择。在Python 文件中导入serial、pymysql 库配置环境信息,编写代码实时读取串口数据,最后将串口数据保存在MySQL数据库中。数据结构表如图7所示。
图7 数据结构表Fig.7 Data structure table
监控系统使用Unity3D 游戏引擎对UI 界面布局。在场景中创建UI 组件后,该组件自动放置在Canvas 组件中,系统也会自动创建一个EventSystem 组件。Unity3D 的常见组件类型有Image 组件、Text 组件、Button 组件、Toggle 组件、Slider 组件、Input Field 组件等,根据UI 界面的要求,将各组件组合使用、设置UI 组件的参数完成UI 界面的开发工作。本文的系统UI 界面包含开始界面、主界面和历史数据界面。
UI 界面开发完成后,创建编辑C#脚本使Unity3D 获取MySQL 数据库的数据,通过自带的Update 函数将温室大棚的环境参数实时显示到UI主界面上,进而实现在主界面上实时查看温室大棚的环境参数信息和警报信息;通过C#脚本获取鼠标的输入,使得在主界面和历史数据界面都具有场景漫游功能,实现温室大棚三维环境的可视化,查看温室大棚的农作物信息。查阅文献资料设定警报信息的预警界限范围:温度18~37℃,空气湿度50~85 RH,光照2 000~10 000 Lux,超出此范围均有警报信息。
系统设计完成后对系统进行测试,以验证其稳定性、可靠性。设置每秒获取一次传感器数据。将传感器置于温室大棚适当位置,打开系统运行测试。为了检验测试性能,在试验中人为调节温度、湿度和光照强度,以检验环境参数变化时系统的灵敏度。测试结果表明,系统能够实现对温室大棚的温湿度、光照强度等参数实时监测,超出预警范围发出警报信息,能在系统内实现漫游功能,系统性能、数据存储占用也符合要求。系统主界面如图8所示,历史界面数据如图9 所示。
图8 系统主界面Fig.8 System main interface
图9 历史数据界面Fig.9 Historical data interface
本文结合数字孪生技术设计实现了温室大棚可视化监控系统,通过传感器采集温室大棚环境数据并保存到MySQL 数据库,在Unity 3D 引擎中编辑C#脚本连接MySQL 数据库实现数据的交互显示。系统可方便种植户实时监控温室大棚环境,查看历史数据,发出警报信息,让种植户及时决策调节环境参数,促进作物在最佳环境中健康生长。种植户可将温室大棚的环境数据发送给专业机构分析、整理,进一步提高温室大棚农作物的产量和品质。本文只是实现了温室大棚的可视化监控,并没有与大棚的灌溉控制系统等进行连接,不能实现“以虚控实”,此外数据的传输还是采用传统的缆线连接。下一步研究将采用蓝牙传输数据,同时接入温室大棚的控制系统,实现真正的以虚控实。