周海蓮,張軍國,楊睿茜,賴小龍,呂靜霞
(北京林業(yè)大學工學院,北京 100083)
我國人均水資源匱乏,被列為世界上13個貧水國家之一。農(nóng)業(yè)灌溉是水資源消耗的重要組成部分[1-2]。據(jù)統(tǒng)計,近幾年我國農(nóng)業(yè)灌溉用水量占農(nóng)業(yè)總用水量的90%,占全國總用水量的63%。傳統(tǒng)農(nóng)業(yè)灌溉主要依靠經(jīng)驗進行定時灌溉,存在水資源利用率低下的問題。
精準農(nóng)業(yè)灌溉技術(shù)實現(xiàn)了灌溉的精準性及可控性,有效地解決了這一問題。物聯(lián)網(wǎng)技術(shù)是一種新型的信息處理方式,具有覆蓋范圍廣、數(shù)據(jù)處理效率高等優(yōu)點,廣泛應(yīng)用于環(huán)境監(jiān)測、智能家居領(lǐng)域[3]。本文基于物聯(lián)網(wǎng)技術(shù)構(gòu)建了精準農(nóng)業(yè)灌溉系統(tǒng),重點對系統(tǒng)監(jiān)控軟件進行了開發(fā),以實現(xiàn)對灌溉系統(tǒng)的遠程監(jiān)測控制。
基于物聯(lián)網(wǎng)技術(shù)構(gòu)建的精準農(nóng)業(yè)灌溉系統(tǒng)由五部分組成,分別為:傳感器網(wǎng)絡(luò)、電磁閥陣列、灌溉監(jiān)測控制器、GPRS(General Packet Radio Service,通用分組無線服務(wù)技術(shù))模塊、遠程監(jiān)控計算機。系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 精準農(nóng)業(yè)灌溉系統(tǒng)結(jié)構(gòu)圖
圖1中,傳感器網(wǎng)絡(luò)由數(shù)百個土壤水分傳感器組成,用于監(jiān)測不同區(qū)域、不同深度的土壤水分。灌溉監(jiān)測控制器控制土壤水分傳感器是否采集數(shù)據(jù)以及電磁閥是否打開。由于農(nóng)田面積大,需要控制的土壤水分傳感器及電磁閥多,因此采用分區(qū)控制的方法,每個控制區(qū)域設(shè)有一個灌溉監(jiān)測控制器。當某一控制區(qū)域內(nèi)傳感器測得土壤水分超出設(shè)定的灌溉閾值時,灌溉監(jiān)測控制器控制電磁閥打開或關(guān)閉。遠程監(jiān)控計算機使用戶能夠遠程監(jiān)測控制農(nóng)田的灌溉狀況,它與灌溉監(jiān)測控制器通過GPRS進行通信。
作為用戶與精準灌溉系統(tǒng)進行信息交互的平臺,遠程監(jiān)控計算機監(jiān)控軟件的好壞決定系統(tǒng)是否能夠準確按照既定灌溉方案執(zhí)行灌溉。本文基于監(jiān)控軟件的設(shè)計展開詳細討論。
該監(jiān)控軟件需要實現(xiàn)對電磁閥的遠程控制、實時顯示土壤含水量、存儲歷史數(shù)據(jù)及報警數(shù)據(jù)、切換系統(tǒng)灌溉模式。同時,由于監(jiān)控軟件實現(xiàn)人機交互,因此需要有友好的人機交互界面[4-5]。
監(jiān)控軟件分為四大模塊,分別為:用戶設(shè)置、參數(shù)設(shè)置、數(shù)據(jù)管理、采集控制,如圖2所示。

圖2 監(jiān)控軟件組成圖
用戶設(shè)置模塊的功能包括多用戶登錄、添加新用戶、刪除用戶、修改密碼[6]。用戶登錄程序的流程如圖3所示。

圖3 用戶登錄程序流程圖
系統(tǒng)初始化時存在兩個已有用戶:一個默認用戶,一個超級用戶對監(jiān)控系統(tǒng)進行特權(quán)級操作。系統(tǒng)登錄時,程序獲取用戶輸入信息,并與已有用戶的信息進行比對。若二者一致,登錄成功[7]。其中,已有用戶信息按統(tǒng)一格式保存在文檔中。
超級用戶不僅具有監(jiān)控系統(tǒng)運行狀態(tài)等權(quán)限,還可以進行多用戶信息的管理,例如添加新用戶、刪除用戶等。刪除用戶程序的流程如圖4所示。首先,將待刪除用戶的用戶名及密碼組合成用戶信息保存的標準格式。逐行讀取用戶信息并與待刪除的用戶信息進行比對,若不同,表明該用戶不是待刪除用戶,將該用戶信息保留;若相同,則該用戶即為待刪除用戶,該用戶的信息不再寫入保存用戶信息的文檔。

圖4 刪除用戶程序流程圖
添加新用戶程序的流程如圖5所示。添加用戶對話框需要用戶輸入新添加用戶信息,包括用戶名、真實姓名、密碼、確認密碼。確保超級用戶輸入的信息有效后,逐行讀取已有用戶信息與待添加用戶的用戶名進行比對。若出現(xiàn)相同用戶名,則提示用戶該用戶名已存在;若沒有出現(xiàn)相同用戶名,則將待添加用戶的用戶名及密碼寫入保存用戶信息的文檔中。

圖5 添加新用戶程序流程圖
用戶設(shè)置模塊還可以實現(xiàn)密碼的修改。密碼修改程序的流程如圖6所示。修改密碼時需要用戶輸入原始密碼、新密碼、確認密碼。另外,超級用戶可以修改普通用戶的密碼,因此在修改密碼時需要輸入用戶名。系統(tǒng)確認所有信息均有效后,逐行讀取用戶信息,找到待修改密碼的用戶,用新密碼替代原有密碼,密碼修改完成。

圖6 修改密碼程序流程圖
參數(shù)設(shè)置模塊是對短信設(shè)備、灌溉監(jiān)測控制器、傳感器參數(shù)的設(shè)置。參數(shù)設(shè)置模塊組成如圖7所示。遠程計算機監(jiān)控系統(tǒng)與灌溉監(jiān)測控制器間通過短信設(shè)備進行通信時需要設(shè)置通信的參數(shù),例如選擇短信設(shè)備接口和波特率。初始化系統(tǒng)時,系統(tǒng)將可選擇的短信設(shè)備接口及波特率加載到下拉列表中。短信設(shè)備接口可以選擇COM1、COM2、COM3、COM4。波特率可以選擇9 600 bps、14 400 bps、19 200 bps、38 400 bps。

圖7 參數(shù)設(shè)置模塊組成圖
灌溉監(jiān)測控制器控制流程如圖8所示。灌溉監(jiān)測控制器的主要參數(shù)包括工作模式、灌溉任務(wù)等。每個灌溉監(jiān)測控制器都有特定的通信手機號,與遠程計算機間通過GPRS通信。灌溉監(jiān)測控制器設(shè)有兩種工作方式:手動控制、自動控制。若用戶選擇自動控制模式,灌溉監(jiān)測控制器自行決策灌溉開始或結(jié)束,不需要用戶通過遠程計算機發(fā)送命令打開或關(guān)閉電磁閥。灌溉任務(wù)是自動控制模式下灌溉監(jiān)測控制器自行決策的一個依據(jù)。相反,若用戶選擇手動控制模式,用戶通過讀取灌溉監(jiān)測控制器傳回的實時土壤含水量決定是否開始灌溉。用戶發(fā)送灌溉開始命令后本次灌溉持續(xù)時間由灌溉時間長度決定。

圖8 灌溉監(jiān)測控制器的控制流程圖
每個控制區(qū)域內(nèi)設(shè)有多個電磁閥及傳感器。用戶可以設(shè)置傳感器的含水量報警上限、含水量報警下限、灌溉閾值。當傳感器檢測到某一時刻的土壤含水量低于(高于)含水量報警下限(上限)時,灌溉監(jiān)測控制器向遠程監(jiān)控計算機發(fā)出報警信號,提示用戶決策是否灌溉。在自動控制模式下,除灌溉任務(wù)外,灌溉閾值是灌溉監(jiān)測控制器自行決策的又一依據(jù)。
數(shù)據(jù)管理模塊管理灌溉監(jiān)測控制器發(fā)送至遠程計算機的所有數(shù)據(jù)。數(shù)據(jù)管理模塊的組成如圖9所示。
首先,管理傳感器采集的不同時間下土壤含水量。傳感器采集到土壤含水量后傳送至灌溉監(jiān)測控制器,灌溉監(jiān)測控制器將其控制區(qū)域內(nèi)所有傳感器采集的數(shù)據(jù)匯總后傳送至遠程計算機。由于同一控制區(qū)域內(nèi)傳感器的位置及埋放深度不同,因此采集的數(shù)據(jù)具有可對比性。遠程計算機接收到數(shù)據(jù)后將其保持至數(shù)據(jù)庫中,方便用戶統(tǒng)計某天或某周的土壤不同深度下含水量變化,以便考量精準灌溉系統(tǒng)的有效性。

圖9 數(shù)據(jù)管理模塊組成圖
其次,管理報警信息,包括報警控制器、報警區(qū)域、報警類型、報警時間以及是否已進行處理。報警信息主要針對手動控制模式,提示用戶進行決策。若用戶在某段時間里沒有進行監(jiān)控,可以通過查看歷史報警信息得到未處理的報警信息并做出處理。
采集控制模塊的功能是向灌溉監(jiān)測控制器發(fā)送控制命令,包括打開或關(guān)閉灌溉電磁閥及傳感器開始采集數(shù)據(jù)。采集控制模塊工作流程如圖10所示。

圖10 采集控制模塊工作流程圖
控制命令的發(fā)送以控制區(qū)域為單位。在手動控制下,用戶通過向灌溉監(jiān)測控制器發(fā)送命令對執(zhí)行機構(gòu)電磁閥進行操作。同一小區(qū)內(nèi)有多個閥門,用戶進行操作時需依據(jù)傳感器采集的土壤含水量情況決定打開或關(guān)閉閥門的個數(shù),使灌溉更加精準。
用戶可以根據(jù)需要控制傳感器開始采集數(shù)據(jù)。同一控制區(qū)域內(nèi)埋放的數(shù)個傳感器的區(qū)別不僅在于埋放位置,而且埋放深度也不相同。用戶對傳感器采集數(shù)據(jù)的控制以控制區(qū)域為單位,當用戶發(fā)送開始采集數(shù)據(jù)的命令時,某一控制區(qū)域內(nèi)所有傳感器均開始采集數(shù)據(jù)。用戶可以根據(jù)傳感器采集到的某一控制區(qū)域不同位置、不同土壤深度下土壤水分決定是否開始灌溉。這種決策方式比只依據(jù)埋放在不同位置傳感器采集的數(shù)據(jù)決定某一控制區(qū)域是否灌溉更合理。
監(jiān)控軟件實驗運行時的界面見圖11、圖12。

圖11 傳感器屬性設(shè)置

圖12 傳感器采集數(shù)據(jù)列表
基于物聯(lián)網(wǎng)的精準農(nóng)業(yè)灌溉系統(tǒng)具有實時控制系統(tǒng)運行狀態(tài)的優(yōu)勢,現(xiàn)代精準農(nóng)業(yè)灌溉多采用此方法。本文介紹了一種基于物聯(lián)網(wǎng)的精準農(nóng)業(yè)灌溉系統(tǒng)監(jiān)控軟件的開發(fā)方案,提出該監(jiān)控軟件的設(shè)計需求及各模塊的實現(xiàn)方案。實驗表明,本文介紹的精準農(nóng)業(yè)灌溉系統(tǒng)監(jiān)控軟件運行良好,實現(xiàn)了多用戶管理、節(jié)水灌溉系統(tǒng)硬件設(shè)置、歷史數(shù)據(jù)管理及采集控制功能。然而,在不間斷工作一定時間后,系統(tǒng)性能的穩(wěn)定性問題還有待進一步改進。
[1]章軍富,陳峻崎,胡劍非.基于GPRS/SMS和μC/OS的都市綠地精準灌溉控制系統(tǒng)[J].農(nóng)業(yè)工程學報,2009,25(9):1-6.
[2] 蔣 毅,趙燕東,陳峻崎,等.精準灌溉自動控制系統(tǒng)的應(yīng)用研究[J].湖南農(nóng)業(yè)科學,2009,(5):136-138,142.
[3] Wenbin L I,Zhang JG,Zhang JM.The Monitoring of Host Computer for Forest Fire Detection System based on Wireless Sensor Network,The 5th International Conference on Wireless Communications,Networking and Mobile Computing,September 24-26,2009,Beijing,China.
[4] 匡秋明,趙燕東,白陳祥.節(jié)水灌溉自動控制系統(tǒng)的研究[J].農(nóng)業(yè)工程學報,2007,23(6):136-139.
[5]鄒 升,毛罕平,左志宇.基于VB的灌溉施肥機上位機軟件系統(tǒng)設(shè)計[J].安徽農(nóng)業(yè)科學,2011,39(7):1494-1497.
[6] 戚艷艷,肖新棉.基于labview的溫室灌溉自動控制系統(tǒng)的研究[J].湖南農(nóng)業(yè)科學,2010,(11):153-155.
[7] 邵維忠,劉 昕.可視化編程環(huán)境下人機界面的面向?qū)ο笤O(shè)計[J].軟件學報,2002,13(8):4237-4240.