溫室生產作為高效、高科技含量的大規模生產方式已經成為世界農業的發展趨勢。溫室設施的自動監測和控制技術可以為農作物創造良好的生長環境,節約人力成本,提高農作物的產量,因此需要開發與溫室相關的自動化技術,以降低運行成本、提高效率、實現環境的精確控制。我國目前的溫室沒施綜合監測水平不高,控制能力比較差,帶有綜合環境自動調節的高科技溫室主要從國外引進。筆者開發了以S3C2 440為核心的嵌入式環境監測系統可以完成溫室環境參數的監測和收集,同時通過輸出機構實時控制溫室環境以達到溫室監測和控制智能化的目的,具有精度高,智能控制等優點。
軟件工程領域最重要的、具有劃時代意義成果之一的就是統一建模語言UML(Unified Modeling Language)的出現。開發系統可以借助UML的CASE工具來完成從軟件的分析、設計、實現到測試的一系列軟件工程過程,大大提高了軟件開發的復用性和效率,降低了軟件開發過程中的返工率。文中采用了UML方法來設計一個軟硬件都要考慮的溫室環境監測系統,從而體現了UML強大的表達能力,該系統用UML表達清晰、嚴謹、易于實現。
1 溫室環境監測系統組成
系統主要架構如圖1所示,系統由上位機、下位機和執行結構組成。上位機為PC機可以處理下位機傳送的溫室環境參數同時可以給下位機發出指令。下位機是以Samsung S3C2440為主控制器,資源豐富功能強大,其主頻為400MHZ,最高可達533MHZ,內存為64MSDRAM,數據總線32 bit,S3C2440還支持以太網卡,很容易實現網絡功能。其他主要部件有溫濕度傳感器SHT11,光照傳感器TSI2561和CO2傳感器NAP-21ACO2液晶顯示模塊等基本部件。輸出執行結構包括循環風機、噴水系統、內外遮陽電機等。
1.1 傳感器電路
1.1.1 溫濕度傳感器
SHT11溫濕度傳感器采用SMD(LCC)表面貼片封裝,由于將傳感器與電路部分結合在一起,因此傳感器具有比其它類型的濕度傳感器優越的多的性能。傳感器可直接通過I2C總線與ARM連接,減少電路硬件成本,簡化電路。系統中為了同時測量溫室內的溫濕度值,將各SHT11的SCK先接到S3C2440的同一個I/O口,而DATA線則分別接到不同的I/O上。
1.1. 2 CO2濃度監測和光強度監測
CO2濃度監測采用NEMOTO公司生產的NAP-21ACO2傳感器,NAP-21A輸出線性好,有較好的長期穩定性與極好的重復性及精度。該傳感器是一種熱傳導式CO2傳感器,在不同濃度的CO2氣體中其阻值與CO2的濃度成線性關系,傳感器通過放大器連接。光強測量選用TAOS公司的TSI25 61光強度傳感器,該傳感器具有數字式輸出端口和標準I2C總線接口,測量的照度范圍為1~70 000lx,功耗僅為0.75mW。TS1256具有高速、低功耗、寬量程、可編程配置的特點。可以設置光強度上、下閾值,控制執行結構的遮陽板。
1.2 輸出執行結構
系統的執行機構包括循環風機、噴水系統、內外遮陽電機等。利用微控制器輸出高低電平,控制開關。當溫室內的溫度、濕度、CO2等各個環境參數,通過無線數據采集系統采集到微控制器并顯示出來,再由有線通訊模塊傳送到上位機系統,與數據庫進行比對,得出適合該種作物的環境參數,上位機通過通訊模塊發送信息到下位機,下位機再根據各個信息發出執行命令控制執行機構。當然也可以直接通過下位機發出執行命令控制執行結構,注意下位機執行輸出機構只在特殊情況下使用。具體部署圖如圖1所示。
帶陰影的是處理器,處理器處理溫室環境信息,發送到執行裝置,不帶陰影的是執行裝置,分別執行相關命令。
2 UML靜態建模
2.1 用例圖
用例圖(Use Case Diagram)就是角色、用例以及它們之間的關系構成的圖。是對系統功能的陳述。改圖說明用例模型中的關系,如圖2所示。
本系統中,遠端管理員通過上位機可以查看歷史數據,設置環境參數,設定溫濕度閾值,光照閾值,CO2閾值,發送命令到下位機。下位機可以根據上位機發送的閾值控制執行機構,下位機通過傳感器收集溫室環境的信息,下位機可以把信息傳送給上位機。本地管理員也可以通過下位機的顯示模塊直接控制執行結構。
2.2 類 圖
類圖來描述系統靜態的對象結構及其相互關系。從用例圖(圖2)中可分解出一些類,并將這些類之間的結構描述出來。類圖是最常用的UML圖,顯示出類、接口以及它們之間的靜態結構和關系,用于描述系統結構化設計。
本系統中,兩個管理類是遠程管理員(Remote-admin)和本地管理員(Local-admin)對上位機類(The host computer)和下位機類(Lower machine)操作.下位機類對傳感器類(Sensor)、執行機構類(Run)和顯示模塊類(Show)進行操作。遠程管理類操作就是login;本地管理類的操作login;上位機類操作是:inquiry,set,send,receive,summit;下位機類操作是:set-show,send,receive,set-run;傳感器類屬性是:seneor_id,操作是:temperature_measure,humidity_measure,light_measure,CO2_measure,等操作;顯示模塊類是操作是:
displayr;執行機構類屬性是:manchine_id,操作是:set-light,set-wind,set-humidity,系統類圖如圖3所示。
3 UML動態建模
3.1 狀態圖
狀態圖(State Diagram)是描述一個實體基于事件反應的狀態行為,顯示該實體如何根據當前所處狀態對不同的時間做出反應的。
本系統中:)下位機從各個傳感器讀取數據,顯示到顯示模塊:2)可以通過下位機根據讀取的數據直接設定執行機構,執行輸出;3)下位機把接受的數據傳送給上位機,上位機根據歷史數據做出判斷得到適合該作物的環境參數,發送給下位機;4)下位機接收上位機傳送來的數據,顯示到顯示模塊:5)下位機根據接受的數據發出命令,設定執行結構,執行輸出。
系統狀態圖如圖4所示。
3.2 序列圖
UML序列圖(Sequence Diagram)一般用于確認和豐富一個環境的邏輯。一個使用情境就是系統潛在的使用方式的描述,就是它的名稱所要描述的,其邏輯可能是一個用例的一部分,或是一條備選路線;可能是一個貫穿單個用例的完成流程,也可能包含幾個用例中的流程。系統序列圖如圖5所示。
本系統的序列圖對應的信息:1)傳感器讀取溫室內溫濕度、光照、CO2參數值;2)下位機接受傳感器數據,并顯示到顯示模塊;3)下位機可以直接設置執行機構;4)下位機發送數據到上位機,上位機做出判斷送出設定值;5)下位機接受上位機發送的設定值,顯示到顯示模塊;6)下位機根據設定值發送命令執行輸出機構,調整溫室環境。
4 結論
該系統以S3C2440為核心,采用UML方法,設計了一個智能的溫室環境監測系統。實際應用表明該系統具有控制參數設定方便、控制精度高、穩定性好、人機界面友好等特點,有著極高的性價比和可行性。