王 超, 張廣宇
(1.長(zhǎng)春光華學(xué)院,吉林 長(zhǎng)春 130031;2.中國(guó)聯(lián)通長(zhǎng)春分公司,吉林 長(zhǎng)春 130012)
隨著人民生活水平的提高,對(duì)農(nóng)產(chǎn)品的硬性需求越來(lái)越大,如何實(shí)現(xiàn)“跨時(shí)”、“跨區(qū)”農(nóng)產(chǎn)品的栽種成為重要議題,隨之產(chǎn)生的溫室產(chǎn)業(yè)迅速發(fā)展。
但多數(shù)溫室只是簡(jiǎn)單地利用屏障技術(shù)和高產(chǎn)栽培技術(shù)搭建而來(lái),不僅無(wú)法滿足特殊植物生存條件,更無(wú)法提高農(nóng)產(chǎn)品的品質(zhì)。為改變這種情況,將嵌入式設(shè)備及無(wú)線傳感網(wǎng)絡(luò)引入溫室環(huán)境的搭建,既彌補(bǔ)人力因素缺陷,又提高溫室栽培的條件,實(shí)現(xiàn)溫室環(huán)境的智能化監(jiān)控。
為滿足溫室特殊的環(huán)境條件要求,須實(shí)時(shí)獲取溫室的CO2、溫度、濕度等因素并進(jìn)行有效調(diào)節(jié)。因此,系統(tǒng)設(shè)計(jì)的主要組成部分包括:高速、低能耗、實(shí)時(shí)采集環(huán)境因素的終端采集設(shè)備,匯聚各類信息的協(xié)調(diào)器,便于直觀監(jiān)控的主控系統(tǒng),以及可隨時(shí)查看并遠(yuǎn)程控制的手持終端設(shè)備。
系統(tǒng)總體設(shè)計(jì)主要包括:zigbee終端節(jié)點(diǎn)、zigbee協(xié)調(diào)器、PC機(jī)、A8嵌入式設(shè)備4個(gè)部分。終端節(jié)點(diǎn)數(shù)量眾多,主要用于采集溫室的各類環(huán)境因素;協(xié)調(diào)器匯聚各節(jié)點(diǎn)采集信息并分時(shí)傳送給上位機(jī);上位機(jī)顯示獲取的溫室環(huán)境因素,也可人為直接控制終端節(jié)點(diǎn);A8嵌入式設(shè)備便于攜帶,可通過(guò)無(wú)線網(wǎng)絡(luò)訪問(wèn)上位機(jī)實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)及控制。環(huán)境系統(tǒng)監(jiān)控原理框圖如圖1所示。
圖1 環(huán)境系統(tǒng)監(jiān)控原理框圖
系統(tǒng)主控設(shè)備主要包括上位機(jī)和嵌入式系統(tǒng),上位機(jī)便于實(shí)時(shí)人為監(jiān)控溫室環(huán)境,嵌入式系統(tǒng)便于攜帶,并采用無(wú)線方式進(jìn)行通信。嵌入式測(cè)控設(shè)備采用cortex-a8體系下的S5PV210,又名“蜂鳥(niǎo)”,主頻達(dá)到1GHz,32/32KB的數(shù)據(jù)/指令一級(jí)緩存,512KB的二級(jí)緩存,運(yùn)行速度可達(dá)每秒2億條指令,適用于手持式便攜設(shè)備,如平板、手機(jī)等設(shè)備。內(nèi)存512M,flash為256M的nand flash,完美運(yùn)行Linux操作系統(tǒng)。具體設(shè)計(jì)流程如圖2所示。
圖2 系統(tǒng)設(shè)計(jì)原理框圖
目前用于設(shè)計(jì)無(wú)線傳感網(wǎng)絡(luò)的主流網(wǎng)絡(luò)協(xié)議有藍(lán)牙,Zigbee[1]等為滿足無(wú)線穩(wěn)定傳輸、降低功耗、多元化控制等需求,本設(shè)計(jì)在終端節(jié)點(diǎn)和協(xié)調(diào)器硬件設(shè)計(jì)中采用zigbee cc2530作為核心主控芯片。Zigbee無(wú)線傳感器網(wǎng)絡(luò)具有低功耗、低成本、分布式和自組織的特點(diǎn)[2],工作在工業(yè)科學(xué)醫(yī)療(ISM)頻段,有915/868MHz及2.4GHz,其中915MHz頻段用于美國(guó),868MHz頻段用于歐洲,2.4GHz頻段則是全球通用[3]。
無(wú)線網(wǎng)絡(luò)的搭建方式多樣化,符合不同場(chǎng)所應(yīng)用,主要網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括以下3種:星型網(wǎng)絡(luò)、樹(shù)簇型網(wǎng)絡(luò)、網(wǎng)型網(wǎng)絡(luò)[4]。本系統(tǒng)設(shè)計(jì)采用星形網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)組網(wǎng)簡(jiǎn)單,既降低成本,又滿足基本無(wú)線網(wǎng)絡(luò)傳輸性能需求,可根據(jù)需要多點(diǎn)投放終端節(jié)點(diǎn)監(jiān)測(cè)溫室內(nèi)不同區(qū)域的溫濕度、CO2濃度、光照強(qiáng)度等環(huán)境因素[5]。
硬件設(shè)計(jì)中傳感器主要包括:DHT11(溫濕度傳感器),MG811(電壓型CO2濃度傳感器),BH1750FVI(數(shù)字式光照強(qiáng)度傳感器)。各傳感器連接在終端節(jié)點(diǎn)分散在溫室內(nèi),實(shí)時(shí)獲取溫室環(huán)境條件,該系統(tǒng)采用電池供電,便于移動(dòng)節(jié)點(diǎn)動(dòng)態(tài)測(cè)量。
溫室環(huán)境監(jiān)測(cè)系統(tǒng)的軟件設(shè)計(jì)主要包括:上位機(jī)測(cè)控界面、嵌入式設(shè)備的圖形控制界面2個(gè)部分。上位機(jī)界面采用VC++6.0軟件完成,該軟件兼容性好、操作簡(jiǎn)單,各類型的軟件接口齊全。上位機(jī)界面通過(guò)MSComm串口通信控件實(shí)時(shí)獲取協(xié)調(diào)器的信息,協(xié)調(diào)器匯聚各終端節(jié)點(diǎn)傳感器采集的環(huán)境參數(shù)。
軟件設(shè)計(jì)流程包括:
1)初始化設(shè)備,主要包括上位機(jī)界面初始化、協(xié)調(diào)器與界面間的有線通信,以及zigbee組建無(wú)線網(wǎng)絡(luò);
2)上位機(jī)建立服務(wù)器并通過(guò)串口向協(xié)調(diào)器發(fā)送鏈接命令等待應(yīng)答;
3)上位機(jī)向協(xié)調(diào)器發(fā)送字符串命令詢問(wèn)終端節(jié)點(diǎn)采集的環(huán)境參數(shù);
4)上位機(jī)接收并實(shí)現(xiàn)來(lái)自協(xié)調(diào)器匯總的環(huán)境參數(shù)[6]。具體流程如圖3所示。
在嵌入式S5PV210系統(tǒng)中運(yùn)行ubuntu版本的linux操作系統(tǒng),該系統(tǒng)具備開(kāi)源、功能齊全、可裁剪等優(yōu)勢(shì)。設(shè)計(jì)控制界面時(shí)采用GTK+ 圖形界面工具,GTK+ 是一種圖形用戶界面(GUI)工具包,該工具包涵蓋了若干個(gè)基于GUI的應(yīng)用庫(kù),支持多種不同類型的操作系統(tǒng),如 WINDOWS,LINUX等,該圖像工具提供大量C語(yǔ)言編程接口,提高了系統(tǒng)可移植性[7]。GTK界面通過(guò)建立的分欄列表顯示信息,信息的獲取通過(guò)方式上采用無(wú)線局域網(wǎng)(WiFi),該方式無(wú)需成本、穩(wěn)定性高、斷線自動(dòng)連接[8]。
軟件設(shè)計(jì)流程包括:
1)初始化GTK界面,主要包括建立windows主窗口和副窗口;
2)在主副窗口下創(chuàng)建如標(biāo)簽、按鍵等各類控件,控件用于實(shí)時(shí)刷新顯示環(huán)境參數(shù);
3)登陸上位機(jī)服務(wù)器,將匯聚的環(huán)境參數(shù)通過(guò)無(wú)線網(wǎng)絡(luò)傳送到嵌入式設(shè)備界面;
4)實(shí)時(shí)更新并監(jiān)控溫室環(huán)境中的溫濕度、光照強(qiáng)度及CO2濃度。
具體軟件設(shè)計(jì)流程如圖4所示。
圖3 上位機(jī)界面開(kāi)發(fā)流程 圖4 嵌入式GTK界面開(kāi)發(fā)流程
該系統(tǒng)的無(wú)線網(wǎng)絡(luò)終端節(jié)點(diǎn)和協(xié)調(diào)器體積小、功耗低、可移動(dòng),只需一次性搭建并可長(zhǎng)期監(jiān)測(cè)。溫室環(huán)境置于無(wú)線局域網(wǎng)范圍內(nèi),上位機(jī)和嵌入式系統(tǒng)都可移動(dòng)監(jiān)測(cè)溫室環(huán)境因素,上位機(jī)界面擁有測(cè)控環(huán)境的最高優(yōu)先級(jí),各終端節(jié)點(diǎn)也具備一定的處理能力,本身在網(wǎng)絡(luò)故障情況下將啟動(dòng)預(yù)設(shè)控制方案,觀測(cè)者也可手持嵌入式系統(tǒng)隨時(shí)測(cè)控溫室環(huán)境參數(shù)。因此,該系統(tǒng)在溫室環(huán)境測(cè)控領(lǐng)域具備一定的價(jià)值和意義。
[1]何文德,楊鳳年,劉光燦.無(wú)線傳感器網(wǎng)絡(luò)在文物保護(hù)中的應(yīng)用[J].計(jì)算技術(shù)與自動(dòng)化,2007,26(2):99-101,106.
[2]蔡志華,向宇坷,陳超,等.溫室大棚自動(dòng)控制系統(tǒng)設(shè)計(jì)[J].儀器儀表用戶,2010(4):25-28.
[3]張玲,李磊民,黃玉清.藍(lán)牙無(wú)線傳感器網(wǎng)絡(luò)在谷倉(cāng)監(jiān)控中的應(yīng)用[J].傳感器與微系統(tǒng),2008,27(5):111-113.
[4]羅武勝,魯琴,張勇.超寬帶無(wú)線傳感器網(wǎng)絡(luò) MAC協(xié)議[J].計(jì)算機(jī)工程,2008,38(11):108-11.
[5]高峰,俞立,盧尚瓊,等.國(guó)外設(shè)施農(nóng)業(yè)的現(xiàn)狀及發(fā)展趨勢(shì)[J].浙江林學(xué)院學(xué)報(bào),2009,26(2):279-285.
[6]徐小濤,黃秋實(shí),吳延林,等.基于ZigBee的 WPAN網(wǎng)絡(luò)配置應(yīng)用[J].今日電子,2009(7):78-79.
[7]張同光,潘紅.Linux中GTK+編程技術(shù)研究及其應(yīng)用[J].軟件導(dǎo)刊,2007,15:121-125.
[8]羅賢全,尚朝軒,高勤.用GTK開(kāi)發(fā)Linux嵌入式GUI應(yīng)用程序[J].微計(jì)算機(jī)信息,2004(6):89-92.