摘 要: 隨著信息技術的發展和互聯網的普及,溫室控制技術正向著信息化、網絡化方向發展。開發出一種針對溫室環境監測的基于Web的遠程監控系統。該系統不僅能夠通過Internet遠程控制、瀏覽數據、修改和設置參數,進行溫室環境的異地和遠距離監控管理,而且也可應用于工業的其他領域。
關鍵詞: Web;遠程監控;VB. Net;設計
近年來,隨著公共Internet網絡的普及和遠程控制策略的完善,基于Internet的通信手段在遠程監控技術上的應用發展迅猛?;贗nternet的遠程監控系統通過廉價的TCP/IP和Ethernet連接克服了工業網絡的弊端,大大降低了網絡的建設與維護成本,并廣泛地延伸人類的工作空間,為溫室控制技術向著信息化、網絡化方向發展提供了可能[1]。
1 系統硬件設計
本文設計的溫室遠程監控系統硬件電路以AT89S52單片機為核心,通過RS232/485與串口聯網服務器ZNE-200T相連,并通過該模塊實現RS232協議與TCP/IP協議的相互轉換,從而實現串口設備的網絡化;信息的數據采集由LT/W/S溫濕度傳感器、LT/G光照度傳感器、VC1008二氧化碳濃度傳感器以及傳感器信號處理轉換(A/D)電路構成;輸出控制由光隔、繼電器、執行器件構成;人機對話功能主要采用8位LED、20位按鍵來實現[2]。系統硬件總體結構如圖1所示。
2 系統軟件設計
2.1 上位機軟件設計
2.1.1 Web應用程序服務器設計
Web應用程序服務器采用MS-IIS(Microsoft Internet Information Server)技術,網絡發布模塊采用ASP.NET技術實現B/S(Brower/Server)體系結構。用戶操作則通過客戶端瀏覽器(Brower)實現,主要事務在服務器端(Server)實現,數據存儲、提取則在數據庫服務器端實現,形成三層結構。在這種結構中,該系統的一次完整運行應為:用戶登錄,即通過瀏覽器向網絡上的Web應用程序服務器發出請求,Web應用程序服務器對瀏覽器的請求進行處理,將用戶操作主頁面返回到瀏覽器;用戶進行數據查詢參數的輸入、采集系統的參數修改等操作,完成后向Web應用程序服務器發出提交請求;服務器對瀏覽器的數據提交請求進行處理,即進行數據分析計算、數據庫存取、動態頁面生成等工作;最后Web應用程序服務器將模型運行結果返回到客戶端瀏覽器。
2.1.2 數據庫服務器程序設計
在數據庫服務器的設計中,考慮到數據的安全及Web應用程序服務器的升級與維護,本系統采取系統數據庫服務器與Web應用程序服務器相分離的措施。數據庫采用MS SQLServer2000,為系統提供易于維護的、穩定的支持[1]。溫室數據庫(Greenhouse)主要包含數據表T_info和指令表T_C。其中T_info數據表包括各種傳感器的數據、采集時間以及執行機構的開關狀態,指令表T_C包括設定當前溫度、濕度、光照、二氧化碳的上下限、各傳感器的數據采樣間隔等。智能終端(單片機)數據采集模塊和Web應用程序服務器上的網絡發布模塊都以溫室數據庫為中心,為Internet用戶提供數據查詢及相關服務。
2.1.3 通信模塊的設計
基于VB.Net的Socket對象是客戶端和服務器端進行后臺通信的根本,Socket是為計算機提供的一個通信端口,可以通過這個端口與任何一個具有Socket的計算機進行通信。應用程序在網絡上傳輸、接收的信息都通過這個端口來實現。VB.Net對原有的Socket類和相關的方法進行了一系列封裝,使程序變得更加簡單。其面向連接的Socket編程模型示意圖如圖2所示。
Socket對象的屬性和方法。Bind方法:使Socket與一個lP地址綁定;Listen方法:將Socket置于偵聽狀態;Accept方法:創建的Socket以處理傳人的連接請求;Connect方法:建立遠程連接;Send方法:將數據發送到連接的Socket;Receive方法:接收來自Socket的數據;Close方法:強制Socket關閉;Available屬性:獲取已經從網絡接收且可供讀取的數據;Blocking屬性:獲取或設置一個值,該值表示Socket是否處于阻塞;Local endpoint屬性:獲取本地終結點;Protocol type屬性:獲取Socket的協議類型;Remote endpoint屬性:獲取遠程結點;Socket type屬性:獲取Socket的類型。
使用Socket對象按4個步驟進行:(1)程序建立一個Socket;(2)程序必須按要求配置Socket;(3)程序必須按Socket要求通過此協議發送和接收數據;(4)程序關閉此Socket。
2.1.4 用戶界面設計
本系統界面設計采用中文Windows環境下的圖形界面,界面友好,并根據系統分析確定目標和功能,采用模塊化設計方法,主要包括登錄頁面、網絡連接模塊、數據查看模塊、終端控制模塊、終端參數設置模塊、本地參數模塊和使用幫助模塊等,每一個模塊完成一項獨立功能,但模塊與模塊之間通過系統數據相互關聯。系統主界面如圖3所示。
2.2 下位機軟件設計
2.2.1 智能采集終端系統主程序設計
智能采集終端主程序是整個下位機系統的主程序,它是系統程序的框架,控制著單片機系統按預定操作方式運轉。其主要作用是能及時響應來自系統內部的各種服務請求,有效地管理系統自身軟硬件及人機對話設備與系統中其他設備交換信息,并在系統一旦出現故障時,及時作出相應處理。
系統主程序的組成主要取決于測控系統的組成模塊以及系統的硬件配備與功能,其主要的工作流程為:系統上電后開始進入初始化狀態,然后進行數據采集,把采集的結果與事先設定參數值相比較,如果超出設定的上下限范圍,將驅動執行機構進行處理,否則判斷有無鍵盤中斷,若有,執行中斷服務程序;若沒有,再判斷是否有串口中斷;若有,則執行串口中斷服務子程序,最后返回。流程圖如圖4所示。
2.2.2 驅動執行機構子程序設計
在設計驅動執行子程序設計中,本系統采取以溫度為主,同時輔以考慮濕度、光照、二氧化碳濃度的控制方法。首先,將實時采集的溫度值和設定的溫度值上下限進行比較,低于下限溫度就關閉降溫和降濕設備并開啟加熱設備;反之,就開啟降溫和降濕設備并關閉加熱設備。然后接下來將實時采集的濕度和設定的濕度值進行比較,低于下限值就關閉降溫設備并開啟加濕設備;反之,開啟降溫設備并關閉加濕設備。完成之后,下一步就是對比光照值,開啟或者關閉補光設備;最后,對比CO2濃度,低于下限值就關閉降溫設備并開啟CO2施肥設備;反之,關閉CO2施肥設備并開啟降溫設備。
2.2.3 鍵盤/顯示系統子程序
在單片機控制系統中,鍵盤/顯示系統常用來監視和分析鍵盤輸入的命令和數據以及顯示被控系統的工作狀態。鍵盤/顯示系統是單片機不可缺少的部件,它常由硬件電路和軟件程序組成。軟件程序主要由動態顯示子程序、鍵盤掃描子程序和求鍵值子程序等組成。本系統主要完成:設定溫度、濕度、光照、二氧化碳濃度等參數的上下限;可強行執行溫室內空調、濕控裝置、鈉燈、排氣扇等開關操作;瀏覽實時采集的數據。
溫室環境監測遠程監控系統以硬件電路AT89S52單片機為核心,通過協議的相互轉換實現串口設備的網絡化,再輔以上位機和下位機的軟件編程能夠實現室內溫度、濕度、光照、二氧化碳濃度的網絡監測和管理,具有一定的應用價值。
參考文獻
[1] 孫忠富,仝乘風.基于WEB和RS-485總線的分布式遠程環境監控系統的實現[J].中國農學通報,2006(2):392-394.
[2] 何立民.MCS-51系列單片機應用系統設計[M].北京:北京航天航空大學出版社,2002.
[3] 吳越勝,孫巖.Web編程高級教程[M].北京:清華大學出版社,2004.
[4] 譚明佳.基于ASP.NET的學校MIS設計與實現[J].湖北民族學院學報(自然科學版),2005(3).