徐凱宏,張秀明
(東北林業(yè)大學機電工程學院,哈爾濱150040)
隨著國家和人民對環(huán)境重要性的認識,我國的林業(yè)在近幾年已經獲得了迅速發(fā)展。這就要求必須意識到,盡管灌溉林業(yè)的發(fā)展地位重要、空間十分廣闊,但是林業(yè)灌溉仍然面臨著投入產出不平衡、水資源利用不合理、灌溉方式落后等發(fā)展問題。黑龍江省是我國林木的種植大省,井水是傳統(tǒng)的林業(yè)灌溉用水,目前多數(shù)林木種植區(qū)仍采用井水漫灌的方式,雖然這種方式對林業(yè)的生產做出了很大貢獻,但是寒地井水溫度低,直接灌溉苗木田會影響苗木的正常生長發(fā)育,導致其出現(xiàn)品質問題或減產。因此,提高井水種樹的水溫至關重要,而增設曬水池是提高井水種樹水溫的有效措施[1]。
在傳統(tǒng)的林木生產過程中,農民通常根據(jù)經驗判斷苗木的生長環(huán)境和對執(zhí)行設備做出相應的控制,在本地區(qū)大規(guī)模林木生產中,這種獲取農情信息的方式存在相對滯后和不可靠的缺點,并且需要的人力和物力較大。苗木整個生長周期對灌溉水溫和水深度有著不同的要求,因此,方便快捷地掌握曬水池和林木的水環(huán)境對及時做出正確的預判有著重大意義。
隨著林業(yè)現(xiàn)代化的普及,針對移動終端的遠程監(jiān)控系統(tǒng)已有研究,但多數(shù)移動終端的開發(fā)平臺基于Windows操作系統(tǒng)[2],在開源性、人機交互及時性方面表現(xiàn)較差。隨著智能手機的普及,手機物聯(lián)網應運而生,因此,基于常用的安卓系統(tǒng)開發(fā)一種開源性好、人機交互實時性高的林木灌溉監(jiān)控系統(tǒng)對于本地區(qū)林業(yè)發(fā)展具有重要意義。本文結合傳感器網絡技術、GPRS無線接入技術,搭建了遠程監(jiān)控平臺,并開發(fā)了一套基于Android手機在線監(jiān)測與遠程控制的智能監(jiān)控軟件,實現(xiàn)了對曬水池和林木的水溫、水位等林業(yè)信息數(shù)據(jù)的遠程監(jiān)測、林業(yè)執(zhí)行設備遠程控制,促進了林業(yè)信息化的進一步推廣[3]。
基于Android的寒地灌溉監(jiān)控系統(tǒng)主要實現(xiàn)水情方面的監(jiān)測,并可針對終端采集的數(shù)據(jù)進行統(tǒng)計和分析,對灌溉過程中的具體環(huán)節(jié)進行有效的管理。
本系統(tǒng)由曬水池及林地的傳感器網絡、服務器端、遠程操作控制終端(PC、Android操作系統(tǒng)手機或平板電腦)等三個部分組成,如圖1所示。
圖1 曬水池監(jiān)控系統(tǒng)總體框圖Fig.1 The overall block diagram of the pool control system
由遠程操作控制終端(PC、Android操作系統(tǒng)手機或平板電腦)將控制或監(jiān)測命令發(fā)送至服務器,服務器收到命令后,將該命令傳送至曬水池及林地傳感器網絡,傳感器網絡收到命令后進行執(zhí)行操作。設備動作后將操作結果返回至服務器,收到后將該結果返回至遠程操作控制終端。本系統(tǒng)采用C/S結構進行開發(fā),所有程序均采用JAVA編寫??赏瓿蓵袼丶傲值貎鹊乃髁俊⑺?、水溫等環(huán)境信息的監(jiān)控,同時可根據(jù)具體需要遠程進行蓄水、放水等操作。
采用基于無線傳感器網絡的架構,主要由若干個網關節(jié)點和多個傳感終端構成。傳感終端通過相關傳感器完成林地和水池的水溫、水位和流量的監(jiān)控,并把監(jiān)測的數(shù)據(jù)傳輸給所在網絡的網關節(jié)點[4]。每一個網關節(jié)點通過無線網絡接收到監(jiān)測數(shù)據(jù)后,通過GPRS模塊,在中國移動通信GPRS網絡的中繼下,遠程傳輸?shù)綌?shù)據(jù)監(jiān)控中心,為曬水池監(jiān)控和灌溉管理提供數(shù)據(jù)支持。
2.1.1 傳感器硬件節(jié)點設計
設計的無線傳感器網絡節(jié)點的基本構架主要由處理器模塊、射頻通信模塊、傳感器模塊、控制器模塊及電源供電模塊組成。根據(jù)系統(tǒng)低成本、低功耗、高性能的設計要求,選擇美國TI公司的16位單片機MSP430F5438作為微處理器、美國TI公司的CC2520作為射頻芯片、美國 Linear公司的LTC3528作為電源芯片,進而設計出符合曬水池監(jiān)控要求的傳感器節(jié)點。由前文可知,曬水池監(jiān)測系統(tǒng)包括水池監(jiān)測子系統(tǒng)、林地監(jiān)測子系統(tǒng)以及自動控水子系統(tǒng)。系統(tǒng)的傳感器節(jié)點依據(jù)其功能設計的硬件結構如圖2所示。
圖2 傳感器節(jié)點硬件結構圖Fig.2 Hardware configuration diagram of the sensor node
傳感器節(jié)點的硬件成本約為200美元,而商用傳感器節(jié)點Imote2等產品的價格高,維護復雜。由于本系統(tǒng)所設計傳感器節(jié)點的開源性,所以在軟件擴展性方面有很大優(yōu)勢。
2.1.2 傳感器的選型
依據(jù)東北地區(qū)林木的生長環(huán)境,針對本系統(tǒng)需要監(jiān)控的主要參數(shù),選擇的傳感器要符合以下基本要求:輸出電流4~20 mA,直流的電壓0~10 V。本系統(tǒng)需要采集的數(shù)據(jù)有林地和曬水池的水溫、水位、灌溉水流量,要求所選傳感器還要滿足以下幾點需求。
(1)測量精度較高,較為準確的測量相關參數(shù)[5]。
(2)抗干擾性良好,在較為惡劣的自然環(huán)境和網絡環(huán)境下,能穩(wěn)定的提供監(jiān)控中心所需數(shù)據(jù)。
(3)低耗能,在有限的供電條件下能長時間工作。
為滿足以上要求,所選傳感器的參數(shù)見表1。
表1 傳感器主要性能參數(shù)表Tab.1 Sensor performance parameters table
網關節(jié)點負責通過GPRS網絡將收到的來自傳感器節(jié)點的數(shù)據(jù)傳輸?shù)娇刂浦行?。在設計網關節(jié)點時,添加了一個通過UART(通用異步接收/發(fā)送裝置)與微處理器模塊通信的GPRS DTU模塊,其它結構與上圖所示傳感器節(jié)點框圖基本一致。該款DTU的型號為Hongdian7718 GPRS DTU,是一款采用移動GPRS網絡,實現(xiàn)TCP/UDP透明數(shù)據(jù)傳輸?shù)臒o線設備,通過RS232串口與未添加傳感器模塊的傳感器節(jié)點連接。網關節(jié)點無法休眠,而且耗電量較大,采用市電或太陽能電池板供電。
為方便用戶在局域網內或者通過互聯(lián)網使用管理軟件進行查閱監(jiān)控數(shù)據(jù)或發(fā)送操作指令,選擇服務器類型為 Web服務器[6]。服務器主要由STM32f103zet開發(fā)板以及路由器組成,通過Http協(xié)議為客戶端應用提供相應服務,本系統(tǒng)中所涉及的服務有查詢、索引、高速緩存及存取控制等。其功能較為強大,具體可實現(xiàn)的主要功能如下。
(1)數(shù)據(jù)的實時顯示。數(shù)據(jù)采集端通過基站發(fā)送到服務器端的監(jiān)控數(shù)據(jù),通過數(shù)據(jù)管理系統(tǒng)軟件執(zhí)行查詢操作進而可進行實時的數(shù)據(jù)顯示[7]。
(2)歷史數(shù)據(jù)的查詢。選擇測控終端任意監(jiān)測項,選擇任意歷史日期,通過管理軟件執(zhí)行查詢命令即可在客戶端顯示歷史數(shù)據(jù)。
(3)數(shù)據(jù)的圖形化分析。對測控終端水位或者水溫進行分析,軟件管理系統(tǒng)可通過調用數(shù)據(jù)分析程序提供當天監(jiān)測數(shù)據(jù)和歷史監(jiān)測數(shù)據(jù)的24h數(shù)據(jù)曲線分析圖。
(4)發(fā)送操作指令。對客戶端發(fā)送的放水、蓄水操作指令,服務器管理軟件將快速執(zhí)行數(shù)據(jù)庫中相關語句,通過網絡給測控端發(fā)送執(zhí)行操作消息。
在Andriod手機端與服務器端實現(xiàn)數(shù)據(jù)通信要進行網絡編程,這個過程中采用基于TCP/IP協(xié)議的Socket(套接字)通訊[8],為了滿足 C/S結構,本設計中套接字以IP地址+端口號的形式去描述設備上的進程,進而實現(xiàn)網絡連接。
基于TCP/IP協(xié)議對Socket的實現(xiàn)進行分類,主要有流套接字和數(shù)據(jù)報套接字兩種方式。流套接字(Streamsocket):其端對端的協(xié)議為面向連接的TCP協(xié)議,而數(shù)據(jù)報套接字(Datagramsocket):使用的是面向無連接的UDP協(xié)議。Streamsocket首先要在發(fā)送端和目的接收端之間建立一個連接,Socket通過這個連接使用流接口來進行打開、讀/寫、關閉操作[9],發(fā)送的數(shù)據(jù)到達接收端的順序不變,即這種傳輸方式提供的是一種可靠的字節(jié)流數(shù)據(jù)傳輸服務;Datagramsocket不需要連接接收端的Socket,而只是簡單地投出一組需要傳輸?shù)南鄬Κ毩⒌臄?shù)據(jù)報,每個數(shù)據(jù)報都含有目的地址以及傳輸內容。但是數(shù)據(jù)報到達時的順序和發(fā)送的順序會發(fā)生改變,即這種傳輸方式提供的是數(shù)據(jù)打包發(fā)送服務[10]。本監(jiān)控系統(tǒng)的應用程序需要快速、高效的傳輸數(shù)據(jù),另一方面為了減少服務器的存儲、降低投入成本,所以選擇采用基于UDP協(xié)議面向無連接的數(shù)據(jù)報套接字通信方式來實現(xiàn)手機端與服務器端之間的數(shù)據(jù)傳輸。數(shù)據(jù)交互過程如下。
3.1.1 Web服務器端:
(1)建立一個數(shù)據(jù)報套接字對象,確定對象要監(jiān)聽的端口。
(2)建立用于接收手機端數(shù)據(jù)的一個空的DatagramPacket對象。
(3)調用receive函數(shù)接收數(shù)據(jù),這種函數(shù)方式在沒有數(shù)據(jù)傳送的情況下保持堵塞狀態(tài)。
3.1.2 Andriod手機端
(1)建立一個數(shù)據(jù)報套接字對象,確定對象要監(jiān)聽的端口。
(2)建立一個InetAddress對象,用來確定網絡發(fā)送地址。
(3)指定發(fā)送的字符串。
(4)建立一個DatagramPacket對象,確定該數(shù)據(jù)報包接收端網絡的地址和端口號。
(5)調用數(shù)據(jù)報套接字對象的send函數(shù)發(fā)送數(shù)據(jù)[11]。
本設計客戶端功能主要包括曬水池管理模塊、林木灌溉管理模塊、數(shù)據(jù)查詢模塊、數(shù)據(jù)分析模塊。
為了增強系統(tǒng)的通用性,曬水池管理模塊與灌溉管理模塊設計成統(tǒng)一監(jiān)控平臺,平臺設置的功能包括水位的監(jiān)控、水溫的監(jiān)控、蓄水口開關和排水口開關。
為了讓系統(tǒng)既能達到監(jiān)控的數(shù)據(jù)的實時性、準確性,還能保證服務器端的數(shù)據(jù)運算速度和有效利用其存儲空間,設計采用設定時間點的監(jiān)控方式,也就是說在一天當中選擇固定的時間點作為采集數(shù)據(jù)的時間點。在數(shù)據(jù)查詢模塊,結合曬水池以及林地中數(shù)據(jù)采集節(jié)點采集到的數(shù)據(jù),通過選擇日期即可查詢按照固定時間點所收到的各種數(shù)據(jù)信息。數(shù)據(jù)分析模塊采用可視化圖線顯示方式,更直觀的幫助廣大農戶或者專家統(tǒng)計數(shù)據(jù),總結規(guī)律,為以后水情的監(jiān)控管理及時的做出預判。
用戶將打包好的APP軟件安裝到Andriod手機上,手機連接網絡,運行APP即通過應用軟件里設置的通信方式連入Web服務器,可以查看數(shù)據(jù)采集端采集的曬水池的水位、水溫數(shù)據(jù)以及水稻里水位、水溫等相關環(huán)境參數(shù)。主要功能模塊界面操作流程:用戶登錄界面-選擇監(jiān)控對象(水池或者林地)-連接操作,顯示實時數(shù)據(jù)以及報警信息-根據(jù)報警信息,對監(jiān)控對象進行放水或者蓄水操作-選擇日期進行數(shù)據(jù)查詢與數(shù)據(jù)分析。實驗界面如圖3所示。
對比現(xiàn)場實際的測量數(shù)據(jù),本系統(tǒng)運行的實驗結果數(shù)據(jù)在允許誤差范圍之內,在安裝了APP的安卓手機上顯示了當前五個曬水池的水溫、水位數(shù)據(jù)。由于測試數(shù)據(jù)都在預定的測試范圍之內,所以沒有報警信息。一旦出現(xiàn)報警信息,點擊水池放水或者蓄水功能鍵,即可動態(tài)掌控曬水池中水位的高度,使曬水池的水位保持在一個合理的范圍之內。系統(tǒng)24h監(jiān)控得到的數(shù)據(jù)成功的進行了圖形化的顯示,將定點時間的水溫、水位值轉化成一條連貫的曲線,直觀的展現(xiàn)整天的水溫和水位信息,有助于相關專家或者種植人員進行數(shù)據(jù)分析。以上測試結果表明,Andriod手機端監(jiān)控效果良好,能保證網絡正常情況下軟件運行的準確性、及時性。
圖3 實驗測試界面Fig.3 Experimental test interface
在移動時代,將PC端應用轉化為手機端應用已經成為各個領域研究的主要方向,隨著智能手機的普及以及WIFI網絡的廣泛應用,手機物聯(lián)網應運而生[12],因此,本文結合傳感器網絡技術、GPRS無線接入技術,搭建了遠程監(jiān)控平臺,并基于安卓系統(tǒng)開發(fā)一種開源性好、人機交互實時性高的灌溉監(jiān)控系統(tǒng),通過對數(shù)據(jù)測控終端、服務器端、手機端以及三者之間數(shù)據(jù)通信傳輸?shù)脑O計,實現(xiàn)了對曬水池和林地的水溫、水位等農業(yè)信息數(shù)據(jù)的遠程監(jiān)測。這對彌補傳統(tǒng)灌溉帶來的不足、提高寒地地區(qū)林木產量、促進林業(yè)現(xiàn)代化建設有重要意義。
[1]劉作慧,王 勇.曬水池和渠道結合增溫技術在井灌水稻中的應用[J].黑龍江水利科技,2010,38(5):132.
[2]楊林楠,郜魯濤,林爾生,等.基于Andriod系統(tǒng)手機的甜玉米病蟲害智能診斷系統(tǒng)[J].農業(yè)工程學報,2012,28(18):163-168.
[3]孫忠富,曹洪太,李洪亮,等.基于GPRS和WEB的溫室環(huán)境信息采集系統(tǒng)的實現(xiàn)[J].農業(yè)程學報,2006,22(6):131-134.
[4]孫向輝,江志峰,管繼剛.基于物聯(lián)網的智能遠程測控技術在現(xiàn)代農業(yè)中的應用[J].數(shù)字通信,2012,39(5):20-23.
[5]曾小紅,王 強.國內外農業(yè)信息技術與網絡發(fā)展概況[J].中國農學通報,2011,27(8):468-473.
[6] Ye W,Heidemann J,Estrin D.Medium access control with coordinated adaptive sleeping for wireless sensor networks[J].IEEE ACM Transactions on Networking,2004,12(3):493-506.
[7]胡培金.基于“物聯(lián)網”架構的精準灌溉控制系統(tǒng)研究[D].北京:北京林業(yè)大學,2011.
[8]牟伶俐,劉 鋼,黃健熙.基于JAVA手機的野外農田數(shù)據(jù)采集與傳輸系統(tǒng)設計[J].農業(yè)工程學報,2006,22(11):165-169.
[9]寧 寧,王玉潔,韓寶平.基于Android平臺的植物病蟲害查詢診斷系統(tǒng)的構建[J].北京農學院學報,2013,28(3):75-77.
[10]吳志君.基于ARM與Android的智能家居系統(tǒng)設計與實現(xiàn)[D].蘭州:西北師范大學,2012.
[11]潘大宇.ZigBee技術在農業(yè)自動化監(jiān)控系統(tǒng)中的研究與應用[D].山東曲阜:曲阜師范大學,2009.
[12]張慧春,周宏平,鄭加強,姚會春.“精確林業(yè)”的發(fā)展及其應用前景[J].世界林業(yè)研究,2004,17(5):13-16.