徐凱宏,張秀明
(東北林業(yè)大學(xué)機電工程學(xué)院,哈爾濱150040)
隨著國家和人民對環(huán)境重要性的認(rèn)識,我國的林業(yè)在近幾年已經(jīng)獲得了迅速發(fā)展。這就要求必須意識到,盡管灌溉林業(yè)的發(fā)展地位重要、空間十分廣闊,但是林業(yè)灌溉仍然面臨著投入產(chǎn)出不平衡、水資源利用不合理、灌溉方式落后等發(fā)展問題。黑龍江省是我國林木的種植大省,井水是傳統(tǒng)的林業(yè)灌溉用水,目前多數(shù)林木種植區(qū)仍采用井水漫灌的方式,雖然這種方式對林業(yè)的生產(chǎn)做出了很大貢獻(xiàn),但是寒地井水溫度低,直接灌溉苗木田會影響苗木的正常生長發(fā)育,導(dǎo)致其出現(xiàn)品質(zhì)問題或減產(chǎn)。因此,提高井水種樹的水溫至關(guān)重要,而增設(shè)曬水池是提高井水種樹水溫的有效措施[1]。
在傳統(tǒng)的林木生產(chǎn)過程中,農(nóng)民通常根據(jù)經(jīng)驗判斷苗木的生長環(huán)境和對執(zhí)行設(shè)備做出相應(yīng)的控制,在本地區(qū)大規(guī)模林木生產(chǎn)中,這種獲取農(nóng)情信息的方式存在相對滯后和不可靠的缺點,并且需要的人力和物力較大。苗木整個生長周期對灌溉水溫和水深度有著不同的要求,因此,方便快捷地掌握曬水池和林木的水環(huán)境對及時做出正確的預(yù)判有著重大意義。
隨著林業(yè)現(xiàn)代化的普及,針對移動終端的遠(yuǎn)程監(jiān)控系統(tǒng)已有研究,但多數(shù)移動終端的開發(fā)平臺基于Windows操作系統(tǒng)[2],在開源性、人機交互及時性方面表現(xiàn)較差。隨著智能手機的普及,手機物聯(lián)網(wǎng)應(yīng)運而生,因此,基于常用的安卓系統(tǒng)開發(fā)一種開源性好、人機交互實時性高的林木灌溉監(jiān)控系統(tǒng)對于本地區(qū)林業(yè)發(fā)展具有重要意義。本文結(jié)合傳感器網(wǎng)絡(luò)技術(shù)、GPRS無線接入技術(shù),搭建了遠(yuǎn)程監(jiān)控平臺,并開發(fā)了一套基于Android手機在線監(jiān)測與遠(yuǎn)程控制的智能監(jiān)控軟件,實現(xiàn)了對曬水池和林木的水溫、水位等林業(yè)信息數(shù)據(jù)的遠(yuǎn)程監(jiān)測、林業(yè)執(zhí)行設(shè)備遠(yuǎn)程控制,促進(jìn)了林業(yè)信息化的進(jìn)一步推廣[3]。
基于Android的寒地灌溉監(jiān)控系統(tǒng)主要實現(xiàn)水情方面的監(jiān)測,并可針對終端采集的數(shù)據(jù)進(jìn)行統(tǒng)計和分析,對灌溉過程中的具體環(huán)節(jié)進(jìn)行有效的管理。
本系統(tǒng)由曬水池及林地的傳感器網(wǎng)絡(luò)、服務(wù)器端、遠(yuǎn)程操作控制終端(PC、Android操作系統(tǒng)手機或平板電腦)等三個部分組成,如圖1所示。

圖1 曬水池監(jiān)控系統(tǒng)總體框圖Fig.1 The overall block diagram of the pool control system
由遠(yuǎn)程操作控制終端(PC、Android操作系統(tǒng)手機或平板電腦)將控制或監(jiān)測命令發(fā)送至服務(wù)器,服務(wù)器收到命令后,將該命令傳送至?xí)袼丶傲值貍鞲衅骶W(wǎng)絡(luò),傳感器網(wǎng)絡(luò)收到命令后進(jìn)行執(zhí)行操作。設(shè)備動作后將操作結(jié)果返回至服務(wù)器,收到后將該結(jié)果返回至遠(yuǎn)程操作控制終端。本系統(tǒng)采用C/S結(jié)構(gòu)進(jìn)行開發(fā),所有程序均采用JAVA編寫。可完成曬水池及林地內(nèi)的水流量、水位、水溫等環(huán)境信息的監(jiān)控,同時可根據(jù)具體需要遠(yuǎn)程進(jìn)行蓄水、放水等操作。
采用基于無線傳感器網(wǎng)絡(luò)的架構(gòu),主要由若干個網(wǎng)關(guān)節(jié)點和多個傳感終端構(gòu)成。傳感終端通過相關(guān)傳感器完成林地和水池的水溫、水位和流量的監(jiān)控,并把監(jiān)測的數(shù)據(jù)傳輸給所在網(wǎng)絡(luò)的網(wǎng)關(guān)節(jié)點[4]。每一個網(wǎng)關(guān)節(jié)點通過無線網(wǎng)絡(luò)接收到監(jiān)測數(shù)據(jù)后,通過GPRS模塊,在中國移動通信GPRS網(wǎng)絡(luò)的中繼下,遠(yuǎn)程傳輸?shù)綌?shù)據(jù)監(jiān)控中心,為曬水池監(jiān)控和灌溉管理提供數(shù)據(jù)支持。
2.1.1 傳感器硬件節(jié)點設(shè)計
設(shè)計的無線傳感器網(wǎng)絡(luò)節(jié)點的基本構(gòu)架主要由處理器模塊、射頻通信模塊、傳感器模塊、控制器模塊及電源供電模塊組成。根據(jù)系統(tǒng)低成本、低功耗、高性能的設(shè)計要求,選擇美國TI公司的16位單片機MSP430F5438作為微處理器、美國TI公司的CC2520作為射頻芯片、美國 Linear公司的LTC3528作為電源芯片,進(jìn)而設(shè)計出符合曬水池監(jiān)控要求的傳感器節(jié)點。由前文可知,曬水池監(jiān)測系統(tǒng)包括水池監(jiān)測子系統(tǒng)、林地監(jiān)測子系統(tǒng)以及自動控水子系統(tǒng)。系統(tǒng)的傳感器節(jié)點依據(jù)其功能設(shè)計的硬件結(jié)構(gòu)如圖2所示。

圖2 傳感器節(jié)點硬件結(jié)構(gòu)圖Fig.2 Hardware configuration diagram of the sensor node
傳感器節(jié)點的硬件成本約為200美元,而商用傳感器節(jié)點Imote2等產(chǎn)品的價格高,維護(hù)復(fù)雜。由于本系統(tǒng)所設(shè)計傳感器節(jié)點的開源性,所以在軟件擴(kuò)展性方面有很大優(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)測量精度較高,較為準(zhǔn)確的測量相關(guān)參數(shù)[5]。
(2)抗干擾性良好,在較為惡劣的自然環(huán)境和網(wǎng)絡(luò)環(huán)境下,能穩(wěn)定的提供監(jiān)控中心所需數(shù)據(jù)。
(3)低耗能,在有限的供電條件下能長時間工作。
為滿足以上要求,所選傳感器的參數(shù)見表1。

表1 傳感器主要性能參數(shù)表Tab.1 Sensor performance parameters table
網(wǎng)關(guān)節(jié)點負(fù)責(zé)通過GPRS網(wǎng)絡(luò)將收到的來自傳感器節(jié)點的數(shù)據(jù)傳輸?shù)娇刂浦行摹T谠O(shè)計網(wǎng)關(guān)節(jié)點時,添加了一個通過UART(通用異步接收/發(fā)送裝置)與微處理器模塊通信的GPRS DTU模塊,其它結(jié)構(gòu)與上圖所示傳感器節(jié)點框圖基本一致。該款DTU的型號為Hongdian7718 GPRS DTU,是一款采用移動GPRS網(wǎng)絡(luò),實現(xiàn)TCP/UDP透明數(shù)據(jù)傳輸?shù)臒o線設(shè)備,通過RS232串口與未添加傳感器模塊的傳感器節(jié)點連接。網(wǎng)關(guān)節(jié)點無法休眠,而且耗電量較大,采用市電或太陽能電池板供電。
為方便用戶在局域網(wǎng)內(nèi)或者通過互聯(lián)網(wǎng)使用管理軟件進(jìn)行查閱監(jiān)控數(shù)據(jù)或發(fā)送操作指令,選擇服務(wù)器類型為 Web服務(wù)器[6]。服務(wù)器主要由STM32f103zet開發(fā)板以及路由器組成,通過Http協(xié)議為客戶端應(yīng)用提供相應(yīng)服務(wù),本系統(tǒng)中所涉及的服務(wù)有查詢、索引、高速緩存及存取控制等。其功能較為強大,具體可實現(xiàn)的主要功能如下。
(1)數(shù)據(jù)的實時顯示。數(shù)據(jù)采集端通過基站發(fā)送到服務(wù)器端的監(jiān)控數(shù)據(jù),通過數(shù)據(jù)管理系統(tǒng)軟件執(zhí)行查詢操作進(jìn)而可進(jìn)行實時的數(shù)據(jù)顯示[7]。
(2)歷史數(shù)據(jù)的查詢。選擇測控終端任意監(jiān)測項,選擇任意歷史日期,通過管理軟件執(zhí)行查詢命令即可在客戶端顯示歷史數(shù)據(jù)。
(3)數(shù)據(jù)的圖形化分析。對測控終端水位或者水溫進(jìn)行分析,軟件管理系統(tǒng)可通過調(diào)用數(shù)據(jù)分析程序提供當(dāng)天監(jiān)測數(shù)據(jù)和歷史監(jiān)測數(shù)據(jù)的24h數(shù)據(jù)曲線分析圖。
(4)發(fā)送操作指令。對客戶端發(fā)送的放水、蓄水操作指令,服務(wù)器管理軟件將快速執(zhí)行數(shù)據(jù)庫中相關(guān)語句,通過網(wǎng)絡(luò)給測控端發(fā)送執(zhí)行操作消息。
在Andriod手機端與服務(wù)器端實現(xiàn)數(shù)據(jù)通信要進(jìn)行網(wǎng)絡(luò)編程,這個過程中采用基于TCP/IP協(xié)議的Socket(套接字)通訊[8],為了滿足 C/S結(jié)構(gòu),本設(shè)計中套接字以IP地址+端口號的形式去描述設(shè)備上的進(jìn)程,進(jìn)而實現(xiàn)網(wǎng)絡(luò)連接。
基于TCP/IP協(xié)議對Socket的實現(xiàn)進(jìn)行分類,主要有流套接字和數(shù)據(jù)報套接字兩種方式。流套接字(Streamsocket):其端對端的協(xié)議為面向連接的TCP協(xié)議,而數(shù)據(jù)報套接字(Datagramsocket):使用的是面向無連接的UDP協(xié)議。Streamsocket首先要在發(fā)送端和目的接收端之間建立一個連接,Socket通過這個連接使用流接口來進(jìn)行打開、讀/寫、關(guān)閉操作[9],發(fā)送的數(shù)據(jù)到達(dá)接收端的順序不變,即這種傳輸方式提供的是一種可靠的字節(jié)流數(shù)據(jù)傳輸服務(wù);Datagramsocket不需要連接接收端的Socket,而只是簡單地投出一組需要傳輸?shù)南鄬Κ毩⒌臄?shù)據(jù)報,每個數(shù)據(jù)報都含有目的地址以及傳輸內(nèi)容。但是數(shù)據(jù)報到達(dá)時的順序和發(fā)送的順序會發(fā)生改變,即這種傳輸方式提供的是數(shù)據(jù)打包發(fā)送服務(wù)[10]。本監(jiān)控系統(tǒng)的應(yīng)用程序需要快速、高效的傳輸數(shù)據(jù),另一方面為了減少服務(wù)器的存儲、降低投入成本,所以選擇采用基于UDP協(xié)議面向無連接的數(shù)據(jù)報套接字通信方式來實現(xiàn)手機端與服務(wù)器端之間的數(shù)據(jù)傳輸。數(shù)據(jù)交互過程如下。
3.1.1 Web服務(wù)器端:
(1)建立一個數(shù)據(jù)報套接字對象,確定對象要監(jiān)聽的端口。
(2)建立用于接收手機端數(shù)據(jù)的一個空的DatagramPacket對象。
(3)調(diào)用receive函數(shù)接收數(shù)據(jù),這種函數(shù)方式在沒有數(shù)據(jù)傳送的情況下保持堵塞狀態(tài)。
3.1.2 Andriod手機端
(1)建立一個數(shù)據(jù)報套接字對象,確定對象要監(jiān)聽的端口。
(2)建立一個InetAddress對象,用來確定網(wǎng)絡(luò)發(fā)送地址。
(3)指定發(fā)送的字符串。
(4)建立一個DatagramPacket對象,確定該數(shù)據(jù)報包接收端網(wǎng)絡(luò)的地址和端口號。
(5)調(diào)用數(shù)據(jù)報套接字對象的send函數(shù)發(fā)送數(shù)據(jù)[11]。
本設(shè)計客戶端功能主要包括曬水池管理模塊、林木灌溉管理模塊、數(shù)據(jù)查詢模塊、數(shù)據(jù)分析模塊。
為了增強系統(tǒng)的通用性,曬水池管理模塊與灌溉管理模塊設(shè)計成統(tǒng)一監(jiān)控平臺,平臺設(shè)置的功能包括水位的監(jiān)控、水溫的監(jiān)控、蓄水口開關(guān)和排水口開關(guān)。
為了讓系統(tǒng)既能達(dá)到監(jiān)控的數(shù)據(jù)的實時性、準(zhǔn)確性,還能保證服務(wù)器端的數(shù)據(jù)運算速度和有效利用其存儲空間,設(shè)計采用設(shè)定時間點的監(jiān)控方式,也就是說在一天當(dāng)中選擇固定的時間點作為采集數(shù)據(jù)的時間點。在數(shù)據(jù)查詢模塊,結(jié)合曬水池以及林地中數(shù)據(jù)采集節(jié)點采集到的數(shù)據(jù),通過選擇日期即可查詢按照固定時間點所收到的各種數(shù)據(jù)信息。數(shù)據(jù)分析模塊采用可視化圖線顯示方式,更直觀的幫助廣大農(nóng)戶或者專家統(tǒng)計數(shù)據(jù),總結(jié)規(guī)律,為以后水情的監(jiān)控管理及時的做出預(yù)判。
用戶將打包好的APP軟件安裝到Andriod手機上,手機連接網(wǎng)絡(luò),運行APP即通過應(yīng)用軟件里設(shè)置的通信方式連入Web服務(wù)器,可以查看數(shù)據(jù)采集端采集的曬水池的水位、水溫數(shù)據(jù)以及水稻里水位、水溫等相關(guān)環(huán)境參數(shù)。主要功能模塊界面操作流程:用戶登錄界面-選擇監(jiān)控對象(水池或者林地)-連接操作,顯示實時數(shù)據(jù)以及報警信息-根據(jù)報警信息,對監(jiān)控對象進(jìn)行放水或者蓄水操作-選擇日期進(jìn)行數(shù)據(jù)查詢與數(shù)據(jù)分析。實驗界面如圖3所示。
對比現(xiàn)場實際的測量數(shù)據(jù),本系統(tǒng)運行的實驗結(jié)果數(shù)據(jù)在允許誤差范圍之內(nèi),在安裝了APP的安卓手機上顯示了當(dāng)前五個曬水池的水溫、水位數(shù)據(jù)。由于測試數(shù)據(jù)都在預(yù)定的測試范圍之內(nèi),所以沒有報警信息。一旦出現(xiàn)報警信息,點擊水池放水或者蓄水功能鍵,即可動態(tài)掌控曬水池中水位的高度,使曬水池的水位保持在一個合理的范圍之內(nèi)。系統(tǒng)24h監(jiān)控得到的數(shù)據(jù)成功的進(jìn)行了圖形化的顯示,將定點時間的水溫、水位值轉(zhuǎn)化成一條連貫的曲線,直觀的展現(xiàn)整天的水溫和水位信息,有助于相關(guān)專家或者種植人員進(jìn)行數(shù)據(jù)分析。以上測試結(jié)果表明,Andriod手機端監(jiān)控效果良好,能保證網(wǎng)絡(luò)正常情況下軟件運行的準(zhǔn)確性、及時性。

圖3 實驗測試界面Fig.3 Experimental test interface
在移動時代,將PC端應(yīng)用轉(zhuǎn)化為手機端應(yīng)用已經(jīng)成為各個領(lǐng)域研究的主要方向,隨著智能手機的普及以及WIFI網(wǎng)絡(luò)的廣泛應(yīng)用,手機物聯(lián)網(wǎng)應(yīng)運而生[12],因此,本文結(jié)合傳感器網(wǎng)絡(luò)技術(shù)、GPRS無線接入技術(shù),搭建了遠(yuǎn)程監(jiān)控平臺,并基于安卓系統(tǒng)開發(fā)一種開源性好、人機交互實時性高的灌溉監(jiān)控系統(tǒng),通過對數(shù)據(jù)測控終端、服務(wù)器端、手機端以及三者之間數(shù)據(jù)通信傳輸?shù)脑O(shè)計,實現(xiàn)了對曬水池和林地的水溫、水位等農(nóng)業(yè)信息數(shù)據(jù)的遠(yuǎn)程監(jiān)測。這對彌補傳統(tǒng)灌溉帶來的不足、提高寒地地區(qū)林木產(chǎn)量、促進(jìn)林業(yè)現(xiàn)代化建設(shè)有重要意義。
[1]劉作慧,王 勇.曬水池和渠道結(jié)合增溫技術(shù)在井灌水稻中的應(yīng)用[J].黑龍江水利科技,2010,38(5):132.
[2]楊林楠,郜魯濤,林爾生,等.基于Andriod系統(tǒng)手機的甜玉米病蟲害智能診斷系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報,2012,28(18):163-168.
[3]孫忠富,曹洪太,李洪亮,等.基于GPRS和WEB的溫室環(huán)境信息采集系統(tǒng)的實現(xiàn)[J].農(nóng)業(yè)程學(xué)報,2006,22(6):131-134.
[4]孫向輝,江志峰,管繼剛.基于物聯(lián)網(wǎng)的智能遠(yuǎn)程測控技術(shù)在現(xiàn)代農(nóng)業(yè)中的應(yīng)用[J].數(shù)字通信,2012,39(5):20-23.
[5]曾小紅,王 強.國內(nèi)外農(nóng)業(yè)信息技術(shù)與網(wǎng)絡(luò)發(fā)展概況[J].中國農(nóng)學(xué)通報,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)網(wǎng)”架構(gòu)的精準(zhǔn)灌溉控制系統(tǒng)研究[D].北京:北京林業(yè)大學(xué),2011.
[8]牟伶俐,劉 鋼,黃健熙.基于JAVA手機的野外農(nóng)田數(shù)據(jù)采集與傳輸系統(tǒng)設(shè)計[J].農(nóng)業(yè)工程學(xué)報,2006,22(11):165-169.
[9]寧 寧,王玉潔,韓寶平.基于Android平臺的植物病蟲害查詢診斷系統(tǒng)的構(gòu)建[J].北京農(nóng)學(xué)院學(xué)報,2013,28(3):75-77.
[10]吳志君.基于ARM與Android的智能家居系統(tǒng)設(shè)計與實現(xiàn)[D].蘭州:西北師范大學(xué),2012.
[11]潘大宇.ZigBee技術(shù)在農(nóng)業(yè)自動化監(jiān)控系統(tǒng)中的研究與應(yīng)用[D].山東曲阜:曲阜師范大學(xué),2009.
[12]張慧春,周宏平,鄭加強,姚會春.“精確林業(yè)”的發(fā)展及其應(yīng)用前景[J].世界林業(yè)研究,2004,17(5):13-16.