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