無線傳感器網(wǎng)絡(luò)實驗平臺的設(shè)計和實現(xiàn)
出處:李 婧,趙保華,張英堂 發(fā)布于:2011-08-31 12:56:23
無線傳感器網(wǎng)絡(luò)所具有的眾多類型的傳感器,可探測包括地震、電磁、溫度、濕度、噪聲、光強(qiáng)度、壓力、土壤成分、移動物體的大小、速度和方向等周邊環(huán)境中多種多樣的現(xiàn)象?;贛EMS的微傳感技術(shù)和無線聯(lián)網(wǎng)技術(shù)為無線傳感器網(wǎng)絡(luò)賦予了廣闊的應(yīng)用前景。這些潛在的應(yīng)用領(lǐng)域可以歸納為:軍事、航空、反恐、防爆、救災(zāi)、環(huán)境、醫(yī)療、保健、家居、工業(yè)、商業(yè)等領(lǐng)域。
無線傳感器網(wǎng)絡(luò)是一種全新的信息獲取平臺,能夠?qū)崟r監(jiān)測和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)的各種檢測對象的信息,并將這些信息發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn),以實現(xiàn)復(fù)雜的指定范圍內(nèi)目標(biāo)檢測與跟蹤,具有快速展開、抗毀性強(qiáng)等特點(diǎn),有著廣闊的應(yīng)用前景。
典型的無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。此網(wǎng)絡(luò)由傳感器節(jié)點(diǎn)、基站(Base Station)、Internet或通信衛(wèi)星、任務(wù)管理節(jié)點(diǎn)(Task Manager Node)等部分構(gòu)成。傳感器節(jié)點(diǎn)通過飛行器撒播、人工埋置和火箭彈射等方式散布在指定的感知區(qū)域內(nèi),每個節(jié)點(diǎn)都可以收集數(shù)據(jù),并通過"多跳"路由方式把數(shù)據(jù)傳送到基站?;疽部捎猛瑯拥姆绞綄⑿畔l(fā)送給各節(jié)點(diǎn)?;局苯优cInternet或通信衛(wèi)星相連,通過Internet或通信衛(wèi)星實現(xiàn)任務(wù)管理節(jié)點(diǎn)(即觀察者)與傳感器之間的通信.

無線傳感器網(wǎng)絡(luò)的廣闊應(yīng)用前景引起了學(xué)術(shù)界和工業(yè)界的高度重視。由于各方面條件的限制,目前針對無線傳感器網(wǎng)絡(luò)的研究大多基于模擬環(huán)境(如NS-2),然而在實際網(wǎng)絡(luò)系統(tǒng)的研究中會遇到在模擬環(huán)境下無法預(yù)料的問題。因此,無線傳感器網(wǎng)絡(luò)實驗平臺的實現(xiàn)在整個傳感器網(wǎng)絡(luò)研究中占據(jù)非常重要的作用。為此本文主要介紹了如何搭建無線傳感器網(wǎng)絡(luò)實驗平臺,包括利用TinyOS在傳感器硬件上進(jìn)行測試,保證傳感器節(jié)點(diǎn)間無線通信正常,這些都是實現(xiàn)傳感器應(yīng)用實例的前提工作。本文將重點(diǎn)介紹如何利用Crossbow公司的無線傳感器產(chǎn)品來實現(xiàn)無線傳感器網(wǎng)絡(luò)實驗平臺和基于此實驗平臺的節(jié)點(diǎn)驗證;Crossbow公司的5040系列硬件產(chǎn)品;TinyOS系統(tǒng)和傳感器硬件驗證;將來的研究方向。
1 硬 件
克爾斯博科技有限公司(Crossbow Technology, Inc)成立于1995年,是無線傳感器網(wǎng)絡(luò)和慣性傳感器系統(tǒng)終端解決方案供應(yīng)商。克爾斯博領(lǐng)導(dǎo)新一代的技術(shù)革命,通過無線傳感器網(wǎng)絡(luò)技術(shù)溝通了物理世界與數(shù)字世界,并將MEMS技術(shù)廣泛應(yīng)用在陸??盏阮I(lǐng)域。克爾斯博革命性的技術(shù)賦予了無線傳感器網(wǎng)絡(luò)超長的電池壽命、自組織自愈合和靈活的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)等強(qiáng)大功能。克爾斯博先進(jìn)的技術(shù)平臺具有的開放式系統(tǒng)結(jié)構(gòu),易于與IT系統(tǒng)相連并集成為面向終端的無線傳感器網(wǎng)絡(luò)系統(tǒng)。
實驗平臺硬件采用的是MOTE-KIT 5040系列。它包括4個MICA2 Processor/Radio Boards、4個MICA2DOT Boards、3個MTS310 Sensor Boards、2個MDA500 MICA2DOT 原型和數(shù)據(jù)采集板以及1個MIB510編程接口板。
MOTE-KIT5040系列的主要部件是MICA2.它是早期產(chǎn)品MICA的改進(jìn),采用的TinyOS操作系統(tǒng)是一個小型、開源、節(jié)能的軟件操作系統(tǒng),支持大規(guī)模、自配置的無線傳感器網(wǎng)絡(luò),其源代碼和軟件開發(fā)工具可以在網(wǎng)上。MICA2采用的硬件平臺為MPR400CB,MPR400CB采用了Atmel Atmega 128L微控制器,該控制器從其自帶的ROM中運(yùn)行TinyOS操作系統(tǒng)。可以利用編程接口板對其進(jìn)行開發(fā)。MICA2具有許多優(yōu)良的特性:
①是第三代小型智能無線傳感器節(jié)點(diǎn)。
②內(nèi)嵌TinyOS操作系統(tǒng),提供了前所未有的通信和處理能力。
?、墼谛菝吣J?,AA電池可以使用一年。
?、軣o線通信功能強(qiáng)大,并且每個節(jié)點(diǎn)都具有路由器的功能。
?、?33MHz或868/916MHz的多信道收發(fā)天線。
⑥光敏、溫度、RH、氣壓、震動、聲學(xué)、電磁以及諸多可選的傳感器。
?、咧С譄o線的遠(yuǎn)程重編程。
?、嗑哂写罅靠捎玫膫鞲衅靼搴蛿?shù)據(jù)采集板。
?、崤c下一代產(chǎn)品MICA2DOT完全兼容。
MICA2DOT與MICA2相比的主要優(yōu)點(diǎn)在于其體積約是MICA2的四分之一。其他功能與MICA2極其類似。
MOTE-KIT5040還提供了3塊傳感器板,這些接口板可以通過一個51腳的接口連到MICA2上。任何一個MICA2節(jié)點(diǎn)都可以配置成基站來進(jìn)行工作?;究蓪臒o線傳感器網(wǎng)絡(luò)取得的數(shù)據(jù)匯集到計算機(jī)上。
2 基于TinyOS實驗平臺的實現(xiàn)
TinyOS的構(gòu)件包括網(wǎng)絡(luò)協(xié)議、分布式服務(wù)器、傳感器驅(qū)動及數(shù)據(jù)識別工具。其良好的電源管理源于事件驅(qū)動執(zhí)行模型,該模型也允許時序安排具有靈活性。TinyOS已被應(yīng)用于多個平臺和感應(yīng)板中。TinyOS操作系統(tǒng)、庫和程序服務(wù)程序是用nesC寫的,nesC是一種開發(fā)組件式結(jié)構(gòu)程序的語言,nesC是一種C語法風(fēng)格的語言,但是支持TinyOS的并發(fā)模型,以及組織、命名和連接組件成為健壯的嵌入式網(wǎng)絡(luò)系統(tǒng)的機(jī)制。nesC應(yīng)用程序是由有良好定義的雙向接口的組件構(gòu)建的,nesC定義了一個基于任務(wù)和硬件事件處理的并發(fā)模型,并能在編譯時檢測數(shù)據(jù)流組件。
調(diào)試嵌入式系統(tǒng)應(yīng)用程序的難點(diǎn)是:難以區(qū)分錯誤源在應(yīng)用程序還是在嵌入式系統(tǒng)平臺。但由于TinyOS安裝包包括了2個用于對系統(tǒng)和傳感器硬件進(jìn)行驗證的工具,因此可以利用這2個工具在調(diào)試應(yīng)用程序前確認(rèn)傳感器節(jié)點(diǎn)本身是否有問題。
首先,對傳感器硬件驗證前要先對安裝的PC工具進(jìn)行確認(rèn),包括 avr gcc compiler、perl、flex、cygwin(如果使用Windows操作系統(tǒng))、JDK 1.4.x等。利用TinyOS自帶的 toscheck工具可以檢驗PC工具是否安裝完全,其操作步驟是:雙擊圖標(biāo)運(yùn)行cygwin應(yīng)用程序,進(jìn)入/tools/scripts目錄,鍵入toscheck.運(yùn)行后,1行輸出應(yīng)為"toscheck completed without error".若發(fā)現(xiàn)顯示錯誤,則必須先解決該錯誤再繼續(xù)下面的步驟。
接下來可以使用下面2種方法[3]進(jìn)行傳感器節(jié)點(diǎn)的硬件驗證:
?。?)TinyOS自帶的MicaHWVerify程序。
?。?)Crossbow提供的圖形用戶界面程序Mote-Test.
2.1 使用MicaHWVerify進(jìn)行硬件驗證
MicaHWVerify程序?qū)iT用來驗證MICA/MICA2/MICA2DOT節(jié)點(diǎn)硬件。若所使用的硬件平臺不同則不適宜使用該程序。以下步驟都以驗證MICA2節(jié)點(diǎn)為例(對MICA2-DOT節(jié)點(diǎn)只需修改相應(yīng)參數(shù)即可)。對傳感器節(jié)點(diǎn)硬件編程時須注意:若使用配套的電源給編程接口板供電,將傳感器節(jié)點(diǎn)插到接口板前要保證節(jié)點(diǎn)上的電池已取出;若利用傳感器節(jié)點(diǎn)上的電池給編程接口板供電,則不需再接電源但必須保證電池電量≥3.0V,且節(jié)點(diǎn)上開關(guān)狀態(tài)為On.驗證步驟如下。
?。?)運(yùn)行cygwin后,進(jìn)入/apps/MicaHWVerify目錄。鍵入make mica2編譯MicaHWVerify程序。若使用MICA2/MICA2DOT平臺,完整的命令應(yīng)該是PFLAGS=-DCC1K_MANUAL_FREQ=
?。?)將MICA2節(jié)點(diǎn)插到編程接口板上(MIB510),用電池或電源供電(通電后編程接口板上的綠燈亮)。
?。?)將編程接口板通過串口連到計算機(jī)。如果使用編程接口板MIB500,則將編程接口板通過并口連到計算機(jī)(以下未特別聲明的編程接口板都是指MIB510)。
(4)將程序裝載到MICA2節(jié)點(diǎn)上。鍵入MIB510=COM# make reinstall mica2.其中:COM#表示MIB510連接在計算機(jī)端口COM#上(#=1、2、3……本文取為COM1);rein-stall是直接將已編譯過的程序裝載到指定節(jié)點(diǎn)上而不再重新編譯程序,因此速度較快;若使用命令install代替reinstall,則先對目標(biāo)平臺編譯再將程序裝載到節(jié)點(diǎn)。如果使用MIB500,則鍵入make reinstall mica2即可?;剀嚭?,MIB510編程接口板的典型輸出如下:
$ mib510 make reinstall mica2
installing mica2 binary
uisp -dprog=mib510 -dserial=COM1 -dpart=ATmega128 --wr_fuse_e=ff --erase --upload if=build/mica2/main.srec
Firmware Version:2.1
Atmel AVR ATmega128 is found.
Uploading:flash
Fuse Extended Byte set to 0xff
這時可以知道編程接口板和計算機(jī)串口工作正常。接下來繼續(xù)驗證傳感器節(jié)點(diǎn)硬件。
?。?)鍵入make -f jmakefile,再鍵入MOTECOM=serial@
COM1:57 600 java hardware_check,計算機(jī)上的輸出應(yīng)該大致為:
hardware_check started
hardware verification successful
Node Serial ID:1 60 48 fb 6 0 0 1d
其中,Node Serial ID是MicaHWVerify程序分配給MICA2節(jié)點(diǎn)的序列號,該程序檢查結(jié)點(diǎn)序列號、閃存連通性、UART功能和外部時鐘。當(dāng)這些狀態(tài)都正常時,屏幕上就會打印出硬件檢測成功的消息。由于MICA2DOT沒有序列號,當(dāng)編譯MicaHWVerify時會提示警告信息"Serial ID not supported on mica2dot platform",終的運(yùn)行結(jié)果serial ID輸出全為0xFF.
,驗證傳感器節(jié)點(diǎn)間的無線通信。應(yīng)注意通信時傳感器節(jié)點(diǎn)間要使用統(tǒng)一的頻率,即 PFLAGS=-DCC1K_MANUAL_FREQ=915 988 000.為操作方便,可以在apps/目錄下建立一個Makelocal文件來設(shè)定參數(shù)默認(rèn)值,其內(nèi)容如下:
PFLAGS=-DCC1K_DEFAULT_FREQ=CC1K_915_998_MHZ
MIB510=COM1
這樣,以后就不必每次輸入MIB510=……、PFLAGS=……等表設(shè)置參數(shù)了。
通信實驗需要2個傳感器節(jié)點(diǎn),因此先對另一個傳感器節(jié)點(diǎn)進(jìn)行硬件檢測,再按下述步驟操作,使其充當(dāng)個節(jié)點(diǎn)的無線網(wǎng)關(guān)程序。
?。?)進(jìn)入/apps/TOSBase目錄,鍵入make mica2編譯TOSBase程序。
?。?)將TOSBase程序裝載到插在MIB510編程接口板上的傳感器節(jié)點(diǎn),并將另一個傳感器節(jié)點(diǎn)(注意:該節(jié)點(diǎn)裝載的是MicaHWVerify程序)放在附近。
?。?)鍵入MOTECOM=serial@COM1:57600 java hardware_check來運(yùn)行hardware_check java程序,輸出結(jié)果應(yīng)和前面類似:
hardware_check started
Hardware verification successful.
Node Serial ID:1 60 48 fb 6 0 0 1e
這里返回遠(yuǎn)端節(jié)點(diǎn)的序列號,表示傳感器節(jié)點(diǎn)間無線通信驗證成功。如果遠(yuǎn)端傳感器節(jié)點(diǎn)關(guān)閉或工作不正常,將返回提示信息"Node transmission failure".
2.2 使用Mote-Test進(jìn)行硬件驗證
驗證傳感器硬件還有另外一種更快捷的方法,即使用Mote-Test程序。介紹如下。
(1)從光盤運(yùn)行/Crossbow Software/Mote-Test文件夾下的setup.exe安裝Mote-Test.
?。?)從光盤/Crossbow Software/Mote Firmware目錄下拷貝MICA2_TEST_315、MICA2_TEST_433、MICA2_TEST_916、MICA2DOT_TEST_315、MICA2DOT_TEST_433、MICA2DOT_TEST_916文件夾到/apps目錄下。
?。?)用電源給MIB510編程接口板供電,并通過串口與計算機(jī)相連。首先,在MICA2上裝載測試固件(Test Firm-ware)。
(4)運(yùn)行cygwin,進(jìn)入MICA2_TEST_XXX目錄(XXX是頻率,本實驗中使用的是MICA2_TEST_916)。
?。?)鍵入MIB510=COM1 make mica2 reinstall,在待測試的傳感器節(jié)點(diǎn)上裝載測試固件,如果裝載成功,按下編程板上的RESET按鈕后會看到LEDs閃爍,驗證了編程接口板和計算機(jī)串口工作正常。
?。?)設(shè)置Mote-Test檢測傳感器節(jié)點(diǎn)。運(yùn)行Mote-Test,在窗口中點(diǎn)擊GONFIGURE 按鈕,彈出一個配置對話框。在其中選擇正確的端口號(這里是COM1)。MICA2固件配置的波特率是57 600,默認(rèn)的包大小是36,UART CRC設(shè)置為不可用。一旦配置好,按下SET NOW 按鈕,主屏幕就會彈出。
?。?)接下來驗證傳感器節(jié)點(diǎn)硬件工作是否正常。Mote-Test允許使用插在MIB500/MIB510上的一個MICA2或MICA2DOT節(jié)點(diǎn)來創(chuàng)建一個基站或PC的串行網(wǎng)關(guān),用來測試和演示2個傳感器節(jié)點(diǎn)間的雙向無線通信,也可以驗證傳感器硬件和計算機(jī)串口是否工作正常。
?、偈褂靡粋€裝載過MICA2_TEST_916固件、電池供電的傳感器節(jié)點(diǎn)作為測試無線通信功能的遠(yuǎn)程節(jié)點(diǎn)。
②將一個裝載過MICA2_TEST_916固件的傳感器節(jié)點(diǎn)插到編程接口板上,稱此節(jié)點(diǎn)為基站?;镜念l率要和遠(yuǎn)程節(jié)點(diǎn)相同。
?、蹖IB510編程接口板通過串口連到計算機(jī)。
?、馨聪耂ELF TEST按鈕,選擇好測試對象后,將遠(yuǎn)程節(jié)點(diǎn)放在距離基站大于0.6米的地方。
?、葸\(yùn)行MICA2硬件驗證測試,按下START TEST按鈕。
檢測后,輸出結(jié)果如圖2所示。

從圖中可以看出,若Memory檢測成功,MEM OK綠燈亮;Battery檢測電池電量大?。籖SSI測試有2個值,可以顯示遠(yuǎn)端節(jié)點(diǎn)與基站的連通性。若RSSI值小于-80.00將顯示FAIL,但這并不意味著節(jié)點(diǎn)無線通信失敗,可能因為MICA2節(jié)點(diǎn)距離基站太遠(yuǎn),可以通過縮短MICA2節(jié)點(diǎn)與基站間距離來改善RSSI值。在本實驗中,RSSI實際測得的數(shù)據(jù)分別為-64.50和-61.88,說明連通性較好。Serial ID NUMBER顯示本地傳感器節(jié)點(diǎn)的硬件序列號。當(dāng)各項狀態(tài)都正常時,上面的PASS綠燈亮。傳感器硬件測試完成后,就可以根據(jù)需求自己編寫程序,通過編程接口板加載到傳感器上,實現(xiàn)無線傳感器網(wǎng)絡(luò)的各種功能。
3 結(jié)論及下一步工作
本文介紹了如何搭建無線傳感器網(wǎng)絡(luò)實驗平臺以及在此平臺上的系統(tǒng)驗證。內(nèi)容涉及無線傳感器網(wǎng)絡(luò)的結(jié)構(gòu)和發(fā)展前景、傳感器節(jié)點(diǎn)的硬件測試、傳感器節(jié)點(diǎn)間無線通信等。在此實驗平臺上,可以編寫應(yīng)用程序(Nesc和Java程序)完成傳感器網(wǎng)絡(luò)的各種功能。
下一步的工作是在該實驗平臺上研究具體的無線傳感器網(wǎng)絡(luò)協(xié)議,需要解決如下問題:(1)無線傳感器網(wǎng)絡(luò)中的定位和同步問題。(2)研究網(wǎng)絡(luò)層協(xié)議中的路由算法。(3)研究傳感器網(wǎng)絡(luò)的管理問題。
參考文獻(xiàn):
[1]. ROM datasheet http://m.58mhw.cn/datasheet/ROM_1188413.html.
[2]. Memory datasheet http://m.58mhw.cn/datasheet/Memory_1082507.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機(jī)選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計、天線匹配與鏈路預(yù)算計算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點(diǎn)與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21









