,高安妮,宇昂,趙繼叢,劉東旭
(東北林業(yè)大學(xué)信息與計(jì)算機(jī)工程學(xué)院,黑龍江 哈爾濱 150040)
近年來,隨著我國農(nóng)業(yè)生產(chǎn)水平的不斷提高,機(jī)械化、智能化在農(nóng)業(yè)生產(chǎn)領(lǐng)域的地位日益突出,對(duì)溫室的生產(chǎn)需求逐年上升。我國的棚式種植面積從建國初期的不足2億hm2到如今的98億hm2,穩(wěn)居世界首位。雖然在種植面積上我國處于領(lǐng)先地位,但在棚式的信息化、智能化方面,我國的發(fā)展速度卻較為緩慢。農(nóng)業(yè)生產(chǎn)是一個(gè)受地域、氣候影響的產(chǎn)業(yè),傳統(tǒng)農(nóng)業(yè)大棚的出現(xiàn)可以給農(nóng)作物提供適應(yīng)的生長環(huán)境,但仍存在管理難度大、生產(chǎn)效率低等問題,難以適應(yīng)經(jīng)濟(jì)社會(huì)的發(fā)展。就我國溫室技術(shù)整體水平較低來看,種植者如果擁有一款智能設(shè)備,就能有效降低溫室作業(yè)的人力成本,提高生產(chǎn)效率,減少監(jiān)控難度。因此,推進(jìn)現(xiàn)代溫室農(nóng)業(yè)的智能化變得越來越重要。
本項(xiàng)目擬設(shè)計(jì)開發(fā)一款基于無線WIFI視頻采集模塊為核心的智能巡航機(jī)器人控制APP,利用手機(jī)APP控制溫室監(jiān)測系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了大棚內(nèi)的溫度監(jiān)測與控制、通風(fēng)視頻監(jiān)控功能和對(duì)室內(nèi)溫濕度變化的預(yù)測等功能,打破傳統(tǒng)管理模式,通過對(duì)環(huán)境的準(zhǔn)確控制提高產(chǎn)量且解放勞動(dòng)力,同時(shí)避免繁瑣的布線問題,真正實(shí)現(xiàn)智能化管理。
本項(xiàng)目研究的主要內(nèi)容是基于Android平臺(tái)的溫室巡航機(jī)器人APP軟件系統(tǒng)界面和功能的設(shè)計(jì),包括以下幾個(gè)方面:
(1)通過對(duì)利用機(jī)器人進(jìn)行農(nóng)業(yè)大棚管理嵌入式控制系統(tǒng)的研究,確定本項(xiàng)目涉及的基于Android平臺(tái)的溫室巡航機(jī)器人APP系統(tǒng)。
(2)對(duì)該軟件的功能需求及設(shè)計(jì)進(jìn)行分析,以及對(duì)APP軟件中各個(gè)功能模塊和數(shù)據(jù)庫系統(tǒng)進(jìn)行設(shè)計(jì),并完成系統(tǒng)的整體方案設(shè)計(jì)。
(3)針對(duì)溫室大棚巡航機(jī)器人收集的數(shù)據(jù),建立相應(yīng)的數(shù)據(jù)庫系統(tǒng)并對(duì)其進(jìn)行存儲(chǔ),其中包括土壤的溫濕度、空氣的溫濕度、CO2濃度、光照強(qiáng)度等信息,同時(shí)還包括用戶注冊(cè)的個(gè)人信息。
完成基礎(chǔ)功能的建設(shè)后,進(jìn)行系統(tǒng)測試并得出結(jié)論,在移動(dòng)端完成以上功能,方便遠(yuǎn)程數(shù)據(jù)的記錄和查詢,以及遠(yuǎn)程視頻信息的查看等功能,以得到適宜于溫室栽種農(nóng)作物生長的環(huán)境。
本項(xiàng)目設(shè)計(jì)的APP主要應(yīng)用于日光溫室,其功能主要包括信息采集、數(shù)據(jù)管理、遠(yuǎn)程控制和信息發(fā)布等。通過以上功能的開發(fā),實(shí)現(xiàn)了信息采集、視頻監(jiān)控、設(shè)備控制、溫度調(diào)控等功能集成。
基于Android平臺(tái)的溫室巡航機(jī)器人APP軟件系統(tǒng)界面和功能的設(shè)計(jì),APP是直接面對(duì)農(nóng)戶的,是整個(gè)系統(tǒng)的控制中心,所有的命令由農(nóng)戶通過該APP發(fā)送,農(nóng)業(yè)大棚的實(shí)時(shí)狀態(tài)呈現(xiàn)在整個(gè)手機(jī)屏幕中,農(nóng)戶通過視頻信息掌握到大棚的溫度情況,即通過APP可以控制機(jī)器人運(yùn)動(dòng)觀察大棚里面的每一個(gè)角落,需要對(duì)大棚進(jìn)行降溫時(shí),通過APP啟動(dòng)鼓風(fēng)機(jī)進(jìn)行降溫,用APP 對(duì)大棚進(jìn)行全面智能指令控制。
溫室巡航機(jī)器人系統(tǒng)軟件程序APP的設(shè)計(jì)主要是根據(jù)研究內(nèi)容中確定的功能需求分別對(duì)數(shù)據(jù)庫、服務(wù)器以及客戶端進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。
數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)為系統(tǒng)提供了數(shù)據(jù)的存儲(chǔ)格式以及為后續(xù)系統(tǒng)的調(diào)用邏輯奠定基礎(chǔ)。對(duì)數(shù)據(jù)庫的設(shè)計(jì)可以分為對(duì)所需求表的設(shè)計(jì)及各表中字段的設(shè)計(jì),該設(shè)計(jì)需要具備對(duì)系統(tǒng)整體邏輯的充分了解及對(duì)數(shù)據(jù)調(diào)用方式的深刻理解。
服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)為系統(tǒng)的運(yùn)行提供了良好的支撐,為收集并存儲(chǔ)極為龐雜的環(huán)境數(shù)據(jù)奠定了良好的基礎(chǔ)。
客戶端的設(shè)計(jì)主要從用戶角度出發(fā),在實(shí)現(xiàn)所需功能的基礎(chǔ)上還要盡可能地提高用戶體驗(yàn)并簡化代碼,提升運(yùn)行速度??蛻舳说脑O(shè)計(jì)與實(shí)現(xiàn)提供了良好的人機(jī)交互功能。系統(tǒng)軟件設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)軟件設(shè)計(jì)框圖
系統(tǒng)的架構(gòu)設(shè)計(jì)原則應(yīng)該滿足三點(diǎn):一是滿足系統(tǒng)的功能性需求和非功能性需求,這是軟件架構(gòu)設(shè)計(jì)時(shí)應(yīng)該遵循的基本原則,也是一個(gè)軟件應(yīng)該所滿足的最基本的要求;二是具備實(shí)用性,軟件架構(gòu)設(shè)計(jì)不應(yīng)該過分設(shè)計(jì)或者是定位太高,就像軟件系統(tǒng)的使用必須具備實(shí)用性能夠解決客戶最需要解決的問題一樣;三是應(yīng)該滿足復(fù)用的要求,最大程度地提高開發(fā)人員的工作效率。
為了滿足系統(tǒng)架構(gòu)設(shè)計(jì)的基本原則,本系統(tǒng)采用MVC設(shè)計(jì)模式。MVC是一種軟件設(shè)計(jì)的典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。MVC組件功能及其關(guān)系描述如圖2所示。
圖2 MVC組件功能及其關(guān)系描述
在Android應(yīng)用的開發(fā)中,視圖層(View)一般采用Xml文件進(jìn)行界面描述;控制層(Controller)使用Activity與業(yè)務(wù)邏輯層進(jìn)行處理,原因是Activity響應(yīng)時(shí)間為5 s,程序容易被回收;模型層(Model)主要是對(duì)數(shù)據(jù)庫和網(wǎng)絡(luò)操作等做處理。事實(shí)上,在Android SDK中的數(shù)據(jù)綁定也采用與MVC框架類似的方法,在控制層按視圖和模型的要求封裝就可以在視圖模型上顯示,以此來實(shí)現(xiàn)數(shù)據(jù)綁定。Android移動(dòng)終端與后端的交互采用了Ksoap2調(diào)用WCF服務(wù)的交互方式。
此外,本系統(tǒng)的開發(fā)采用了JAVA語言。它具有下列優(yōu)點(diǎn):簡單、面向?qū)ο蟆⒎植际?、解釋?zhí)行、魯棒、安全、體系結(jié)構(gòu)中立、可移植、高性能、多線程以及動(dòng)態(tài)性。
本設(shè)計(jì)架構(gòu)遵循Android系統(tǒng)的架構(gòu)設(shè)計(jì)原則,并著重在應(yīng)用層進(jìn)行了設(shè)計(jì)與開發(fā)。Android操作系統(tǒng)和其他操作系統(tǒng)一樣,采用分層架構(gòu)。Android系統(tǒng)架構(gòu)如圖3所示,Android分為四層,由高到低分別為應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和Linux核心層。
圖3 Android系統(tǒng)架構(gòu)
應(yīng)用程序?qū)佑蒍ava語言編寫,與用戶直接交互。例如,手機(jī)上的短信、撥號(hào)、瀏覽器、日歷等程序,以及開發(fā)人員開發(fā)的其他應(yīng)用程序。
應(yīng)用程序框架層提供APP開發(fā)時(shí)所需要的相關(guān)類庫,使開發(fā)人員可以快速地開發(fā)應(yīng)用程序,方便重用組件,也可以通過繼承實(shí)現(xiàn)個(gè)性化的拓展。例如,常用軟件都會(huì)用到的框架:活動(dòng)管理器(Activity Manager)、窗口管理器(Windows Manager)、內(nèi)容提供器、視圖、通知管理器、包管理器、資源管理器、位置管理器、電話管理器、XMPP服務(wù)等。
太陽輻射是大棚溫度的主要熱量來源,但由于大棚的密閉性,其內(nèi)部溫度相較于露地也有所不同,不同時(shí)段的溫度也會(huì)有所差異,到4月,棚內(nèi)溫度會(huì)到達(dá)40 ℃,5月、6月會(huì)到達(dá)50 ℃,如果不及時(shí)釋放熱量會(huì)對(duì)作物產(chǎn)生極大影響,7月、8月溫度會(huì)到達(dá)頂峰,這時(shí)就必須更改大棚設(shè)施來控制溫度,所以通過歷史7~14天的溫度來預(yù)測溫度是十分必要的,而且溫度變化比較符合線性回歸模型,線性回歸模型如圖4所示。
圖4 線性回歸模型
在實(shí)時(shí)檢測系統(tǒng)溫、濕度情況的基礎(chǔ)上,定時(shí)更新相應(yīng)的溫、濕度變化表格變化。基于線性回歸算法,考慮不同時(shí)間下的光照、二氧化碳濃度、氧氣濃度對(duì)未來某一節(jié)點(diǎn)的溫、濕度進(jìn)行預(yù)測。實(shí)現(xiàn)智能化的預(yù)測,友好地提示農(nóng)戶進(jìn)行澆水、通風(fēng)、調(diào)節(jié)光照等操作。實(shí)現(xiàn)棚內(nèi)問題的預(yù)測,使棚內(nèi)的管理更加智能。
建立以溫室數(shù)據(jù)為中心的數(shù)據(jù)庫系統(tǒng),儲(chǔ)存產(chǎn)生所需要的信息,如用戶信息、溫室大棚環(huán)境信息等,完成數(shù)據(jù)分析、數(shù)據(jù)追溯等功能。數(shù)據(jù)庫總體E-R圖如圖5所示。
圖5 數(shù)據(jù)庫總體E-R圖
服務(wù)器需與巡航機(jī)器人、傳感器、數(shù)據(jù)庫及客戶端進(jìn)行交互,其中數(shù)據(jù)表與接口間的交互采用JDBC實(shí)現(xiàn),服務(wù)器與數(shù)據(jù)庫之間的交互主要是增、刪、改、查操作,其余交互方式均為請(qǐng)求-響應(yīng)模式。
客戶端與服務(wù)器端的通信主要是客戶端通過HTTP協(xié)議向服務(wù)器端發(fā)出請(qǐng)求,服務(wù)器端向客戶端發(fā)送Json格式的返回信息。客戶端的主要任務(wù)是解析Json格式的信息以獲取服務(wù)器端發(fā)送的數(shù)據(jù)。服務(wù)器端總體設(shè)計(jì)如圖6所示。
圖6 服務(wù)器端總體設(shè)計(jì)
主要測試系統(tǒng)具備根據(jù)用戶登錄時(shí)填寫用戶名及密碼狀況分別彈出提示的功能,考慮到用戶在未填寫用戶名或密碼時(shí)并不需要再詳細(xì)分情況提示,當(dāng)用戶名填寫錯(cuò)誤或密碼填寫錯(cuò)誤時(shí)用戶不易分辨,因此系統(tǒng)主要將其分為三種情況進(jìn)行判斷:未輸入用戶名或密碼、用戶名錯(cuò)誤、密碼錯(cuò)誤,并根據(jù)情況分別彈出Toast提示:“請(qǐng)輸入用戶名密碼”、“該用戶不存在”及“密碼不正確”。
系統(tǒng)可針對(duì)溫室大棚巡航機(jī)器人收集的數(shù)據(jù),建立相應(yīng)的數(shù)據(jù)庫系統(tǒng)對(duì)其進(jìn)行存儲(chǔ),其中包括土壤的溫濕度、空氣的溫濕度、CO2濃度、光照強(qiáng)度等信息,同時(shí)還包括用戶注冊(cè)的個(gè)人信息,方便遠(yuǎn)程數(shù)據(jù)的記錄和查詢,以及遠(yuǎn)程視頻信息的查看等功能,以得到適宜于溫室栽種農(nóng)作物生長的環(huán)境。
系統(tǒng)可實(shí)現(xiàn)對(duì)環(huán)境因素的感知控制,包括自動(dòng)巡航、通風(fēng)視頻監(jiān)控、控制機(jī)器人移動(dòng)、控制鼓風(fēng)機(jī)等功能;同時(shí)可實(shí)現(xiàn)對(duì)溫、濕度的檢測與控制,包括溫度檢測、生成溫度變化圖像、預(yù)測澆水時(shí)間等功能。APP頁面如圖7所示。
圖7 APP頁面
經(jīng)過研究與開發(fā),溫室大棚巡航機(jī)器人APP未來的大范圍推廣使用將實(shí)現(xiàn)大棚內(nèi)的溫度監(jiān)測與控制、通風(fēng)視頻監(jiān)控功能和對(duì)室內(nèi)溫濕度變化的預(yù)測等功能,打破傳統(tǒng)管理模式,通過對(duì)環(huán)境的準(zhǔn)確控制提高產(chǎn)量解放勞動(dòng)力,同時(shí)避免繁瑣的布線問題,真正實(shí)現(xiàn)智能化管理。但系統(tǒng)仍存在以下不足:
(1)系統(tǒng)運(yùn)行過程中,如果出現(xiàn)網(wǎng)絡(luò)連接問題HTTP請(qǐng)求就會(huì)拋出異常,這些異??赡軙?huì)導(dǎo)致系統(tǒng)無響應(yīng)或強(qiáng)制關(guān)閉等現(xiàn)象,降低用戶體驗(yàn)。
(2)可以細(xì)化對(duì)設(shè)備及傳感器的操作,以滿足更多科研需求。