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