ZigBee技術(shù)中定義了3種設(shè)備:協(xié)調(diào)器(Coordinator),路由器(Router)和終端設(shè)備(EndDevice)。協(xié)調(diào)器主要負(fù)責(zé)啟動整個網(wǎng)絡(luò);路由器的功能主要是允許其他設(shè)備加入網(wǎng)絡(luò)及多跳路由等;終端設(shè)備一般沒有特定的維持網(wǎng)絡(luò)結(jié)構(gòu)的責(zé)任。ZigBee技術(shù)通過這3種設(shè)備可以構(gòu)成一個移動自組織的網(wǎng)絡(luò),廣泛應(yīng)用在家庭、環(huán)境監(jiān)測、工農(nóng)業(yè)等場合[1]。目前的定位技術(shù)總體上可以分為基于測距技術(shù)與無需測距技術(shù)。前者定位精度較高,后者實現(xiàn)起來比較簡單。在測距技術(shù)中,有基于接收信號強(qiáng)度(RSSI)、基于到達(dá)時間差(TOA)、基于不同波的到達(dá)時間差(TDOA)以及到達(dá)角度差(AOA)等[24]。在這幾種測距技術(shù)中,基于RSSI的測距技術(shù)將接收到的信號強(qiáng)度轉(zhuǎn)換為節(jié)點(diǎn)之間的距離,不需要額外的硬件和數(shù)據(jù)交換,有成本低、容易實現(xiàn)等優(yōu)點(diǎn)。本文結(jié)合CC2430/CC2431芯片,設(shè)計了一種基于RSSI的測距定位算法。
1 RSSI測距的實現(xiàn)原理
基于RSSI的測距技術(shù)是利用無線電信號隨距離增大而有規(guī)律地衰減的原理來測量節(jié)點(diǎn)間的距離的。接收信號強(qiáng)度RSSI與傳輸距離d的關(guān)系如下所示[5,8]:RSSI=-(10×n×lgd+A)(1)式中,n表示信號傳播常數(shù),也叫傳播系數(shù);d表示與發(fā)送者的距離;A表示距發(fā)送者1 m時的信號強(qiáng)度。測距精度的高低受到n與A實際取值大小的影響較大。A是一個經(jīng)驗參數(shù),可以通過測量距離發(fā)送者1 m處的RSSI 值得到。n是用來描述信號強(qiáng)度隨距離增加而遞減的參量,n的大小依賴具體的環(huán)境。為了得到最優(yōu)的n值,可以先放置好所有的參考節(jié)點(diǎn),然后嘗試用不同的n_index值找到最適合這個具體環(huán)境的n值。
2 節(jié)點(diǎn)組成的定位網(wǎng)絡(luò)
2.1 CC2430/CC2431芯片介紹
CC2430/CC2431是Chipcon公司(現(xiàn)被TI收購)推出的針對IEEE 802.15.4/ZigBee應(yīng)用的片上系統(tǒng),其內(nèi)部集成了工作在24 GHz的射頻收發(fā)器,擁有低功耗的8051 MCU內(nèi)核、128 KB可編程Flash ROM和8 KB RAM,還有A/D轉(zhuǎn)換器、定時器等。另外,CC2431片上系統(tǒng)由CC2430加上Motorola公司基于IEEE 802.15.4標(biāo)準(zhǔn)的無線定位引擎組成。其定位引擎支持3~l6個參考節(jié)點(diǎn)的定位運(yùn)算,最高精度可達(dá)05 m;定位時間少于40 μs,定位區(qū)域為64 m×64 m,定位誤差為3~5 m,與一般軟件定位相比,具有定位速度快、定位準(zhǔn)確度高、消耗CPU資源少的特點(diǎn)[6]。
CC2430/CC2431主要外圍電路圖如圖1所示。
圖1 CC2430/CC2431主要外圍電路圖
2.2 節(jié)點(diǎn)構(gòu)成的定位網(wǎng)絡(luò)
圖2 ZigBee定位網(wǎng)絡(luò)控制界面
ZigBee網(wǎng)絡(luò)中有一類節(jié)點(diǎn)作為協(xié)調(diào)器,通過串口負(fù)責(zé)與PC通信;還有一類節(jié)點(diǎn)是參考節(jié)點(diǎn),如圖2中周邊的4個圓圈,地址分別為0x143E、0x0001、0x3CB8、0x287B。這4個節(jié)點(diǎn)坐標(biāo)已知,中間的圓圈(地址0x0002)為盲節(jié)點(diǎn)。盲節(jié)點(diǎn)可以根據(jù)接收信號強(qiáng)度,選取其中3個信號強(qiáng)度比較強(qiáng)的參考節(jié)點(diǎn),采用三邊測量法估算出盲節(jié)點(diǎn)的坐標(biāo)位置。如圖2所示,盲節(jié)點(diǎn)實時顯示的坐標(biāo)為(6.25 m,5.75 m)。
圖3為CC2431定位引擎的定位流程。