劉 峰,尤 飛,康亞明
(榆林學(xué)院 信息工程學(xué)院,陜西 榆林 719000)
溫室生產(chǎn)作為高效、高科技含量的大規(guī)模生產(chǎn)方式已經(jīng)成為世界農(nóng)業(yè)的發(fā)展趨勢。溫室設(shè)施的自動監(jiān)測和控制技術(shù)可以為農(nóng)作物創(chuàng)造良好的生長環(huán)境,節(jié)約人力成本,提高農(nóng)作物的產(chǎn)量,因此需要開發(fā)與溫室相關(guān)的自動化技術(shù),以降低運行成本、提高效率、實現(xiàn)環(huán)境的精確控制。我國目前的溫室設(shè)施綜合監(jiān)測水平不高,控制能力比較差,帶有綜合環(huán)境自動調(diào)節(jié)的高科技溫室主要從國外引進[1]。筆者開發(fā)了以S3C2440為核心的嵌入式環(huán)境監(jiān)測系統(tǒng)可以完成溫室環(huán)境參數(shù)的監(jiān)測和收集,同時通過輸出機構(gòu)實時控制溫室環(huán)境以達到溫室監(jiān)測和控制智能化的目的,具有精度高,智能控制等優(yōu)點。
軟件工程領(lǐng)域最重要的、具有劃時代意義成果之一的就是統(tǒng)一建模語言UML(Unified Modeling Language)的出現(xiàn)。開發(fā)系統(tǒng)可以借助UML的CASE工具來完成從軟件的分析、設(shè)計、實現(xiàn)到測試的一系列軟件工程過程,大大提高了軟件開發(fā)的復(fù)用性和效率,降低了軟件開發(fā)過程中的返工率。文中采用了UML方法來設(shè)計一個軟硬件都要考慮的溫室環(huán)境監(jiān)測系統(tǒng),從而體現(xiàn)了UML強大的表達能力,該系統(tǒng)用UML表達清晰、嚴(yán)謹(jǐn)、易于實現(xiàn)[2]。
系統(tǒng)主要架構(gòu)如圖1所示,系統(tǒng)由上位機、下位機和執(zhí)行結(jié)構(gòu)組成。上位機為PC機可以處理下位機傳送的溫室環(huán)境參數(shù)同時可以給下位機發(fā)出指令。下位機是以Samsung S3C2440為主控制器,資源豐富功能強大,其主頻為400MHZ,最高可達533MHZ,內(nèi)存為 64MSDRAM,數(shù)據(jù)總線32 bit,S3C2440還支持以太網(wǎng)卡,很容易實現(xiàn)網(wǎng)絡(luò)功能[3]。其他主要部件有溫濕度傳感器SHT11,光照傳感器TSI2561和CO2傳感器NAP-21ACO2,液晶顯示模塊等基本部件。輸出執(zhí)行結(jié)構(gòu)包括循環(huán)風(fēng)機、噴水系統(tǒng)、內(nèi)外遮陽電機等。
圖1 系統(tǒng)部署圖Fig.1 System deployment diagram
1.1.1 溫濕度傳感器
SHT11溫濕度傳感器采用SMD(LCC)表面貼片封裝,由于將傳感器與電路部分結(jié)合在一起,因此傳感器具有比其它類型的濕度傳感器優(yōu)越的多的性能。傳感器可直接通過12C總線與ARM連接,減少電路硬件成本,簡化電路。系統(tǒng)中為了同時測量溫室內(nèi)的溫濕度值,將各SHT11的SCK先接到S3C2440的同一個I/O口,而DATA線則分別接到不同的 I/O 上[4]。
1.1.2 CO2濃度監(jiān)測和光強度監(jiān)測
CO2濃度監(jiān)測采用NEMOTO公司生產(chǎn)的NAP-21ACO2傳感器,NAP-21A輸出線性好,有較好的長期穩(wěn)定性與極好的重復(fù)性及精度。該傳感器是一種熱傳導(dǎo)式CO2傳感器,在不同濃度的CO2氣體中其阻值與CO2的濃度成線性關(guān)系,傳感器通過放大器連接[5]。光強測量選用TAOS公司的TSI2561光強度傳感器,該傳感器具有數(shù)字式輸出端口和標(biāo)準(zhǔn)I2C總線接口,測量的照度范圍為1~70 000lx,功耗僅為0.75 mW。TS1256具有高速、低功耗、寬量程、可編程配置的特點[6]??梢栽O(shè)置光強度上、下閾值,控制執(zhí)行結(jié)構(gòu)的遮陽板。
系統(tǒng)的執(zhí)行機構(gòu)包括循環(huán)風(fēng)機、噴水系統(tǒng)、內(nèi)外遮陽電機等。利用微控制器輸出高低電平,控制開關(guān)。當(dāng)溫室內(nèi)的溫度、濕度、CO2等各個環(huán)境參數(shù),通過無線數(shù)據(jù)采集系統(tǒng)采集到微控制器并顯示出來,再由有線通訊模塊傳送到上位機系統(tǒng),與數(shù)據(jù)庫進行比對,得出適合該種作物的環(huán)境參數(shù),上位機通過通訊模塊發(fā)送信息到下位機,下位機再根據(jù)各個信息發(fā)出執(zhí)行命令控制執(zhí)行機構(gòu)。當(dāng)然也可以直接通過下位機發(fā)出執(zhí)行命令控制執(zhí)行結(jié)構(gòu),注意下位機執(zhí)行輸出機構(gòu)只在特殊情況下使用。具體部署圖如圖1所示。
帶陰影的是處理器,處理器處理溫室環(huán)境信息,發(fā)送到執(zhí)行裝置,不帶陰影的是執(zhí)行裝置,分別執(zhí)行相關(guān)命令。
用例圖(Use Case Diagram)就是角色、用例以及它們之間的關(guān)系構(gòu)成的圖。是對系統(tǒng)功能的陳述。改圖說明用例模型中的關(guān)系[2],如圖2所示。
圖2 用例圖Fig.2 Use case diagram
本系統(tǒng)中,遠(yuǎn)端管理員通過上位機可以查看歷史數(shù)據(jù),設(shè)置環(huán)境參數(shù),設(shè)定溫濕度閾值,光照閾值,CO2閾值,發(fā)送命令到下位機。下位機可以根據(jù)上位機發(fā)送的閾值控制執(zhí)行機構(gòu),下位機通過傳感器收集溫室環(huán)境的信息,下位機可以把信息傳送給上位機。本地管理員也可以通過下位機的顯示模塊直接控制執(zhí)行結(jié)構(gòu)。
類圖來描述系統(tǒng)靜態(tài)的對象結(jié)構(gòu)及其相互關(guān)系。從用例圖(圖2)中可分解出一些類,并將這些類之間的結(jié)構(gòu)描述出來。類圖是最常用的UML圖,顯示出類、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系,用于描述系統(tǒng)結(jié)構(gòu)化設(shè)計[2]。
本系統(tǒng)中,兩個管理類是遠(yuǎn)程管理員(Remote-admin)和本地管理員(Local-admin)對上位機類(The host computer)和下位機類 (Lower machine)操作,下位機類對傳感器類(Sensor)、執(zhí)行機構(gòu)類(Run)和顯示模塊類(Show)進行操作。遠(yuǎn)程管理類操作就是login;本地管理類的操作login;上位機類操作是:inquiry ,set, send, receive, summit;下位機類操作是 :set-show, send, receive, set-run; 傳 感 器 類 屬 性 是 :seneor_id, 操作是:temperature_measure, humidity_measure,light_measure,CO2_measure,等操作;顯示模塊類是操作是:display;執(zhí)行機構(gòu)類屬性是:manchine_id,操作是:set-light,set-wind, set-h(huán)umidity,系統(tǒng)類圖如圖 3 所示。
圖3 系統(tǒng)類圖Fig.3 Class diagram
狀態(tài)圖(State Diagram)是描述一個實體基于事件反應(yīng)的狀態(tài)行為,顯示該實體如何根據(jù)當(dāng)前所處狀態(tài)對不同的時間做出反應(yīng)的[2]。
本系統(tǒng)中:)下位機從各個傳感器讀取數(shù)據(jù),顯示到顯示模塊;2)可以通過下位機根據(jù)讀取的數(shù)據(jù)直接設(shè)定執(zhí)行機構(gòu),執(zhí)行輸出;3)下位機把接受的數(shù)據(jù)傳送給上位機,上位機根據(jù)歷史數(shù)據(jù)做出判斷得到適合該作物的環(huán)境參數(shù),發(fā)送給下位機;4)下位機接收上位機傳送來的數(shù)據(jù),顯示到顯示模塊;5)下位機根據(jù)接受的數(shù)據(jù)發(fā)出命令,設(shè)定執(zhí)行結(jié)構(gòu),執(zhí)行輸出。
系統(tǒng)狀態(tài)圖如圖4所示。
圖4 系統(tǒng)狀態(tài)圖Fig.4 Statechart diagram
UML序列圖(Sequence Diagram)一般用于確認(rèn)和豐富一個環(huán)境的邏輯。一個使用情境就是系統(tǒng)潛在的使用方式的描述,就是它的名稱所要描述的,其邏輯可能是一個用例的一部分,或是一條備選路線;可能是一個貫穿單個用例的完成流程,也可能包含幾個用例中的流程[2]。系統(tǒng)序列圖如圖5所示。
圖5 系統(tǒng)序列圖Fig.5 Sequence diagram
本系統(tǒng)的序列圖對應(yīng)的信息:1)傳感器讀取溫室內(nèi)溫濕度、光照、CO2參數(shù)值;2)下位機接受傳感器數(shù)據(jù),并顯示到顯示模塊;3)下位機可以直接設(shè)置執(zhí)行機構(gòu);4)下位機發(fā)送數(shù)據(jù)到上位機,上位機做出判斷,送出設(shè)定值;5)下位機接受上位機發(fā)送的設(shè)定值,顯示到顯示模塊;6)下位機根據(jù)設(shè)定值發(fā)送命令執(zhí)行輸出機構(gòu),調(diào)整溫室環(huán)境。
該系統(tǒng)以S3C2440為核心,采用UML方法,設(shè)計了一個智能的溫室環(huán)境監(jiān)測系統(tǒng)。實際應(yīng)用表明該系統(tǒng)具有控制參數(shù)設(shè)定方便、控制精度高、穩(wěn)定性好、人機界面友好等特點,有著極高的性價比和可行性。
[1]周長吉.現(xiàn)代溫室工程[M].北京:化學(xué)工業(yè)出版,2003.
[2]吳際,金茂忠.UML面向?qū)ο蠓治鯷M].北京:北京航空航天大學(xué)出版社,2002.
[3]譚濤,徐曉輝,黃曉亮,等.基于Arm-Linux的嵌入式智能家居控制系統(tǒng)的設(shè)計[J].電子設(shè)計工程,2011,3(2):160.TAN Tao,XU Xiao-hui,HUANG Xiao-liang.Design of embedded.intelligent home control system based on Arm-Linux[J].Electronic Desig Engineering,2011,3(2):160.
[4]白玉艷,嚴(yán)偉榆,楊自瓊.基于S3C2440和多傳感器數(shù)據(jù)融合煙葉倉庫溫濕度監(jiān)測系統(tǒng)的設(shè)計[J].安徽農(nóng)業(yè)科學(xué),2012,40(8):5010-5011,5023.BAI Yu-yan,YAN Wei-yu,YANG Zi-qiong.Design of tobacco warehousetemperatureand humiditymonitoringsystem based on S3C2440 and Multi-sensor data fusion[J].Journal of Agri,2012,40(8):5010-5011,5023.
[5]王彬,程雪.一種基于ARM的溫室數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].安徽農(nóng)業(yè)科學(xué),2011,39(12):7466-7467.WANG Bin,CHENG Xue.Design of greenhouse data acquisition system based on Arm[J].Journal of Agri,2011,39(12):7466-7467.
[6]Texas Advanced Optoelectronic Solution Inc.TSI2560.TSI2561 light-to-digitalcoverter[EB/OL].http://www.taosinc.com/productsearch.aspx?srch=TSI2561.
[7]何志勇,趙瑞國,袁軍社.傳感器數(shù)據(jù)庫管理系統(tǒng)設(shè)計[J].火箭推進,2010(6):62-67.HE Zhi-yong,ZHAO Rui-guo,YUAN Jun-she.Design of database management system for transducer[J].Journal of Rocket Propulsion,2010(6):62-67.