劉貴云+鄔嘉麒+許國(guó)良+邱賓豪
摘 要:文章分析了基于RSSI測(cè)距的WSN網(wǎng)絡(luò)定位技術(shù),以ti CC2530芯片為核心設(shè)計(jì)定位節(jié)點(diǎn),實(shí)現(xiàn)了一套適用于各類室內(nèi)密閉環(huán)境的WSN定位網(wǎng)絡(luò)。針對(duì)RSSI測(cè)距精度有限、易受環(huán)境干擾的問(wèn)題,文章設(shè)計(jì)了一套測(cè)距模型參數(shù)校準(zhǔn)流程,用以降低RSSI測(cè)距誤差,提高系統(tǒng)定位精度,并開(kāi)發(fā)了上位機(jī)操作程序,便于用戶實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò)運(yùn)行情況。
關(guān)鍵詞:RSSI測(cè)距;無(wú)線傳感器網(wǎng)絡(luò);室內(nèi)定位;ZigBee
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)由大量成本低廉的傳感器節(jié)點(diǎn)以無(wú)線通信的方式組建而成,各網(wǎng)絡(luò)節(jié)點(diǎn)可獨(dú)立進(jìn)行數(shù)據(jù)采集、處理和傳輸。無(wú)線傳感器網(wǎng)絡(luò)由于其網(wǎng)絡(luò)組織形式靈活、節(jié)點(diǎn)分布范圍廣泛、組網(wǎng)成本較低的特點(diǎn),在醫(yī)療監(jiān)控、環(huán)境檢測(cè)、國(guó)防軍事等領(lǐng)域得到廣泛應(yīng)用。因此無(wú)線傳感器網(wǎng)絡(luò)可以為定位系統(tǒng)的構(gòu)建提供良好的硬件基礎(chǔ)和實(shí)現(xiàn)條件。
無(wú)線傳感器網(wǎng)絡(luò)定位技術(shù)按照測(cè)量原理可劃分為基于測(cè)距和無(wú)需測(cè)距兩類[1],其中基于測(cè)距的WSN定位方法(如toa,aoa,tdoa)一般需要裝設(shè)用于精確測(cè)量信號(hào)來(lái)源方向或信號(hào)接收時(shí)間的裝置[2-3],定位精度相對(duì)較高,但存在節(jié)點(diǎn)體積大、網(wǎng)絡(luò)造價(jià)高等不足[4]。通過(guò)檢測(cè)接收信號(hào)強(qiáng)度指示(Received Signal Strength Indicator, RSSI)實(shí)施距離估計(jì)[5]。由于RSSI測(cè)距技術(shù)無(wú)需額外添置測(cè)距設(shè)備,實(shí)現(xiàn)原理簡(jiǎn)單,具有節(jié)點(diǎn)體積小、功耗低、成本低廉的優(yōu)點(diǎn),適用于運(yùn)算性能與硬件功耗受限的無(wú)線傳感器定位網(wǎng)絡(luò)[6]。
1 測(cè)距原理與硬件設(shè)計(jì)
1.1 RSSI測(cè)距原理
RSSI測(cè)距技術(shù)通過(guò)檢測(cè)接收信號(hào)強(qiáng)度指示實(shí)施距離估計(jì),利用經(jīng)過(guò)校準(zhǔn)的理論模型或經(jīng)驗(yàn)公式,將信號(hào)強(qiáng)度值轉(zhuǎn)化為節(jié)點(diǎn)間距離,并通過(guò)位置解算實(shí)現(xiàn)目標(biāo)定位[7]?;赗SSI測(cè)距的無(wú)線傳感器網(wǎng)絡(luò)定位系統(tǒng)通常采用傳統(tǒng)的對(duì)數(shù)距離路徑損耗模型[8],其模型參數(shù)一般用經(jīng)驗(yàn)值代替,其表達(dá)式如下:
(1)
式中d為收發(fā)節(jié)點(diǎn)之間的距離,p(d)為收發(fā)節(jié)點(diǎn)之間的信號(hào)強(qiáng)度損耗值,d0為信號(hào)強(qiáng)度參考點(diǎn),p(d0)為參考點(diǎn)的信號(hào)損耗值,n為與環(huán)境因素相關(guān)的路徑損耗因子;xσ為服從正態(tài)分布的誤差修正項(xiàng),有xσ~n(0,σ2)。設(shè)發(fā)射節(jié)點(diǎn)的傳輸功率為pt,則接收節(jié)點(diǎn)處信號(hào)強(qiáng)度可用下式計(jì)算:
(2)
根據(jù)理論分析,在自由空間中傳播的ism頻段(2.4 GHz)無(wú)線信號(hào)隨著距離增加,大致呈對(duì)數(shù)規(guī)律衰減。在信號(hào)源附近區(qū)域信號(hào)衰減迅速,信號(hào)強(qiáng)度因測(cè)量誤差或環(huán)境隨機(jī)干擾造成的偏差經(jīng)過(guò)測(cè)距換算后,將產(chǎn)生明顯誤差。在遠(yuǎn)離信號(hào)源區(qū)域信號(hào)衰減趨勢(shì)平緩,信號(hào)強(qiáng)度幾乎無(wú)法反映距離特征。因此定位網(wǎng)絡(luò)各節(jié)點(diǎn)之間的間距不宜過(guò)大或過(guò)小。
1.2 節(jié)點(diǎn)硬件設(shè)計(jì)
無(wú)線傳感器網(wǎng)絡(luò)由協(xié)調(diào)器(coordinator)、路由器(router)、終端節(jié)點(diǎn)(end node)組成,采用自組織的方式組建無(wú)線傳感網(wǎng)絡(luò),其中協(xié)調(diào)器是網(wǎng)絡(luò)的核心,負(fù)責(zé)網(wǎng)絡(luò)的初始組建和運(yùn)行監(jiān)督。按照節(jié)點(diǎn)位置信息的獲取方式可將定位網(wǎng)絡(luò)節(jié)點(diǎn)分為盲節(jié)點(diǎn)(blind nodes)和錨節(jié)點(diǎn)(anchor nodes)兩類,基于RSSI測(cè)距定位網(wǎng)絡(luò)的主要功能就是根據(jù)已知的錨節(jié)點(diǎn)位置坐標(biāo)和節(jié)點(diǎn)間距,推算出待求的盲節(jié)點(diǎn)坐標(biāo)。
各節(jié)點(diǎn)的硬件電路由微處理器核心、人機(jī)交互模塊、超聲波測(cè)距模塊和電源模塊組成,硬件結(jié)構(gòu)如圖1所示。其中微處理器核心采用ti公司CC2530芯片,外接32.768 kHz晶振,與單根豎直放置的3 dbi全向天線配套使用,其片上的無(wú)線傳輸模塊最大發(fā)射功率可達(dá)4.5 dbm。微處理器核心利用ZigBee協(xié)議(ieee 802.15.4)建立射頻通訊,選擇合適信道與周圍節(jié)點(diǎn)建立低功耗、短距離無(wú)線通信網(wǎng)絡(luò)。
節(jié)點(diǎn)電路采用兩節(jié)18650鋰離子電池串聯(lián)供電,經(jīng)電源管理模塊穩(wěn)壓后向其余各部分電路提供持續(xù)的3.3V和5V直流穩(wěn)壓電源。人機(jī)交互模塊由lcd液晶屏、蜂鳴器、按鍵等組成(見(jiàn)圖2),用于指示電源狀態(tài)、顯示提示信息。系統(tǒng)將通過(guò)lcd屏幕實(shí)時(shí)展示裝置的運(yùn)行狀況,向用戶適時(shí)發(fā)出操作提示信號(hào)。用戶也可通過(guò)按鍵調(diào)整節(jié)點(diǎn)裝置的參數(shù)設(shè)置,保證人機(jī)交互的準(zhǔn)確性和高效性。
超聲波測(cè)距模塊采用RB-URF02型超聲波傳感器,通過(guò)超聲波遇障回傳的時(shí)間差間接測(cè)得距離,具有精度高、能耗小、成本低的優(yōu)點(diǎn),可實(shí)現(xiàn)視距范圍內(nèi)的精確測(cè)距。微處理器接收到超聲波測(cè)距模塊回傳的響應(yīng)信號(hào)后,經(jīng)過(guò)換算后獲知兩節(jié)點(diǎn)間的距離,其測(cè)量結(jié)果將作為兩節(jié)點(diǎn)間的實(shí)際距離供信號(hào)校準(zhǔn)參考。
2 校準(zhǔn)流程與軟件設(shè)計(jì)
2.1 節(jié)點(diǎn)定位流程
本文設(shè)計(jì)實(shí)現(xiàn)的網(wǎng)絡(luò)節(jié)點(diǎn)定位程序采用iar embedded workbench for8051編寫,各節(jié)點(diǎn)接收信號(hào)的強(qiáng)度由cc2530內(nèi)置的射頻通訊模塊測(cè)出,RSSI數(shù)值從z-stack協(xié)議棧中的結(jié)構(gòu)體afincomingmsgpacket_t中取出。定位網(wǎng)絡(luò)中各節(jié)點(diǎn)依據(jù)表1中所列流程實(shí)現(xiàn)實(shí)時(shí)定位。
表1 節(jié)點(diǎn)定位流程
節(jié)點(diǎn)定位流程
1. 各節(jié)點(diǎn)加入WSN網(wǎng)絡(luò)。
2. 用戶在上位機(jī)監(jiān)測(cè)程序中標(biāo)記各節(jié)點(diǎn)坐標(biāo)、類型。
3. 對(duì)當(dāng)前環(huán)境進(jìn)行模型參數(shù)校準(zhǔn)。
4.盲節(jié)點(diǎn)廣播自身設(shè)備編號(hào)值,各錨節(jié)點(diǎn)接收信號(hào)的同時(shí)提取RSSI數(shù)值,取5次連續(xù)測(cè)量的RSSI數(shù)值,并對(duì)測(cè)量結(jié)果作均值濾波處理。
5.各節(jié)點(diǎn)的RSSI數(shù)據(jù)上傳至上位機(jī)監(jiān)控程序匯總并解算盲節(jié)點(diǎn)坐標(biāo)。
6.如果接收到上位機(jī)監(jiān)控程序的參數(shù)校驗(yàn)指令則返回步驟3,重新校準(zhǔn)模型參數(shù);否則返回步驟4,實(shí)時(shí)更新各盲節(jié)點(diǎn)的位置坐標(biāo)。
錨節(jié)點(diǎn)坐標(biāo)、節(jié)點(diǎn)間距與盲節(jié)點(diǎn)坐標(biāo)之間滿足下列關(guān)系
(3)
式中(x,y)為盲節(jié)點(diǎn)坐標(biāo),網(wǎng)絡(luò)中n個(gè)錨節(jié)點(diǎn)坐標(biāo)為(xi,yi),di為i號(hào)錨節(jié)點(diǎn)與盲節(jié)點(diǎn)之間的距離。根據(jù)3邊定位原理,每個(gè)盲節(jié)點(diǎn)至少需要獲得與3個(gè)錨節(jié)點(diǎn)之間的節(jié)點(diǎn)間距才能確定其坐標(biāo)信息[9]。為便于求解,將上述非線性方程組轉(zhuǎn)化為線性方程組
(4)
(5)
(6)
上位機(jī)監(jiān)控程序接收到各節(jié)點(diǎn)上傳的RSSI數(shù)據(jù)后,可用下式求取方程組的最小二乘解,獲得盲節(jié)點(diǎn)的坐標(biāo)參數(shù)。
(7)
2.2 參數(shù)校準(zhǔn)流程
由于無(wú)線信號(hào)在密閉空間內(nèi)存在多徑傳播、非視距傳播、小尺度衰落等因素,在室內(nèi)空間、山體涵洞等實(shí)際應(yīng)用場(chǎng)景中,理論模型的估算結(jié)果存在嚴(yán)重偏差,難以獲得較高的測(cè)距精度[10]。為了減小環(huán)境因素對(duì)距離估算結(jié)果的影響,提高系統(tǒng)測(cè)距精度和定位性能,需對(duì)模型參數(shù)進(jìn)行實(shí)地校準(zhǔn)和現(xiàn)場(chǎng)修正,使模型能準(zhǔn)確反映實(shí)際應(yīng)用場(chǎng)景中的信號(hào)傳輸特性,從而確保定位系統(tǒng)能在各類環(huán)境中獲得較高的測(cè)算精度。
本文利用節(jié)點(diǎn)硬件電路上,設(shè)計(jì)了模型參數(shù)校準(zhǔn)流程(見(jiàn)表2)。選定距離信號(hào)源2.5~5 m范圍作為校準(zhǔn)距離區(qū)段,以0.5 m為間隔均勻取點(diǎn),定義校準(zhǔn)距離序列為{2.5,3.0,3.5,4.5,5.0}(單位:m)。
表2 模型參數(shù)校準(zhǔn)流程
模型參數(shù)校準(zhǔn)流程
1. 選定參與模型參數(shù)校準(zhǔn)的節(jié)點(diǎn)組合,確定其設(shè)備編號(hào)和mac地址。
2. 從校準(zhǔn)距離序列中取出本輪循環(huán)的校準(zhǔn)距離值。
3. 用戶手持校準(zhǔn)裝置,朝著遠(yuǎn)離目標(biāo)節(jié)點(diǎn)的方向緩慢移動(dòng),調(diào)整兩節(jié)點(diǎn)之間的間距。期間超聲波測(cè)距模塊持續(xù)開(kāi)啟,不斷測(cè)量目標(biāo)節(jié)點(diǎn)和校準(zhǔn)裝置之間的實(shí)際距離。
4.判斷超聲波測(cè)得的實(shí)際距離與預(yù)設(shè)的測(cè)距距離偏差是否大于閾值,如果偏差較大滿足,則進(jìn)一步判斷其偏差類型。若實(shí)際距離偏小,滿足,則亮起遠(yuǎn)離指示燈,蜂鳴器鳴響,提醒用戶增大兩節(jié)點(diǎn)間距離;否則亮起靠近指示燈,直至實(shí)際距離與預(yù)設(shè)距離的偏差滿足精度要求。
5.測(cè)量20次當(dāng)前位置的RSSI值,取其平均值,保存測(cè)量結(jié)果。
6. 如果校準(zhǔn)序列中尚有未測(cè)量RSSI值的位置點(diǎn),則返回步驟2。
7.將各次測(cè)量所得的RSSI值,上傳至上位機(jī)或網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)進(jìn)行模型參數(shù)解算,并由協(xié)調(diào)器節(jié)點(diǎn)在定位網(wǎng)絡(luò)中分發(fā),算法結(jié)束。
完成校準(zhǔn)工作流程后,其校準(zhǔn)結(jié)果將通過(guò)射頻收發(fā)模塊向WSN定位網(wǎng)絡(luò)中的協(xié)調(diào)器節(jié)點(diǎn)發(fā)送處理結(jié)果,及時(shí)調(diào)整衰減模型參數(shù),使最新模型參數(shù)立即在定位網(wǎng)絡(luò)中得到應(yīng)用。校準(zhǔn)流程可由用戶根據(jù)環(huán)境參數(shù)變化手動(dòng)執(zhí)行,也可由上位機(jī)監(jiān)控程序自動(dòng)定時(shí)觸發(fā),以便及時(shí)提高定位系統(tǒng)的測(cè)距精度和定位性能。
2.3 監(jiān)測(cè)界面設(shè)計(jì)
為了簡(jiǎn)化WSN定位網(wǎng)絡(luò)的管理流程,便于用戶在特定應(yīng)用空間內(nèi)架設(shè)基于RSSI測(cè)距的WSN定位系統(tǒng),本文采用Microsoft Visual c# 2015 編寫上位機(jī)監(jiān)控程序,軟件界面如圖3所示。監(jiān)控程序提供可視化圖形界面,通過(guò)串口協(xié)議與網(wǎng)絡(luò)中各節(jié)點(diǎn)建立無(wú)線通信,向用戶提供運(yùn)行數(shù)據(jù)實(shí)時(shí)顯示、測(cè)距模型參數(shù)管理、節(jié)點(diǎn)信息設(shè)置、實(shí)時(shí)位置解算等功能,以提高網(wǎng)絡(luò)管理操作的便捷性。
當(dāng)用戶需要組建WSN定位網(wǎng)絡(luò)時(shí),首先應(yīng)通過(guò)設(shè)置窗口設(shè)置串口通信參數(shù),建立協(xié)調(diào)器節(jié)點(diǎn)與計(jì)算機(jī)之間的通訊連接。通訊連接建立后,可在上位機(jī)程序中為各網(wǎng)絡(luò)節(jié)點(diǎn)分配設(shè)備編號(hào),為各節(jié)點(diǎn)逐一選擇節(jié)點(diǎn)類型,并為錨節(jié)點(diǎn)登記位置坐標(biāo)。各定位節(jié)點(diǎn)的RSSI測(cè)距模型在初始化時(shí)使用默認(rèn)參數(shù),用戶可根據(jù)環(huán)境需要觸發(fā)校準(zhǔn)流程獲得更準(zhǔn)確的模型參數(shù),提高系統(tǒng)定位精度。
WSN定位網(wǎng)絡(luò)啟動(dòng)后,終端節(jié)點(diǎn)在本機(jī)測(cè)量RSSI數(shù)值,通過(guò)射頻通訊與協(xié)調(diào)器節(jié)點(diǎn)建立聯(lián)系,將測(cè)量數(shù)據(jù)上傳至上位機(jī)進(jìn)行匯總分析和實(shí)時(shí)換算,并將盲節(jié)點(diǎn)的位置坐標(biāo)解算結(jié)果實(shí)時(shí)顯示,在平面圖上標(biāo)注出區(qū)域內(nèi)各節(jié)點(diǎn)的位置信息。用戶可在界面左上方的“實(shí)時(shí)數(shù)據(jù)”區(qū)域觀察當(dāng)前網(wǎng)絡(luò)中各節(jié)點(diǎn)的運(yùn)行數(shù)據(jù),當(dāng)應(yīng)用環(huán)境發(fā)生變化后可以執(zhí)行校準(zhǔn)操作,重新校準(zhǔn)該節(jié)點(diǎn)的測(cè)距模型參數(shù),降低因環(huán)境因素造成的定位誤差。
3 結(jié)語(yǔ)
本文針對(duì)RSSI測(cè)距精度有限、易受環(huán)境干擾的問(wèn)題,設(shè)計(jì)開(kāi)發(fā)了一套基于RSSI測(cè)距的WSN定位網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng),用戶可通過(guò)上位機(jī)及時(shí)獲知網(wǎng)絡(luò)中盲節(jié)點(diǎn)的實(shí)時(shí)位置,并根據(jù)環(huán)境變化及時(shí)校準(zhǔn)測(cè)距模型參數(shù)。引入測(cè)距模型參數(shù)校準(zhǔn)流程后,定位網(wǎng)絡(luò)將根據(jù)環(huán)境因素的變化對(duì)距離估算模型進(jìn)行修正,實(shí)時(shí)更新模型參數(shù),確保模型能準(zhǔn)確反映實(shí)際應(yīng)用場(chǎng)景中的信號(hào)傳輸特性,從而提高測(cè)距精度和定位性能,可用于在物流倉(cāng)庫(kù)、地下車庫(kù)、山體涵洞等密閉空間中實(shí)施有效定位,具有較高的實(shí)用性。