《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于無(wú)線傳感器網(wǎng)絡(luò)的溫室環(huán)境監(jiān)控系統(tǒng)研究
基于無(wú)線傳感器網(wǎng)絡(luò)的溫室環(huán)境監(jiān)控系統(tǒng)研究
來(lái)源:微型機(jī)與應(yīng)用2010年第9期
董永勝
(安徽理工大學(xué) 電氣與信息工程學(xué)院,,安徽 淮南 232001)
摘要: 為在完成溫室內(nèi)環(huán)境參數(shù)的自動(dòng)采集和調(diào)控,,設(shè)計(jì)了基于無(wú)線傳感器網(wǎng)絡(luò)的溫室環(huán)境監(jiān)控方案,。介紹了溫室監(jiān)控系統(tǒng)整體結(jié)構(gòu),,分析了基于CC2431無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件設(shè)計(jì),,并在此基礎(chǔ)上進(jìn)行了TinyOS操作系統(tǒng)的移植和節(jié)點(diǎn)的軟件設(shè)計(jì),。由于該無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)具有功耗低,、體積小,、工作可靠,、易于擴(kuò)展等優(yōu)點(diǎn),,基于該無(wú)線傳感器網(wǎng)絡(luò)的溫室環(huán)境監(jiān)控方案有很好的應(yīng)用前景。
Abstract:
Key words :

摘  要: 為在完成溫室內(nèi)環(huán)境參數(shù)的自動(dòng)采集和調(diào)控,,設(shè)計(jì)了基于無(wú)線傳感器網(wǎng)絡(luò)溫室環(huán)境監(jiān)控方案,。介紹了溫室監(jiān)控系統(tǒng)整體結(jié)構(gòu),分析了基于CC2431無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件設(shè)計(jì),,并在此基礎(chǔ)上進(jìn)行了TinyOS操作系統(tǒng)的移植和節(jié)點(diǎn)的軟件設(shè)計(jì),。由于該無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)具有功耗低、體積小,、工作可靠,、易于擴(kuò)展等優(yōu)點(diǎn),基于該無(wú)線傳感器網(wǎng)絡(luò)的溫室環(huán)境監(jiān)控方案有很好的應(yīng)用前景,。
關(guān)鍵詞: 溫室環(huán)境監(jiān)控,;無(wú)線傳感器網(wǎng)絡(luò);傳感器節(jié)點(diǎn),;CC2431,;TinyOS

    在日常生活中,溫室環(huán)境種植已經(jīng)是人們生活中很常見(jiàn)的一個(gè)例子,。傳統(tǒng)的溫室環(huán)境種植都是通過(guò)在溫室內(nèi)布置復(fù)雜的電線及相關(guān)的控制設(shè)備來(lái)實(shí)現(xiàn)對(duì)溫室環(huán)境的調(diào)控,。這為對(duì)農(nóng)作物進(jìn)行施肥等活動(dòng)造成了障礙,可能會(huì)在這些活動(dòng)中把電線弄斷,,從而給系統(tǒng)通信帶來(lái)問(wèn)題,。而利用無(wú)線傳感器網(wǎng)絡(luò)不需要經(jīng)過(guò)布線這個(gè)環(huán)節(jié),避免了相關(guān)問(wèn)題的出現(xiàn),,達(dá)到了對(duì)溫室環(huán)境進(jìn)行監(jiān)控的要求,,同時(shí)由于采用了基于CC2431的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行設(shè)計(jì),,達(dá)到了無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)時(shí)外形小、集成度高,、功耗低,、速度快、成本低的要求,。
1 溫室環(huán)境監(jiān)控系統(tǒng)整體結(jié)構(gòu)
    溫室環(huán)境監(jiān)控系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示,,網(wǎng)絡(luò)中采用傳感器測(cè)量節(jié)點(diǎn)和具有簡(jiǎn)單執(zhí)行控制功能的控制節(jié)點(diǎn)構(gòu)成無(wú)線傳感器網(wǎng)絡(luò)。測(cè)量節(jié)點(diǎn)用來(lái)測(cè)量空氣溫度,、濕度,、光照強(qiáng)度等重要環(huán)境數(shù)據(jù),控制節(jié)點(diǎn)(能對(duì)調(diào)溫,、調(diào)濕等設(shè)備進(jìn)行相關(guān)控制)用來(lái)接收計(jì)算機(jī)傳來(lái)的遠(yuǎn)程控制信息,,以便對(duì)溫室環(huán)境參數(shù)進(jìn)行適當(dāng)調(diào)控。測(cè)量節(jié)點(diǎn)采集的數(shù)據(jù)沿著其他測(cè)量節(jié)點(diǎn)通過(guò)多跳的方式進(jìn)行傳輸,,在傳輸過(guò)程中監(jiān)測(cè)數(shù)據(jù)可能被多個(gè)測(cè)量節(jié)點(diǎn)處理,,信息經(jīng)由多跳路由后到達(dá)匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)將接收到的數(shù)據(jù)直接上傳到計(jì)算機(jī),,所有數(shù)據(jù)都由計(jì)算機(jī)進(jìn)行復(fù)雜的數(shù)字信號(hào)處理,,并通過(guò)數(shù)據(jù)庫(kù)對(duì)傳感器網(wǎng)絡(luò)進(jìn)行配置和管理,發(fā)布監(jiān)測(cè)任務(wù)和收集監(jiān)測(cè)數(shù)據(jù)等信息,,最后這些數(shù)據(jù)還可以通過(guò)Internet與遠(yuǎn)程控制中心進(jìn)行交互,,從而實(shí)現(xiàn)溫室環(huán)境的遠(yuǎn)程監(jiān)控。

2 CC2431簡(jiǎn)介
    CC2431是TI公司的產(chǎn)品,,它是一個(gè)真正的基于無(wú)線傳感器網(wǎng)絡(luò)ZigBee/IEEE802.15.4解決方案的片上系統(tǒng),,其內(nèi)部集成了CC2420射頻收發(fā)器,工業(yè)標(biāo)準(zhǔn)增強(qiáng)型8051 MCU內(nèi)核,,128 KB可編程閃存,,8 KB的RAM,精確的定位引擎等豐富的片內(nèi)資源,,支持硬件調(diào)試,,支持基于IAR7.20以上C51開(kāi)發(fā)環(huán)境下的在線調(diào)試,提供強(qiáng)大,、靈活的開(kāi)發(fā)工具。CC2431體積小,、功耗低,、集成度高,非常適合于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì),。它可工作在4種工作模式下,,且工作模式之間的轉(zhuǎn)換時(shí)間較短,,因而能夠滿足超低功耗系統(tǒng)設(shè)計(jì)的要求。
3 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件
    傳感器網(wǎng)絡(luò)節(jié)點(diǎn)由傳感器測(cè)量節(jié)點(diǎn),、控制節(jié)點(diǎn)和匯聚節(jié)點(diǎn)組成,。測(cè)量節(jié)點(diǎn)負(fù)責(zé)采集周?chē)h(huán)境信息,采集的環(huán)境信息經(jīng)多跳路由后到達(dá)匯聚節(jié)點(diǎn),,最終通過(guò)Internet到達(dá)控制中心,。控制節(jié)點(diǎn)用來(lái)接收計(jì)算機(jī)傳來(lái)的遠(yuǎn)程控制信息,,對(duì)溫室環(huán)境參數(shù)進(jìn)行調(diào)控,。
3.1 測(cè)量節(jié)點(diǎn)硬件
    傳感器測(cè)量節(jié)點(diǎn)由傳感器模塊、微處理器模塊,、無(wú)線通信模塊和電源模塊組成,。其硬件結(jié)構(gòu)框圖如圖2所示。


    (1)傳感器模塊,。由不同類(lèi)型的傳感芯片組成,,具有對(duì)溫度、濕度和光照強(qiáng)度的感知能力,。其中溫,、濕度傳感器采用I2C總線數(shù)字式溫、濕度傳感器SHTll,,其體積小,、能耗低、兩線數(shù)字接口,、溫度量程為-40℃~85℃,、相對(duì)濕度量程為0%~100%RH。光照強(qiáng)度傳感器選用TSL2550D,,其功耗可以滿足無(wú)線傳感器低功耗系統(tǒng)設(shè)計(jì)的要求,,其總線也易于與CC2431接口。
    (2)微處理器模塊,。采用集成在CC2431內(nèi)部的8051 CPU,。集成的CPU有4種不同的內(nèi)存空間:代碼區(qū)、數(shù)據(jù)區(qū),、擴(kuò)展數(shù)據(jù)區(qū)和特殊功能寄存器區(qū),,不同的內(nèi)存空間有利于代碼和數(shù)據(jù)的分離,提高CPU對(duì)內(nèi)存的訪問(wèn)速度,。
    (3)無(wú)線通信模塊
    ①傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在通信時(shí)消耗了大量的能量,,選擇一款低功耗的無(wú)線通信芯片將有效地降低通信模塊的能量消耗。CC2431是一款符合ZigBee標(biāo)準(zhǔn)的低功耗通信芯片,,具有快速喚醒和搜索外部設(shè)備功能,,可以使節(jié)點(diǎn)更多地處于休眠狀態(tài)而節(jié)約功耗,,而且其信道頻率和功耗等參數(shù)可以靈活設(shè)置。CC2431通信模塊的天線考慮到無(wú)線傳感器網(wǎng)絡(luò)通信質(zhì)量的要求,,采用單極性天線,,單極性天線在差分輸出與天線之間要求使用“平衡-不平衡變壓器”。
    ②無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)電源為電池供電系統(tǒng),,選用的電池為手機(jī)專(zhuān)用鋰電池,。為了使系統(tǒng)在電池供電時(shí),工作時(shí)間持續(xù)長(zhǎng),,在設(shè)計(jì)電源模塊時(shí)要考慮到節(jié)點(diǎn)的節(jié)能問(wèn)題,。CC2431提供4種電源管理模式:PM0、PM1,、PM2和PM3,,合理地使用這4種模式可有效地降低節(jié)點(diǎn)的能耗。
    ③LED燈用于顯示傳感器節(jié)點(diǎn)的運(yùn)行狀態(tài),。
    (4)電源模塊,。為其他模塊提供能源。
3.2 控制節(jié)點(diǎn)
    控制節(jié)點(diǎn)由驅(qū)動(dòng)器模塊,、微處理器模塊,、無(wú)線通信模塊和電源模塊組成。驅(qū)動(dòng)器模塊能對(duì)調(diào)溫,、調(diào)濕等設(shè)備進(jìn)行相關(guān)控制,,其硬件結(jié)構(gòu)框圖如圖3所示。

3.3 匯聚節(jié)點(diǎn)的硬件研究
    匯聚節(jié)點(diǎn)由微處理器模塊,、無(wú)線通信模塊,、存儲(chǔ)器模塊、以太網(wǎng)接口模塊,、串行接口模塊和電源模塊組成,,其硬件結(jié)構(gòu)框圖如圖4所示。

    (1)存儲(chǔ)器模塊由1片Atmel公司出品的AT45DB041組成,,直接接入CC2431 SPI輸入端,。該芯片集成2 046頁(yè)×264 B Flash存儲(chǔ)單元,用于存儲(chǔ)傳感器重要?dú)v史數(shù)據(jù),。
    (2)為提供以太網(wǎng)的接入通道,,在該設(shè)計(jì)中,使用DM9161作為以太網(wǎng)的物理層接口,。DM9161是一款低功耗,、高性能的CMOS 芯片,支持10 MB/s和100 MB/s的以太網(wǎng)傳輸,它起編碼,、譯碼、輸入和輸出數(shù)據(jù)的作用,,這樣就可以將匯聚節(jié)點(diǎn)輕松連接到因特網(wǎng)以便于實(shí)現(xiàn)遠(yuǎn)程控制,。
    (3)串行接口模塊由1片低功耗MAX3232和COM母口組成。CC2431串口端接入MAX3232進(jìn)行電平轉(zhuǎn)換,,通過(guò)COM口與計(jì)算機(jī)進(jìn)行通信,。
    (4)由于匯聚節(jié)點(diǎn)需要融合處理所有采集節(jié)點(diǎn)采集的數(shù)據(jù),并且需要將數(shù)據(jù)經(jīng)過(guò)較遠(yuǎn)的距離傳輸?shù)接?jì)算機(jī),,因而能量消耗較大,,因此其電源采用從市電轉(zhuǎn)換后介入的方式供電。
    (5)LED燈用于顯示匯聚節(jié)點(diǎn)的運(yùn)行狀態(tài),。
4 TinyOS操作系統(tǒng)的移植
    嵌入式操作系統(tǒng)能夠簡(jiǎn)化嵌入式系統(tǒng)的開(kāi)發(fā),,確保程序運(yùn)行的穩(wěn)定性和可靠性,便于程序的維護(hù)和更新,,但是由于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)是一個(gè)小型嵌入式系統(tǒng),,其硬件資源非常有限,需要高效利用其有限的內(nèi)存,、處理器和通信模塊,,并且最大限度地減少系統(tǒng)能耗,延長(zhǎng)節(jié)點(diǎn)的使用壽命,,因此傳統(tǒng)的嵌入式操作系統(tǒng)不能滿足其要求,。基于此,,本文移植了針對(duì)無(wú)線傳感器網(wǎng)絡(luò)特點(diǎn)而開(kāi)發(fā)的操作系統(tǒng)TinyOS,。
4.1 TinyOS簡(jiǎn)介
    TinyOS是加州大學(xué)伯克利分校開(kāi)發(fā)的一種典型的無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng),通過(guò)nesC語(yǔ)言可以開(kāi)發(fā)基于TinyOS的應(yīng)用程序,。TinyOS設(shè)計(jì)的目標(biāo)就是代碼量小,、耗能低、并發(fā)性高,、魯棒性好,,可以適應(yīng)不同的應(yīng)用,采用輕量級(jí)線程技術(shù),,事件驅(qū)動(dòng)模式,,組件化編程等,從而使其成為面向無(wú)線傳感器網(wǎng)絡(luò)的操作系統(tǒng),。TinyOS提供了Main配件,,以及針對(duì)某些硬件的感知組件、執(zhí)行組件、通信組件和硬件抽象組件,。在這些組件的基礎(chǔ)上,,用戶可以定制開(kāi)發(fā)應(yīng)用組件,然后將所有組件連接起來(lái),,就構(gòu)成了整個(gè)應(yīng)用程序,。
4.2 TinyOS的移植
    TinyOS操作系統(tǒng)有很多版本,要移植的是TinyOS 2.0版本,,采用的編譯器是Keil,。TinyOS 2.0必須在Linux平臺(tái)下才能工作,而Keil則是一個(gè)Windows下的軟件,,因此,,要安裝一個(gè)在Windows平臺(tái)上運(yùn)行的模擬linux開(kāi)發(fā)環(huán)境的軟件——Cygwin。下面具體介紹移植步驟:
    (1)安裝SmartRF04 Flash Programmer,、Keil,、Java 1.5 JDK、Cygwin軟件,;
    (2)下載TinyOS開(kāi)發(fā)必備的編譯工具的安裝包,;
    (3)啟動(dòng)Cygwin,并在Cygwin下安裝下載好的編譯工具安裝包,;
    (4)安裝TinyOS 2.0,。
    將下載好的TinyOS 2.0的安裝包解壓縮,將解壓好的tinyos-2.0-contrib文件夾拷貝到Cygwin\opt目錄下,,此時(shí)已經(jīng)搭建好了TinyOS的開(kāi)發(fā)環(huán)境,。所有的例子都在tinyos-2.0-contrib/diku/common/apps/下面。以BlinkNoTimerTask為例,,在Cygwin下面輸入:cd/diku/common/apps/BlinkNoTimerTask,,然后回車(chē)輸入:make cc2431em,如果順利的話,,TinyOS將被編譯生成app.hex文件,,只要把這個(gè)文件燒錄進(jìn)單片機(jī)就可以了。
    (5)燒錄
    插好仿真器,,打開(kāi)SmartRF04 Flash Programmer軟件,,在System-on-Chip選項(xiàng)卡下選擇app.hex文件,然后選擇“Perform actions”就可以順序燒寫(xiě)了,,燒寫(xiě)成功后,,TinyOS就成功移植到CC2431上了。
5 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的軟件設(shè)計(jì)
    傳感器測(cè)量節(jié)點(diǎn)的主要功能就是接收PC機(jī)采集數(shù)據(jù)的指令,、采集數(shù)據(jù),,然后將采集的數(shù)據(jù)通過(guò)無(wú)線信道發(fā)送出去,。匯聚節(jié)點(diǎn)的功能就是創(chuàng)建無(wú)線網(wǎng)絡(luò),配置網(wǎng)絡(luò)節(jié)點(diǎn)屬性,,接收傳感器測(cè)量節(jié)點(diǎn)采集的數(shù)據(jù),,然后通過(guò)串口上傳到計(jì)算機(jī)。傳感器測(cè)量節(jié)點(diǎn)程序結(jié)構(gòu)流程圖如圖5所示,,匯聚節(jié)點(diǎn)程序結(jié)構(gòu)流程圖如圖6所示,。

    在農(nóng)業(yè)生產(chǎn)中,隨著規(guī)?;?jīng)營(yíng)的出現(xiàn),可能會(huì)建有很多個(gè)溫室,,根據(jù)應(yīng)用的設(shè)計(jì),,在每個(gè)溫室中都建有一個(gè)無(wú)線傳感器網(wǎng)絡(luò),由于溫室中的環(huán)境都比較相似,,因而,,每個(gè)溫室中的無(wú)線傳感器網(wǎng)絡(luò)的功能和技術(shù)也都是一樣的。如果所有溫室都通過(guò)控制中心的計(jì)算機(jī)來(lái)進(jìn)行統(tǒng)一管理,,可以大大提高了工作效率,,使溫室管理更加科學(xué),控制更加簡(jiǎn)單,,從而達(dá)到提高作物產(chǎn)量,、改善品質(zhì)、調(diào)節(jié)生長(zhǎng)周期,、提高經(jīng)濟(jì)效益的最終目的,。而本文介紹的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)具有功耗低、體積小,、工作可靠,、易于擴(kuò)展等優(yōu)點(diǎn),基于該無(wú)線傳感器網(wǎng)絡(luò)的溫室環(huán)境監(jiān)控方案將會(huì)有很好的應(yīng)用前景,。
參考文獻(xiàn)
[1] 劉玉英,,史旺旺.基于CC2430溫濕度監(jiān)測(cè)的無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,,25(10):130-131.
[2] 李昊生,,王汝傳,沙超.基于CC2431的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)[J].電子工程師,,2008,,34(12):63-67.
[3] 莊雄,楊永明,,丁偉.基于CC2431的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2008,34(6):98-101.
[4] 張保華,李士寧,,滕文星,,等.基于無(wú)線傳感器網(wǎng)絡(luò)的溫室測(cè)控系統(tǒng)研究設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2008,,25(5):154-157.
[5] 宋寶業(yè),,許琳.帶定位引擎的射頻芯片CC2431[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(11):44-46.
[6] 王殊,,閻毓杰,,胡富平,等.無(wú)線傳感器網(wǎng)絡(luò)的理論及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。