賴祿安,陳婷,常杰,王浩
(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 數據庫實現數據的交互顯示。系統可方便種植戶實時監控溫室大棚環境,查看歷史數據,發出警報信息,讓種植戶及時決策調節環境參數,促進作物在最佳環境中健康生長。種植戶可將溫室大棚的環境數據發送給專業機構分析、整理,進一步提高溫室大棚農作物的產量和品質。本文只是實現了溫室大棚的可視化監控,并沒有與大棚的灌溉控制系統等進行連接,不能實現“以虛控實”,此外數據的傳輸還是采用傳統的纜線連接。下一步研究將采用藍牙傳輸數據,同時接入溫室大棚的控制系統,實現真正的以虛控實。