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

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

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