韓國鑫 譚峰 馬志欣
摘要:為了提高我國水稻田間管理與決策的工作水平與效率,保障我國水稻生產(chǎn)安全,基于Android應(yīng)用平臺研究了一款水稻田間管理遠(yuǎn)程輔助決策系統(tǒng)。利用Socket通信技術(shù)實現(xiàn)了手機(jī)終端與云服務(wù)器的無縫對接,云平臺利用無線通信模塊實時獲取農(nóng)業(yè)現(xiàn)場傳感器采集的信息,通過自定義的通信協(xié)議與移動終端進(jìn)行通信,實現(xiàn)了田間農(nóng)情信息的實時查看與農(nóng)田管理的輔助決策,并在黑龍江省杜爾伯特蒙古族自治縣農(nóng)業(yè)示范區(qū)進(jìn)行了應(yīng)用試驗,結(jié)果表明,該系統(tǒng)能夠有效提高水稻田間管理者調(diào)查與指導(dǎo)的工作效率,加強農(nóng)業(yè)技術(shù)人員的決策能力,對提高農(nóng)業(yè)信息化水平具有重要意義。
關(guān)鍵詞:Android系統(tǒng);田間管理;輔助決策;云平臺
中圖分類號: S126 ?文獻(xiàn)標(biāo)志碼: A ?文章編號:1002-1302(2019)02-0221-05
水稻是我國主要糧食作物之一,確保水稻生產(chǎn)質(zhì)量是保障我國糧食安全的關(guān)鍵環(huán)節(jié)。在水稻種植和生產(chǎn)過程中,田間管理是極其重要的工作,如田間作業(yè)、病蟲害預(yù)防以及生長環(huán)境監(jiān)測等各個環(huán)節(jié)都會對水稻產(chǎn)量與質(zhì)量產(chǎn)生重要影響。因此,加強水稻生長的田間管理具有十分重要的意義[1-2]。目前,我國農(nóng)民對田間管理工作技術(shù)標(biāo)準(zhǔn)了解不足,農(nóng)業(yè)技術(shù)人員對田間管理工作調(diào)查不充分,導(dǎo)致我國水稻田間管理工作模式落后、粗放,為農(nóng)業(yè)生產(chǎn)埋下隱患[3]。隨著農(nóng)業(yè)信息化的快速發(fā)展,針對移動終端的水稻田間管理決策系統(tǒng)已有研究,但這些平臺大多應(yīng)用于Windows系統(tǒng),不但價格高昂、功能局限、人機(jī)交互性能較差,且不具備開源免費的開發(fā)環(huán)境[4-6]。因此,針對農(nóng)業(yè)工作者設(shè)計一種界面友好簡單、人機(jī)交互性強的水稻田間管理輔助決策系統(tǒng),對于我國傳統(tǒng)水稻田間管理模式的革新以及農(nóng)業(yè)新科技向農(nóng)業(yè)生產(chǎn)一線普及有著十分重要的意義[7-8]。
本研究基于Android應(yīng)用平臺研究了一種水稻生長田間管理遠(yuǎn)程決策輔助系統(tǒng)的設(shè)計方法,構(gòu)建了開源免費的開發(fā)環(huán)境[9-10]。該系統(tǒng)利用Socket通信技術(shù)實現(xiàn)了Android智能移動終端與云服務(wù)器的數(shù)據(jù)上傳與下載,實現(xiàn)了農(nóng)業(yè)技術(shù)人員在田間管理工作中對作物生長信息、田間環(huán)境信息、水稻病蟲草害監(jiān)測信息的遠(yuǎn)程獲取與上報;實現(xiàn)了農(nóng)業(yè)管理者對于水稻生長環(huán)境信息的遠(yuǎn)程監(jiān)測以及對農(nóng)業(yè)生產(chǎn)與田間管理的遠(yuǎn)程指導(dǎo),提高了水稻田間管理的工作效率。
1 系統(tǒng)組成與功能設(shè)計
整體系統(tǒng)主要由作物生長信息采集設(shè)備、云服務(wù)器以及Android智能移動終端設(shè)備3個部分組成。首先由作物生長信息采集設(shè)備通過3G/4G工業(yè)無線路由器將水稻田間生長的農(nóng)業(yè)數(shù)據(jù)信息上傳至云服務(wù)器,再由Android智能移動終端設(shè)備通過Socket通信的方式訪問云服務(wù)器從而獲取作物生長狀況與實時環(huán)境信息,進(jìn)而輔助農(nóng)業(yè)技術(shù)人員及時作出決策。筆者介紹主要內(nèi)容是系統(tǒng)客戶端的設(shè)計,系統(tǒng)客戶端采用Android平臺研發(fā),主要分為田間農(nóng)業(yè)信息采集和輔助決策這兩大功能模塊,農(nóng)業(yè)田間信息采集部分包括田間環(huán)境信息采集、作物長勢圖像采集、水稻病蟲草害分類查詢以及災(zāi)害情況上報等功能;輔助決策部分主要包括水稻長勢與環(huán)境信息的遠(yuǎn)程查看、受災(zāi)情況查看以及基于地理位置的水稻田間生長管理信息綜合查看。系統(tǒng)總體設(shè)計見圖1。
1.1 客戶端總體功能設(shè)計
為了提高農(nóng)業(yè)技術(shù)人員的田間管理水平,輔助農(nóng)場領(lǐng)導(dǎo)與農(nóng)業(yè)專家對田間情況進(jìn)行決策,系統(tǒng)客戶端設(shè)計了農(nóng)業(yè)信息采集以及田間管理輔助決策系統(tǒng)2個子系統(tǒng),每個子系統(tǒng)分別含有一級、二級功能模塊。系統(tǒng)整體功能模塊的構(gòu)建見圖2。
1.2 農(nóng)業(yè)信息采集系統(tǒng)功能設(shè)計
該子系統(tǒng)主要針對農(nóng)業(yè)技術(shù)人員進(jìn)行設(shè)計,根據(jù)水稻田間管理業(yè)務(wù)分析與研究將該部分系統(tǒng)劃分為四大功能模塊,分別為田間信息采集、水稻病蟲草害信息瀏覽、災(zāi)害上報、輔助功能,每個功能模塊還細(xì)分為若干子模塊。
1.2.1 田間信息采集部分功能設(shè)計 田間信息采集模塊是農(nóng)業(yè)信息采集系統(tǒng)的重要組成部分,其中包含水稻長勢與生長環(huán)境的監(jiān)測、圖像顯示與歷史、田間作業(yè)與歷史3個部分,農(nóng)業(yè)技術(shù)人員能夠利用該模塊的功能完成對所負(fù)責(zé)區(qū)域調(diào)查記錄的存儲與上傳工作。
1.2.1.1 水稻長勢與生長環(huán)境的監(jiān)測 在水稻田間管理工作當(dāng)中,及時獲取水稻生長信息從而快速作出正確決策對于保障水稻的生產(chǎn)安全具有重要的意義。農(nóng)技人員通過水稻生長監(jiān)測功能,能夠?qū)崟r獲取與水稻生長環(huán)境相關(guān)的數(shù)據(jù),包括水稻長勢監(jiān)測、氣象信息監(jiān)測、水位高度監(jiān)測、渠流量監(jiān)測、田間環(huán)境監(jiān)測、水肥藥一體微噴監(jiān)測等6類信息。其中長勢監(jiān)測包括水稻株高、出葉、分蘗以及葉綠素含量;氣象監(jiān)測數(shù)據(jù)包括風(fēng)向、風(fēng)速、空氣與土壤溫濕度、降水量與蒸發(fā)量等;流量監(jiān)測數(shù)據(jù)包括微噴、曬水池出入水和各格田出入水流量的瞬時與累計值;田間環(huán)境監(jiān)測包括各田塊的水位、溫度、作物生長階段、田間進(jìn)出水閥門狀態(tài)等;水肥藥一體化微噴包括各噴灌開閉狀況、噴藥與施肥微噴閥門狀態(tài);水位高度監(jiān)測包括渠水位和蓄水池水位高度。水稻生長監(jiān)測模塊見圖3。
1.2.1.2 圖像顯示與歷史 圖像顯示部分能夠呈現(xiàn)當(dāng)前環(huán)境下水稻病菌的孢子圖像、捕蟲燈圖像以及水稻長勢圖像,農(nóng)技人員可以通過孢子圖像反映的細(xì)菌種類、捕蟲燈顯示的害蟲種類與數(shù)量以及作物長勢圖像,從而對作物病蟲害進(jìn)行預(yù)判,并及時采取防治措施。
1.2.1.3 田間作業(yè)與歷史 為了確保水稻田間管理工作的有序進(jìn)行,保障糧食生產(chǎn)安全,設(shè)計了田間作業(yè)信息獲取與歷史查詢模塊,其中包括對各格田灌溉時間與次數(shù)的統(tǒng)計、施肥量與用藥量的統(tǒng)計,農(nóng)技人員可以通過該模塊對作業(yè)的類型及詳情、時間地點等數(shù)據(jù)進(jìn)行記錄,在填報數(shù)據(jù)的同時現(xiàn)場拍攝照片,填寫完畢后保存并上傳數(shù)據(jù)至云平臺,上傳后的數(shù)據(jù)歷史可以隨時供用戶查詢。
1.2.2 水稻病蟲草害信息瀏覽 水稻病蟲草害信息瀏覽模塊可以實現(xiàn)水稻病蟲草害信息的分類查看,其內(nèi)容包含各類災(zāi)害的發(fā)病癥狀、發(fā)病原因、防治與傳播方式等,能夠迅速幫助農(nóng)技人員針對當(dāng)前水稻發(fā)生災(zāi)害的特點進(jìn)行正確診斷,也可以針對災(zāi)害種類進(jìn)行快捷查詢,有效預(yù)防災(zāi)害的發(fā)生或進(jìn)一步惡化,提高了農(nóng)技人員對于災(zāi)害調(diào)查與上報的工作效率。
1.2.3 災(zāi)害上報與歷史查詢 農(nóng)技人員可以通過該功能模塊快速上報災(zāi)害情況,其功能包括對受災(zāi)地區(qū)的時間、地點以及受災(zāi)面積的登記,并對當(dāng)前地區(qū)災(zāi)害的基本信息以及具體情況進(jìn)行錄入,在填報數(shù)據(jù)的同時現(xiàn)場拍攝照片,記錄完畢后點擊上報上傳數(shù)據(jù)至云平臺,以便農(nóng)業(yè)管理者快速作出決策。
1.2.4 輔助功能 輔助功能模塊主要針對水稻品種、田間作業(yè)類別、地理位置與時間、災(zāi)害種類等信息類別進(jìn)行預(yù)先設(shè)置,農(nóng)技人員可以提前通過該功能設(shè)置自身所負(fù)責(zé)田塊的信息類別,以便在工作過程中快捷地對一系列田間管理信息進(jìn)行錄入,實現(xiàn)農(nóng)場系統(tǒng)對不同地域田塊的分類管理。同時,農(nóng)技人員還可以通過查詢功能輸入水稻當(dāng)前災(zāi)害的關(guān)鍵信息,快速搜索出相關(guān)的病蟲草害,有利于第一時間對災(zāi)害作出診斷并上報,減少災(zāi)害損失。
1.3 輔助決策系統(tǒng)功能設(shè)計
該系統(tǒng)主要針對農(nóng)業(yè)管理決策者進(jìn)行設(shè)計,其作用能夠幫助管理人員迅速獲取一定范圍內(nèi)各地區(qū)與水稻生長相關(guān)的田間信息,以便及時作出應(yīng)對并分配任務(wù),保證了數(shù)據(jù)反饋的真實性和時效性。通過對農(nóng)業(yè)管理者工作需求的實際調(diào)查,將該子系統(tǒng)的一級功能模塊分為3個部分,包括水稻生長信息、災(zāi)害詳情以及結(jié)合地理位置的水稻田間管理數(shù)據(jù)的分類瀏覽。
1.3.1 生長信息與災(zāi)害信息瀏覽 該模塊可以實現(xiàn)田間信息和災(zāi)害信息的動態(tài)遠(yuǎn)程查看,使農(nóng)業(yè)管理者更加全面、直觀地獲取水稻生長環(huán)境與田間作業(yè)信息,及時獲悉各區(qū)域農(nóng)業(yè)生產(chǎn)一線的受災(zāi)程度與詳情,有利于農(nóng)業(yè)管理人員及時把握田間管理工作進(jìn)程,提高田間管理與指導(dǎo)的工作效率以及對田間災(zāi)害的預(yù)防能力。
1.3.2 基于地理位置的水稻生長田間管理數(shù)據(jù)分類獲取 系統(tǒng)將水稻生長狀況、災(zāi)害詳情、環(huán)境數(shù)據(jù)等信息嵌入地理信息系統(tǒng)中,農(nóng)業(yè)管理者可以通過不同區(qū)域地理條件與環(huán)境的差異性生成適應(yīng)性較強的工作方案與應(yīng)急預(yù)案。同時,還將在地理信息系統(tǒng)中生成多層農(nóng)田空間信息分布圖,并將其納入水稻生長田間管理輔助決策系統(tǒng),有利于管理者結(jié)合不同地區(qū)田間作物生長的情況進(jìn)行分區(qū)管理和科學(xué)布局。其功能流程見圖4。
2 系統(tǒng)功能實現(xiàn)
系統(tǒng)基于Windows 7操作系統(tǒng)完成了對Java JDK 1.8.0、Android SDK、MyEclipse10以及Android Development Tools 23.0.7插件的安裝, 成功建立了開源免費的開發(fā)環(huán)境。系統(tǒng)的界面布局采用TableLayout類,每1行都包含1個TableRow,在每個TableRow中包含了單個或多個View對象。實現(xiàn)了不同內(nèi)容之間的快速切換以及界面空間的靈活運用。
2.1 通信功能的實現(xiàn)
利用Socket通信技術(shù)實現(xiàn)智能移動終端與云平臺的數(shù)據(jù)傳輸,該通信方式相比于Http通信更加快捷,效率更高。Socket通信封裝了TCP/IP協(xié)議,是一種“open-send/write-close”通信模式的實現(xiàn),首先在系統(tǒng)移動客戶端建立一個Socket,建立后云服務(wù)器會時刻進(jìn)行網(wǎng)絡(luò)監(jiān)聽,一旦發(fā)現(xiàn)地址與端口號一致的客戶端連接請求便迅速反應(yīng)并予以連接,然后對所需的信息和數(shù)據(jù)進(jìn)行及時傳輸并予以儲存。
通過利用JAVA中Socket通信包含的getInputStream()和getOuputStream()所對應(yīng)的輸入與輸出流來進(jìn)行數(shù)據(jù)的send/write等傳輸操作。在傳輸結(jié)束時,服務(wù)器調(diào)用close功能斷開連接并恢復(fù)監(jiān)聽狀態(tài)。經(jīng)傳輸后,Android移動終端利用ExpandableListView類實現(xiàn)了數(shù)據(jù)的列表分組管理與動態(tài)顯示。系統(tǒng)的信息采集主界面與田間管理生長監(jiān)測信息見圖5。
2.2 數(shù)據(jù)的存儲與調(diào)用
在系統(tǒng)實際應(yīng)用的過程中,會出現(xiàn)網(wǎng)絡(luò)故障以及網(wǎng)絡(luò)信號較弱等問題,為避免采集和錄入的數(shù)據(jù)丟失,系統(tǒng)采用了Android智能操作系統(tǒng)中自帶的SQLite數(shù)據(jù)庫,建立了水稻田間管理信息、作業(yè)信息以及病蟲草害信息的數(shù)據(jù)庫表,同時實現(xiàn)了相關(guān)圖片的存儲與調(diào)用,完成了數(shù)據(jù)的保存與更新。SQLite數(shù)據(jù)庫是一個標(biāo)準(zhǔn)的嵌入式數(shù)據(jù)庫,系統(tǒng)通過利用其提供的零配置運行模式,屏蔽了數(shù)據(jù)庫使用和管理的復(fù)雜性,提高了系統(tǒng)的運行效率和可靠性。
在實現(xiàn)過程中,通過調(diào)用SQLiteOpenHelper中g(shù)etWritabeDatabase()方法創(chuàng)建嶄新的數(shù)據(jù)庫表,成功建立后調(diào)用SQLiteDatabase類的insert()、update()等方法來完成數(shù)據(jù)的添加或更新等操作,新增的數(shù)據(jù)子類的內(nèi)容會顯示在不同的View中,用戶可以根據(jù)不同的類別進(jìn)行數(shù)據(jù)的錄入。最后,利用布局文件中Spinner控件的添加,便可以觸發(fā)SQLiteDatabase類的query()方法來實現(xiàn)用戶對信息數(shù)據(jù)的查看與調(diào)用。
2.3 病蟲草害信息查看功能的實現(xiàn)
水稻病蟲草害數(shù)據(jù)結(jié)構(gòu)化程度不高,利用XML這種具有較強可擴(kuò)展性及交互性的半結(jié)構(gòu)化的數(shù)據(jù)格式來編寫更為合適。系統(tǒng)嚴(yán)格按照XML語言的編寫方法建立了水稻病蟲草害文件rice.xml,實現(xiàn)了對于水稻生長的40多種以上主要病害與草害以及90多種以上主要蟲害的分類瀏覽,且每種災(zāi)害的詳細(xì)信息與圖譜都能夠條理清晰地顯示在客戶端中。水稻災(zāi)害XML文件的部分內(nèi)容與結(jié)構(gòu)見圖6。
系統(tǒng)通過調(diào)用資源對象的getXml()方法中XmlPullParser技術(shù)來解析上述XML文件,PULL解析器利用事件運行過程中觸發(fā)特定代碼的方式來判斷解析各項事件開始與結(jié)束的時間,相比于SAX和DOM解析方式具有占用內(nèi)存小、解析速度更快的優(yōu)點。定義后的事件類型與含義見表1。
在解析實現(xiàn)過程中,XML解析事件的首次觸發(fā)記為int eventType=parser.getEventType(),當(dāng)讀取開始后,程序?qū)⑼ㄟ^關(guān)鍵的parser.next()方法來獲取到高級的解析事件,并通過對比確定事件類型,然后通過調(diào)用getAttributeCount()和getAttributeName()方法來獲取元素的屬性值與名稱,最后將屬性值整理成需要顯示的信息。解析后的水稻病蟲草害信息查看功能見圖7。
2.4 基于地理信息的水稻生長田間管理數(shù)據(jù)分類查看功能實現(xiàn)
該功能選用百度地圖,并利用GPS定位技術(shù)來實現(xiàn)其基本功能。首先將百度地圖生成的Key填寫在Android Manifest.xml文件中,然后下載百度地圖API的jar包并導(dǎo)入libs文件夾中即可使用百度地圖API。在錄入的過程中,系統(tǒng)會自動檢測GPS功能所處的狀態(tài),如果檢測到該功能開啟系統(tǒng)便會自動通過LocationManager來獲取某一特定時間地理位置的相關(guān)信息。在對田間信息與地理位置調(diào)用的過程中,系統(tǒng)通過在MapView上添加覆蓋層的方法對地理位置進(jìn)行注解,其原理是創(chuàng)建新的itemzedOverlay類將對應(yīng)的圖片和數(shù)據(jù)信息與相應(yīng)的地點進(jìn)行匹配并標(biāo)注,點擊該定位便可以顯示當(dāng)前位置田間的詳細(xì)信息。其功能主界面與地圖顯示界面見圖8。
2.5 系統(tǒng)云平臺服務(wù)器的實現(xiàn)
系統(tǒng)服務(wù)器是基于云平臺技術(shù)運用Delphi7進(jìn)行開發(fā)。相比于VC和VB,Delphi7具備程序設(shè)計思想便捷、性能穩(wěn)定、開發(fā)周期短、數(shù)據(jù)庫支撐強大等優(yōu)點。系統(tǒng)云服務(wù)器安全穩(wěn)定性強,可實時獲取多處異地的水稻田間管理信息,克服了有線網(wǎng)絡(luò)環(huán)境和空間的制約,為移動客戶端的穩(wěn)定運行提供了可靠的基礎(chǔ)與支撐。云服務(wù)器的主界面見圖9。
3 系統(tǒng)集成與測試
系統(tǒng)綜合考慮了不同種類用戶在田間管理工作中的需要,結(jié)合表格布局、框架布局以及相對布局等多種布局方式的優(yōu)點構(gòu)建了人機(jī)交互界面,增強了系統(tǒng)的可用性和用戶友好性。同時運用了多種Android關(guān)鍵技術(shù)與高端控件,實現(xiàn)了系統(tǒng)的基本功能和穩(wěn)定運行。
系統(tǒng)于黑龍江省杜爾伯特蒙古族自治縣、依安縣等地多個農(nóng)業(yè)示范園區(qū)進(jìn)行應(yīng)用試驗,通過試驗過程中不斷的調(diào)整與優(yōu)化,系統(tǒng)的運行與維護(hù)已經(jīng)十分成熟。經(jīng)過實際運行與應(yīng)用效果表明:(1)系統(tǒng)數(shù)據(jù)顯示準(zhǔn)確,條理分明,圖片顯示
清晰完整,且功能具有多樣性和針對性,滿足了用戶的實際需求。(2)界面操作簡便且實用性強,農(nóng)技人員只需進(jìn)行簡單培訓(xùn)便能夠掌握全部操作功能。(3)在實際應(yīng)用過程中,大部分地區(qū)信息傳輸?shù)耐ㄐ判Ч己茫軌驖M足各類數(shù)據(jù)傳輸?shù)臅r效性。小部分地區(qū)由于基站覆蓋面積不足,圖片的傳輸情況會有一定延遲。
4 結(jié)論
基于Android智能移動終端研發(fā)了水稻田間管理與決策輔助系統(tǒng),系統(tǒng)運用云平臺技術(shù)開發(fā)服務(wù)器,使其具備強大的數(shù)據(jù)存儲與信息調(diào)用功能,采用Socket通信方式實現(xiàn)了客戶端與云平臺服務(wù)器的無縫對接,解決了有線網(wǎng)絡(luò)環(huán)境制約的問題。系統(tǒng)能夠滿足不同用戶對水稻田間管理工作的實際需求,革新了傳統(tǒng)的田間管理工作模式,具有較強的適用性和必要性,同時也保證了田間信息獲取的真實性與時效性,適合在我國農(nóng)業(yè)生產(chǎn)一線推廣應(yīng)用。
參考文獻(xiàn):
[1]鄭紀(jì)業(yè),阮懷軍,封文杰,等. 農(nóng)業(yè)物聯(lián)網(wǎng)體系結(jié)構(gòu)與應(yīng)用領(lǐng)域研究進(jìn)展[J]. 中國農(nóng)業(yè)科學(xué),2017,50(4):657-668.
[2]唐光海,馬素英. 農(nóng)業(yè)物聯(lián)網(wǎng)應(yīng)用創(chuàng)新探析[J]. 陜西農(nóng)業(yè)科學(xué),2017,63(1):97-100.
[3]繆 玲. 基于Android平臺的智慧農(nóng)業(yè)信息采集系統(tǒng)的開發(fā)[D]. 南京:南京郵電大學(xué),2015.
[4]趙路歡,張玉波. 農(nóng)業(yè)害蟲專家系統(tǒng)信息化平臺的構(gòu)建[J]. 安徽農(nóng)業(yè)科學(xué),2016,44(15):255-256,270.
[5]陳 棚. 基于Android平臺的專家系統(tǒng)研究與應(yīng)用[D]. 西安:西安工業(yè)大學(xué),2014.
[6]劉小軍,曹 靜,湯 亮,等. 基于模型和GIS的水稻生產(chǎn)管理決策支持系統(tǒng)構(gòu)建與應(yīng)用[J]. 中國水稻科學(xué),2010,24(3):297-302.
[7]孫樂義. 基于Android系統(tǒng)的智能無線控制系統(tǒng)的設(shè)計與實現(xiàn)[D]. 合肥:安徽大學(xué),2016.
[8]王 斌. 基于Qt for Android的移動GIS應(yīng)用開發(fā)與研究[D]. 鄭州:鄭州大學(xué),2016.
[9]尚明華,秦磊磊,王風(fēng)云,等. 基于Android智能手機(jī)的小麥生產(chǎn)風(fēng)險信息采集系統(tǒng)[J]. 農(nóng)業(yè)工程學(xué)報,2011,27(5):178-182.
[10]陳桂鵬,嚴(yán)志雁,瞿華香,等. 基于Android手機(jī)的農(nóng)業(yè)環(huán)境信息采集系統(tǒng)設(shè)計與實現(xiàn)[J]. 廣東農(nóng)業(yè)科學(xué),2014,41(13):178-181,219.