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