定位是無線傳感器(WSN)網(wǎng)絡重要的支撐技術(shù),,具有廣泛的應用,。ZigBee技術(shù)則是一種近距離、低功耗,、低數(shù)據(jù)傳輸率,、低成本的雙向無線通信技術(shù),可以嵌入到各種設備中,,同時支持地理定位功能,。將ZigBee技術(shù)應用于無線傳感器網(wǎng)絡中是現(xiàn)今研究的一個重點,相關(guān)定位技術(shù)的研究和應用也受到人們廣泛的關(guān)注,。
1 WSN定位概述
1.1 WSN定位研究現(xiàn)狀
無線傳感器的廣泛應用使其定位技術(shù)得到快速發(fā)展,。TI公司推出一款帶硬件定位引擎的片上系統(tǒng)(SoC)解決方案CC243l,在典型應用中可實現(xiàn)3~5 m定位精度和0.25 m的分辨率,,由于定位算法被固化,,導致其應用缺少靈活性。另一方面,,利用普通無線收發(fā)器件結(jié)合軟件算法的定位受到了廣泛關(guān)注,。
1.2 CC2430簡介
CC2430是TI公司推出的一款2.4 GHz射頻系統(tǒng)單芯片。該器件內(nèi)部集成有ZigBee射頻前端,,內(nèi)存和微控制器,。微控制器使用的805l內(nèi)核,內(nèi)部具有128 KB可編程閃存和8 KB的RAM,,還包含A/D轉(zhuǎn)換器,、定時器Timer、AESl28協(xié)同處理器,、看門狗定時器,、32 kHz晶振的休眠模式,定時器上電復位電路以及外部21個可編程的I/O口,,在硬件上支持IEEE802.15.4規(guī)定的CSMA-CA功能,。CC2430自身資源豐富和低功耗、低成本的特點使得其非常適用于無線傳感器網(wǎng)絡中,。
2 定位系統(tǒng)網(wǎng)絡結(jié)構(gòu)圖
系統(tǒng)體系結(jié)構(gòu)如圖l所示,。無線傳感器定位系統(tǒng)中包括3類節(jié)點:協(xié)調(diào)器、參考節(jié)點和盲節(jié)點,。參考節(jié)點位置已知,,盲節(jié)點利用已知參考節(jié)點信息,,借助一定的定位算法確定自身位置,完成自身定位,。
一個完整的無線傳感器定位系統(tǒng)設計過程包括3個方面:硬件節(jié)點設計,、定位節(jié)點軟件設計和上位機軟件設計。硬件設計為系統(tǒng)提供定位硬件平臺,,定位節(jié)點軟件設計主要完成無線收發(fā)模塊的數(shù)據(jù)傳輸流程,上位機軟件接收無線采集數(shù)據(jù),,利用特定算法完成定位,,并動態(tài)顯示定位結(jié)果。
3 WSN定位節(jié)點硬件設計
3.1 總體設計
定位節(jié)點硬件設計框架如圖2所示,。硬件設計分為兩部分:無線通信模塊設計和無線測試模塊設計,。無線通信模塊為節(jié)點間的無線數(shù)據(jù)提供接口,它是節(jié)點核心部分,。無線測試模塊通過RS232串口轉(zhuǎn)換電路實現(xiàn)PC機與協(xié)調(diào)器節(jié)點間的數(shù)據(jù)傳輸,。
3.2 硬件實現(xiàn)
無線通信模塊包括CC2430及其相關(guān)外圍電路。由于CC2430集8051內(nèi)核與無線收發(fā)模塊于一體,,從而簡化了電路設計過程,,省去了單片機和無線收發(fā)器件之間接口電路的設計,縮短了研發(fā)周期,。
無線測試模塊的串口轉(zhuǎn)換電路采用MAX3232雙通道轉(zhuǎn)換器,,工作電壓范圍為3~5.5 V,該電路主要用于協(xié)調(diào)器與PC之間的串口通信,。
對射頻電路來說,,解決好器件間干擾問題是至關(guān)重要的。建議無線通信模塊采用PCB雙層板,,頂層用于信號線布線,,底層用于電源和地布線,在無布線的開放區(qū)域采用少量過孔相連到地,。另外,,務必使CC2430底部可靠接地。外圍器件尺寸盡量小,,可使用0402規(guī)格阻容器件,。如果使用PCB天線,為了減少板材對PCB天線的影響,,使天線獲得最佳性能,,可以采用RF4板材,板材介電常數(shù)為4.5,,厚度為1 mm,,敷銅厚度為0.35μm,。無線測試模塊PCB制作無特殊要求。
4 定位節(jié)點軟件設計
無線傳感器定位網(wǎng)絡中存在3種功能類型的節(jié)點,,分別為網(wǎng)關(guān)(協(xié)調(diào)器),、參考節(jié)點(路由器)和盲節(jié)點(終端)。網(wǎng)關(guān)在整個系統(tǒng)中有著至關(guān)重要的作用,,首先它要接收上位機發(fā)出的命令,,開啟網(wǎng)絡,等待其他類型節(jié)點入網(wǎng),,其次還要接收各節(jié)點反饋的有效數(shù)據(jù)并傳輸給上位機軟件處理,。參考節(jié)點是一類靜止的已知自身位置的節(jié)點,它的任務是接收帶RSSI(Received Signal Strength Indicator)值的信息包并計算RSSI平均值,,最終在盲節(jié)點打包各RSSI平均值后,,將其發(fā)送給網(wǎng)關(guān),傳回上位機監(jiān)控軟件處理,。盲節(jié)點是一類可移動的節(jié)點,,可在參考節(jié)點包圍的區(qū)域內(nèi)任意移動。盲節(jié)點向周圍空間廣播RSSI簇,,并接收一跳范圍內(nèi)的參考節(jié)點平均RSSI值,,打包收到的各平均RSSI值后,無線發(fā)送給協(xié)調(diào)器節(jié)點,。圖3為整體傳感器網(wǎng)絡定位通信流程,。
考慮到網(wǎng)關(guān)節(jié)點除了組網(wǎng)和串口通信功能外,它可以作為參考節(jié)點使用,,故只需要編寫兩種節(jié)點程序即可,。網(wǎng)關(guān)節(jié)點特有的功能用虛線標出。各類節(jié)點工作流程如圖4和圖5所示,。
5 上位機軟件設計
5.1 上位機功能及其實現(xiàn)
無線傳感器定位系統(tǒng)上位機監(jiān)控軟件中,,與定位相關(guān)的功能主要包括2大類:定位工程管理和定位信息處理。定位工程管理完成加載定位區(qū)域示意圖和配置參考節(jié)點坐標信息功能,。定位信息處理完成參數(shù)采集,、數(shù)據(jù)處理功能。具體來說,,定位工程管理需要包括以下3方面:1)加載定位區(qū)域平面圖,,用戶為特定定位場景自行選擇bmp、jpg,、gif等格式的定位區(qū)域示意圖,;2)配置參考節(jié)點信息,用戶自行配置參考節(jié)點并在工程中設置參考點號,,在定位區(qū)域示意圖中標示參考節(jié)點位置,;3)保存和修改工程,,隨時保存和修改工程信息。而定位信息處理包括2個方面:1)提供PC和協(xié)調(diào)器間接口,,通常使用串口與協(xié)調(diào)器進行通信,,PC機向下發(fā)送命令信息,協(xié)調(diào)器向上讀取數(shù)據(jù),。2)區(qū)域定位,,根據(jù)從參考節(jié)點讀出的信息進行定位并顯示和保存定位結(jié)果。
上位機功能實現(xiàn)流程如圖6所示,。其中,,系統(tǒng)初始化包括:定位區(qū)域示意圖加載、區(qū)域尺寸參數(shù)設置,、參考節(jié)點位置設置和串口相關(guān)參數(shù)設置以及串口打開等功能。
5.2 定位算法選取
基于接收信號強度指示(RSSI)的算法,,利用RSSI與距離之間的關(guān)系,,在特定定位環(huán)境采集數(shù)據(jù),對數(shù)據(jù)進行擬合,,獲取二者關(guān)聯(lián)曲線,,利用基于測距的定位算法實現(xiàn)未知節(jié)點的位置確認。
基于場地信號強度數(shù)據(jù)庫的算法,,就室內(nèi)定位而言,,要實現(xiàn)精確定位,最直接的方法是建立待定位場地的信號強度數(shù)據(jù)庫,,通過數(shù)值比對確定盲節(jié)點位置,。但數(shù)據(jù)庫的構(gòu)建費時費力,室內(nèi)環(huán)境改變(如室內(nèi)設施移動了位置,、改變了參考節(jié)點位置等)需要重新構(gòu)建采樣數(shù)據(jù)庫,。為了以較小代價獲得盡可能高的精度,可以將2種定位方法進行適當融合,。每種算法都有它的優(yōu)缺點,,根據(jù)具體應用需要選擇合適的算法。
6 結(jié)束語
本文詳細介紹了無線傳感器定位系統(tǒng)的軟硬件設計,,該定位系統(tǒng)可以充分利用軟件方法實現(xiàn)較高的定位精度,。降低對定位硬件的要求。使得無線傳感器定位系統(tǒng)維持在較低的成本上,。從實際測試結(jié)果表明:該定位系統(tǒng)是切實可行的,,并且實現(xiàn)簡便。