基于嵌入式網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)平臺軟硬件設(shè)計(jì)
隨著技術(shù)的發(fā)展,基于分布式、無線傳感器網(wǎng)絡(luò)的應(yīng)用也越來越多。本文提出了一個基于嵌入式系統(tǒng)的無線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)平臺,該實(shí)驗(yàn)平臺在無線傳感器網(wǎng)絡(luò)的算法和協(xié)議驗(yàn)證方面具有良好的應(yīng)用前景。
集成電路、微機(jī)電系統(tǒng)以及通信理論的發(fā)展促使了無線傳感器網(wǎng)絡(luò)的出現(xiàn)。這種無線傳感器網(wǎng)絡(luò)是由很多自給供電的傳感器節(jié)點(diǎn)組成的。每個傳感器節(jié)點(diǎn)都可以進(jìn)行周圍環(huán)境數(shù)據(jù)的采集、簡單計(jì)算以及與其它節(jié)點(diǎn)及外界進(jìn)行通信。傳感器網(wǎng)絡(luò)的多節(jié)點(diǎn)特性使得眾多的傳感器可以通過協(xié)同工作進(jìn)行高質(zhì)量的傳感,以及組成一個容錯性好的的采集系統(tǒng)。正是由于這些優(yōu)點(diǎn),近年來出現(xiàn)了許多基于分布式的無線傳感器網(wǎng)絡(luò)應(yīng)用,如搶險(xiǎn)救災(zāi)、智能家居以及生物化學(xué)武器攻擊的探測和救援。
然而,作為一種新興出現(xiàn)的技術(shù),建立一個運(yùn)轉(zhuǎn)良好、魯棒性好的無線傳感器網(wǎng)絡(luò)還是面臨著許多挑戰(zhàn)。而且由于它的一些獨(dú)特特性,無線傳感器網(wǎng)絡(luò)的設(shè)計(jì)方法與現(xiàn)有無線網(wǎng)絡(luò)的設(shè)計(jì)方法有很大不同。例如,由于傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)分布密集,所以需要大范圍的數(shù)據(jù)管理和處理技術(shù)。其次,無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)一般部署在人類難以到達(dá)和接觸的區(qū)域,這就使傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的維護(hù)面臨著很大的挑戰(zhàn)。除此之外,電源消耗也是一個很重要的問題,無線傳感器節(jié)點(diǎn)作為微小器件,只能配備有限的電源,在有些應(yīng)用場合下,更換電源是近乎不可能的。這使得傳感器節(jié)點(diǎn)的壽命在很大程度上依賴于電池的壽命,所以降低功耗以延長系統(tǒng)的壽命是無線傳感器網(wǎng)絡(luò)設(shè)計(jì)需要首要考慮的問題。許多無線傳感器網(wǎng)絡(luò)方面的研究人員都在注重研究新的節(jié)約功耗的協(xié)議和算法,這些協(xié)議和算法需要傳感器網(wǎng)絡(luò)平臺進(jìn)行實(shí)驗(yàn)和驗(yàn)證。在本文中,我們就將介紹一種對協(xié)議和算法進(jìn)行實(shí)驗(yàn)和驗(yàn)證的無線傳感器網(wǎng)絡(luò)平臺。
無線傳感器網(wǎng)絡(luò)平臺架構(gòu)
一般來說,一個無線傳感器網(wǎng)絡(luò)包括傳感器節(jié)點(diǎn)以及傳感器網(wǎng)絡(luò)網(wǎng)關(guān)節(jié)點(diǎn),如圖1所示。網(wǎng)關(guān)節(jié)點(diǎn)用于組合從各個傳感器節(jié)點(diǎn)得到的數(shù)據(jù)以及負(fù)責(zé)與外界的通信,該節(jié)點(diǎn)基于嵌入式系統(tǒng)。
傳感器節(jié)點(diǎn)首先采集諸如聲、光和距離等環(huán)境相關(guān)的數(shù)據(jù),并對這些數(shù)據(jù)進(jìn)行簡單處理后傳送到網(wǎng)關(guān)節(jié)點(diǎn)。無線傳感器網(wǎng)絡(luò)通常具有兩種應(yīng)用模式:主動輪詢模式、被動模式。主動模式要求網(wǎng)關(guān)節(jié)點(diǎn)對各個傳感器節(jié)點(diǎn)進(jìn)行主動的輪詢以獲得消息,而被動模式則要求在某個傳感器節(jié)點(diǎn)事件發(fā)生時,網(wǎng)關(guān)節(jié)點(diǎn)能作出及時的響應(yīng)。各個傳感器節(jié)點(diǎn)得到的數(shù)據(jù)還能進(jìn)行組合,這也很大地提高了傳感器網(wǎng)絡(luò)的效率。當(dāng)然這也要求傳感器節(jié)點(diǎn)要具有一定的計(jì)算能力。
系統(tǒng)硬件實(shí)現(xiàn)
在本文介紹的系統(tǒng)架構(gòu)中,主要需要實(shí)現(xiàn)的是傳感器節(jié)點(diǎn)和網(wǎng)關(guān)的硬件平臺,下面介紹這兩個平臺的硬件實(shí)現(xiàn)。
1. 傳感器節(jié)點(diǎn)的硬件實(shí)現(xiàn)
傳感器節(jié)點(diǎn)的功能是采集人們感興趣的數(shù)據(jù),并將數(shù)據(jù)發(fā)送給各個傳感器節(jié)點(diǎn)組的網(wǎng)關(guān)。傳感器節(jié)點(diǎn)主要由電源模塊、計(jì)算模塊、存儲單元、通信模塊和傳感單元組成,如圖2所示。
傳感器節(jié)點(diǎn)的計(jì)算單元的功能已經(jīng)在上節(jié)中介紹過,在我們的系統(tǒng)中采用了TI 公司的16位微控制器MSP430F149。MSP430具有豐富的片上存儲資源,在5 MHz的工作頻率下,MSP430的功耗大約為1.5mW,而且該微控制器還有多種省電模式可供選擇。除了豐富的片上存儲資源和多種省電模式以外,MSP430還具有多個AD接口和I/O數(shù)據(jù)線,使之很容易用軟件編程,這些接口還可以用作與傳感單元的接口。
傳感器節(jié)點(diǎn)的通信模塊的功能是由nRF903 射頻收發(fā)器來實(shí)現(xiàn)。該收發(fā)器所具有的低功耗和小尺寸使之非常適合用于無線傳感器網(wǎng)絡(luò)系統(tǒng)中,該收發(fā)器可以工作在433MHz、868MHz、915MHz 等公共頻段中。射頻模塊通過串口與MSP430通信。nRF903還可以根據(jù)輸入電流來決定傳輸功率,這一特性使之具有以下優(yōu)點(diǎn):
a. 可以使一個節(jié)點(diǎn)自動調(diào)整通信的相鄰節(jié)點(diǎn)的個數(shù),從而使得整個網(wǎng)絡(luò)的規(guī)模可調(diào)。
b. 可以使一個節(jié)點(diǎn)在與相對較近的節(jié)點(diǎn)通信時,使用較少的能量。
c. 可以被輔助用來進(jìn)行無線信道的沖突檢測。
d. 可以用來確定一個節(jié)點(diǎn)在網(wǎng)絡(luò)中的相對位置。
每個傳感器節(jié)點(diǎn)采用AA電池供電。
2. 網(wǎng)關(guān)的硬件實(shí)現(xiàn)
網(wǎng)關(guān)的硬件部分主要由中央處理單元、存儲單元、射頻收發(fā)模塊和GPRS通信模塊組成,如圖3所示。
網(wǎng)關(guān)的中央處理單元主要用來處理從傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)以及完成一些控制功能。中央處理單元的主要器件是Atmel 公司的AT91RM9200 微處理器,AT91RM9200是基于ARM920T 指令集的ARM處理器。該處理器具有豐富的外設(shè)以及接口,這使得它在低成本、低功耗的條件下能完成一些功能豐富的應(yīng)用。AT91RM9200處理器集成了許多外設(shè)接口,包括USB2.0接口和以太網(wǎng)接口。此外,該處理器還提供了多個符合工業(yè)標(biāo)準(zhǔn)的通信接口,包括音頻、電信、閃存卡、紅外、智能卡接口等。
為了將采集到的數(shù)據(jù)傳輸?shù)交ヂ?lián)網(wǎng)上,網(wǎng)關(guān)設(shè)備還配有GPRS通信單元,GPRS通信單元主要是由 索尼-愛立信公司的GM47模塊組成,該模塊通過中國移動現(xiàn)成的GPRS網(wǎng)絡(luò)將傳感器采集到的數(shù)據(jù)傳輸?shù)幕ヂ?lián)網(wǎng)上,用戶可以通過普通PC和GPRS手機(jī)終端來觀測傳感器采集到的數(shù)據(jù)。網(wǎng)關(guān)同時還配有與傳感器節(jié)點(diǎn)相同的RF收發(fā)模塊,用于接受傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。
系統(tǒng)的軟件結(jié)構(gòu)
在我們的無線傳感器網(wǎng)絡(luò)系統(tǒng)中,軟件部分主要是在網(wǎng)關(guān)和傳感器節(jié)點(diǎn)上。網(wǎng)關(guān)端的軟件主要完成的功能是處理和管理傳感器節(jié)點(diǎn)傳輸過來的數(shù)據(jù),它主要由GPRS通信軟件、RF通信軟件、命令行軟件以及任務(wù)管理軟件組成,如圖4所示。
考慮到各種需求,我們采用開源的操作系統(tǒng)-Linux。Linux是一個網(wǎng)絡(luò)化的操作系統(tǒng)環(huán)境,特別適用于網(wǎng)絡(luò)應(yīng)用。Linux具有完整的TCP/IP協(xié)議棧,同時???持其它多種網(wǎng)絡(luò)協(xié)議,如PPP協(xié)議棧,使其很容易實(shí)現(xiàn)GPRS撥號的功能。由于Linux的開源特性,用戶很容易在其基礎(chǔ)上開發(fā)自己的應(yīng)用程序。
傳感器節(jié)點(diǎn)上的軟件主要利用匯編和C語言開發(fā),主要完成的功能是接受傳感單元的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到傳感器節(jié)點(diǎn)組的網(wǎng)關(guān)上。
本文小結(jié)
本文介紹了一個用于嵌入式系統(tǒng)的無線傳感器網(wǎng)絡(luò)演示系統(tǒng),整個系統(tǒng)建立在嵌入式Linux和ARM處理器的基礎(chǔ)上,具有低功耗,軟件易開發(fā)等優(yōu)點(diǎn)。
隨著社會和科學(xué)技術(shù)的日益發(fā)展,無線傳感器網(wǎng)絡(luò)將得到日益廣泛的應(yīng)用。目前無線傳感器網(wǎng)絡(luò)在能源、節(jié)點(diǎn)規(guī)模方面還有不足,隨著這些問題的解決,無線傳感器網(wǎng)絡(luò)在環(huán)境監(jiān)測、智能建筑以及軍事等領(lǐng)域必然會得到越來與廣泛的應(yīng)用。