摘 要: 針對我國目前農(nóng)村水費計收存在的不合理性,以及農(nóng)田灌溉中的大漫灌浪費水資源問題,介紹了一種農(nóng)田節(jié)水灌溉監(jiān)控系統(tǒng)的實現(xiàn)技術(shù),描述了系統(tǒng)的結(jié)構(gòu)、監(jiān)控中心的功能和實現(xiàn)方法;并應用Java技術(shù)設計了一套遠程監(jiān)控中心系統(tǒng)軟件,該設計方案應用Java面向?qū)ο蟮募夹g(shù),可方便地跨平臺應用,具有較高的可擴展性。實踐表明:該系統(tǒng)使用方便,并且能夠滿足各項性能指標要求,顯示了Java技術(shù)在灌溉監(jiān)控系統(tǒng)中廣闊的應用前景。
關(guān)鍵詞: Java技術(shù);數(shù)據(jù)庫;節(jié)水灌溉;監(jiān)控系統(tǒng)
節(jié)水農(nóng)業(yè)是我國今后農(nóng)業(yè)發(fā)展的方向,對緩解我國農(nóng)業(yè)干旱缺水,實現(xiàn)農(nóng)業(yè)和整個國家經(jīng)濟的可持續(xù)發(fā)展具有重要的意義和深遠的影響。尤其對西北干旱區(qū)來說,更是一個難得的機遇[1]。黃河下游引黃灌區(qū)水費收繳普遍采用按灌溉面積或農(nóng)業(yè)人口分攤收費的方法,這也是目前我國農(nóng)業(yè)水費計收普遍采用的辦法[2]。所以,在灌溉期節(jié)不節(jié)水跟農(nóng)民的利益沒多大關(guān)系,農(nóng)民仍然習慣于大水漫灌淌“大鍋水”,進而造成田間灌水量大,水資源浪費非常嚴重。為此,本文設計了一套閉環(huán)控制的節(jié)水灌溉監(jiān)控系統(tǒng),將數(shù)據(jù)采集技術(shù)、無線傳感器網(wǎng)絡技術(shù)、GPRS通信技術(shù)、灌溉控制技術(shù)及短消息通信相結(jié)合,實現(xiàn)一種按需調(diào)節(jié)用水量的低功耗、低成本、傳輸可靠、管理方便的灌溉模式。
目前許多節(jié)水灌溉系統(tǒng)的管理為巡視方式,管理人員不能在第一時間了解田間土壤濕度狀況和系統(tǒng)中元器件的工作狀態(tài)[3]。為了實現(xiàn)對田間墑情和系統(tǒng)工作狀態(tài)的實時監(jiān)控,設計了基于Java技術(shù)的遠程監(jiān)控中心軟件,不僅可以實現(xiàn)對灌溉以及器件狀態(tài)的實時監(jiān)控,使用戶可以在監(jiān)控室通過監(jiān)控系統(tǒng)對田間的灌溉進行控制;還嵌入了收費管理系統(tǒng),通過對用水量的精確記錄實現(xiàn)水費計收的合理管理。
1 Java技術(shù)的優(yōu)勢
對于網(wǎng)絡監(jiān)控系統(tǒng)所要求的實時、準確和無漏控等指標,B/S三層體系結(jié)構(gòu)是最佳解決方案[4],目前B/S模式的技術(shù)支持主要有最早的CGI技術(shù)、微軟的ASP技術(shù)和Sun公司的Java技術(shù),但不是所有的方案都適合監(jiān)控系統(tǒng)的設計。
CGI雖然有其通用性的優(yōu)點,但也有其自身的缺點,如運行慢、開銷大且降低系統(tǒng)性能;Web服務器不能用數(shù)據(jù)庫級特權(quán)來控制存取權(quán)限,對用戶的訪問權(quán)限難以控制[5]。微軟的ASP技術(shù)雖然可以產(chǎn)生和運行動態(tài)的、交互的Web服務應用程序,但依附微軟的NT平臺受UNIX或LINUX而受到限制。
Sun的Java技術(shù)主要通過JSP/Servlet來實現(xiàn),JSP除了繼承ASP的優(yōu)點外,有其自身的特點,如:JSP的效率和安全性更高、組件方式更方便、標簽可擴充、適應平臺更廣,基于Java具有的平臺無關(guān)性、可移植性、面向?qū)ο?、多線程、安全等特點[6],本設計選擇了Java技術(shù)作為B/S模式的支撐技術(shù)。
2 節(jié)水灌溉監(jiān)控系統(tǒng)的構(gòu)成
節(jié)水灌溉監(jiān)控系統(tǒng)由底層傳感器、傳輸基站、遠程監(jiān)控中心、閥門控制器以及移動終端組成。底層傳感器包括溫度傳感器、水分傳感器以及流量傳感器,通過ZigBee無線通信將采集到的數(shù)據(jù)發(fā)送到傳輸基站進行數(shù)據(jù)處理,處理后的數(shù)據(jù)經(jīng)GPRS無線通信發(fā)送到遠程監(jiān)控中心,并對接收到的數(shù)據(jù)結(jié)合氣象信息進行分析,與專家決策系統(tǒng)信息按照一定算法(模糊控制)得出決策信息,來控制電磁閥的開關(guān),以完成監(jiān)控;同時,用戶還可通過短消息通信向監(jiān)控系統(tǒng)發(fā)送灌溉控制信息和系統(tǒng)主要器件的故障提示信息[7],也可直接控制閥門的開啟或關(guān)閉,該系統(tǒng)結(jié)構(gòu)設計如圖1所示。

3 遠程監(jiān)控中心的設計
根據(jù)上述的需求分析,設計了既有水費管理功能又有灌溉監(jiān)控功能的監(jiān)控中心軟件。水費管理系統(tǒng)能夠為管理者提供充足的信息和快捷的查詢手段,監(jiān)控功能在整個系統(tǒng)運行中起著核心的作用,是數(shù)據(jù)處理的重要環(huán)節(jié),其建立的友好的人機交互平臺可以實現(xiàn)監(jiān)管中心與底層傳感器和閥門控制器的通信、數(shù)據(jù)傳輸及監(jiān)控功能。
遠程監(jiān)控中心通過直觀合理的用戶操作界面對灌溉進行可靠控制和管理,具有實時觀測作物生長情況、土壤水分、土壤溫度、灌水量以及水費管理等功能。監(jiān)管中心主要包括收費系統(tǒng)、控制系統(tǒng)、查詢系統(tǒng)、用戶管理、智能施肥和參數(shù)設置模塊,其結(jié)構(gòu)框圖如圖2所示。

遠程監(jiān)控中心的主要功能有:(1)水費管理,管理人員可根據(jù)系統(tǒng)記錄的精確灌水量來收取水費,使水費的收取更加合理;(2)智能灌溉,專家系統(tǒng)對采集到的數(shù)據(jù)信息進行分析,得出灌溉時間和灌水量,達到精確地對作物進行灌溉的目的;(3)移動灌溉,利用GSM的SMS短消息業(yè)務實現(xiàn)向用戶發(fā)送灌溉控制信息;同時,用戶可向監(jiān)管中心發(fā)送強制灌溉控制指令和土壤墑情數(shù)據(jù)提取指令,完成對灌溉的遠程監(jiān)控[7];(4)監(jiān)控功能,能實時顯示底層設備及閥門的工作狀態(tài)及接收到的數(shù)據(jù)信息。
4 遠程監(jiān)控中心的實現(xiàn)方法
4.1 監(jiān)控中心的軟件設計
此遠程監(jiān)管中心基于Windows操作系統(tǒng),系統(tǒng)采用B/S 3層結(jié)構(gòu)模式,監(jiān)控軟件采用Java語言來實現(xiàn)。Servlet是處理服務器端編程的一種基于Java的解決方案,使用Servlet API及相關(guān)類和方法的Java程序在Java Web Server上運行,Java Web Server提供Servlet API[8]。
用戶通過瀏覽器登陸服務器,向服務器發(fā)送HTTP請求,將請求分配給相應被請求的Servlet,被請求的Servlet通過JDBC訪問Web數(shù)據(jù)庫,將用戶和數(shù)據(jù)間接鏈接,起到保護數(shù)據(jù)的作用,最后通過服務器將結(jié)果送到瀏覽器。實現(xiàn)客戶端與服務器通信的關(guān)鍵代碼為:
URL url=new URL(server URL);
URL Connection ut=url openConnection();
//輸出流
DataOutputStream Flush=new DataOutputStream
(ut.getOutputStream());
Flush writeBytes(querystring);
Flush flush();
Flush close(); //接收流
InputStreamRead inFlush=new InputStreamReader
(ut.getInputStream());
4.2 數(shù)據(jù)庫設計
為了便于日后的數(shù)據(jù)分析處理,灌溉現(xiàn)場采集的信息及水費管理信息需存儲到監(jiān)控系統(tǒng)的數(shù)據(jù)庫中,數(shù)據(jù)庫為系統(tǒng)業(yè)務提供數(shù)據(jù)支撐。數(shù)據(jù)庫存儲使數(shù)據(jù)的存儲結(jié)構(gòu)化,不僅增加了存儲的效率,還使數(shù)據(jù)查詢更加高效。SQL Server數(shù)據(jù)庫管理系統(tǒng)可以很好地支持B/S模式,能夠滿足各種類型系統(tǒng)的要求[9]。本系統(tǒng)采用SQL Server 2008數(shù)據(jù)庫,數(shù)據(jù)庫中建立了如下幾類表:農(nóng)戶信息表、地塊信息表、土壤信息表、水費信息表、傳感器數(shù)據(jù)表、氣象信息表、閥門狀態(tài)信息表、操作歷史信息表等。
本文設計了一套基于Java技術(shù)的智能灌溉監(jiān)管系統(tǒng),該系統(tǒng)可實現(xiàn)精準的農(nóng)田灌溉,從而大大改善農(nóng)民大漫灌現(xiàn)象;并采用Java技術(shù),設計和實現(xiàn)了通過TCP協(xié)議實時采集下位機數(shù)據(jù)的遠程監(jiān)管中心系統(tǒng),管理員通過該系統(tǒng)不僅能夠?qū)崟r監(jiān)控農(nóng)田灌溉,還可更方便地管理用戶的水費繳納,使本系統(tǒng)更具有實用性。當然,任何一個實用性系統(tǒng)都需要不斷在實踐中加以檢驗、加以完善,該系統(tǒng)還需做模型參數(shù)校正、完善智能施肥模塊等方面的工作,為系統(tǒng)的大面積推廣奠定基礎。
參考文獻
[1] 李吉均,王乃昂,史正濤,等.西北干旱區(qū)農(nóng)業(yè)可持續(xù)發(fā)展問題[J].生態(tài)經(jīng)濟,2000(9):38-41.
[2] 王曉芳,朱珊珊.引黃農(nóng)業(yè)灌區(qū)水費征收難的原因及對策分析[J].寧夏農(nóng)林科技,2011,52(5):94-95.
[3] 連翔,張小軍.基于GSM模塊TC35i的機房溫度測控系統(tǒng)[J].電子工程師,2008,34(9):65-67.
[4] 胡葭,方勇.基于Java的嵌入式遠程監(jiān)控系統(tǒng)[J].遙測遙控,2005,26(5):62-65.
[5] 尹小勇.基于Java技術(shù)的B/S模式研究及應用[D].南寧: 廣西大學,2002.
[6] 張丹.Java技術(shù)研究與應用[D].西安:西安石油學院,2002.
[7] 李瑞芳,徐曉輝,溫陽,等.短消息在節(jié)水灌溉中的應用[J].農(nóng)機化研究,2013(8):196-199.
[8] HUNTER J,CRAWFORD W.Java servlet programming[M].O’Reilly﹠Associates,Inc,2001.
[9] 程有娥,錢冬云.SQL Server 2000數(shù)據(jù)庫管理系統(tǒng)[M].上海:華東師范大學出版社,2007.
