廖明華
(華南師范大學(xué)增城學(xué)院,廣東 廣州 511363)
ZigBee無線通訊技術(shù)以其易布建、低成本、低功耗的優(yōu)勢(shì),在工業(yè)自動(dòng)化生產(chǎn),日常生活場(chǎng)所得到廣泛應(yīng)用,Android手機(jī)憑借開放性、豐富的硬件選擇,迅速成為最流行的主流手機(jī)平臺(tái)之一。PDA設(shè)備與無線傳感網(wǎng)絡(luò)的結(jié)合可以將工作、生活的空間濃縮于雙手可以掌控的距離內(nèi),推動(dòng)了物聯(lián)網(wǎng)技術(shù)發(fā)展。
小車定位系統(tǒng)分為兩個(gè)功能模塊,如圖1。
圖1 系統(tǒng)功能架構(gòu)圖
系統(tǒng)的網(wǎng)絡(luò)架構(gòu)圖如圖2。
圖2 系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖
CC2430/CC2431是德州儀器(TI)推出的全新概念新一代ZigBee無線單片機(jī)系列芯片,是真正符合IEEE802.15.4標(biāo)準(zhǔn)的片上SOC ZigBee產(chǎn)品。CC2431帶硬件定位引擎,其定位引擎基于RSSI(Received Signal Strength Indicator)技術(shù),根據(jù)接收信號(hào)強(qiáng)度與已知參考節(jié)點(diǎn)位置準(zhǔn)確計(jì)算出有關(guān)節(jié)點(diǎn)位置,然后將位置信息發(fā)送給接收端。相比于集中型定位系統(tǒng),RSSI功能降低了網(wǎng)絡(luò)流量與通信延遲,在典型應(yīng)用中可實(shí)現(xiàn)3到5米定位精度和0.25米的分辨率[1]。
如圖2所示,首先在定位環(huán)境安置4個(gè)由CC2430構(gòu)成的參考節(jié)點(diǎn),這4個(gè)節(jié)點(diǎn)都知道并能在其它節(jié)點(diǎn)請(qǐng)求時(shí)返回它自己的位置。參考節(jié)點(diǎn)不需要定位引擎的硬件應(yīng)用,也不需要負(fù)責(zé)任何計(jì)算。還要配備一個(gè)協(xié)調(diào)節(jié)點(diǎn)(也就是網(wǎng)關(guān)節(jié)點(diǎn)),同樣由CC2430構(gòu)成,網(wǎng)關(guān)與PC機(jī)通過串口相連。隨后,在小車上安置由CC2431構(gòu)成的“盲節(jié)點(diǎn)”,它將收集所有參考節(jié)點(diǎn)對(duì)它的請(qǐng)求返回的信息,讀出相關(guān)的RSSI值,將收集到的數(shù)值傳輸給硬件定位引擎,定位引擎計(jì)算得出位置信息,最后將位置信息傳送給與網(wǎng)關(guān)相連的上位機(jī)程序,在上位機(jī)程序地圖上顯示出小車節(jié)點(diǎn)的所在位置。
從參考節(jié)點(diǎn)傳輸給盲節(jié)點(diǎn)的數(shù)據(jù)包要包括相關(guān)節(jié)點(diǎn)的X、Y坐標(biāo),RSSI由盲節(jié)點(diǎn)定位引擎進(jìn)行計(jì)算。
2.3.1 位置計(jì)算流程
CC2431接收到一個(gè)信息包時(shí),將它將自動(dòng)添加一個(gè)RSSI值在信息包中。CC2431是通過硬件計(jì)算定位坐標(biāo),在計(jì)算之前需要系統(tǒng)提供3個(gè)到8個(gè)參考節(jié)點(diǎn)的坐標(biāo)值和RSSI值,并需要通過設(shè)置輸入?yún)⒖嫉腁值和N值。計(jì)算流程如圖3。
圖3 計(jì)算流程圖
A:是一個(gè)經(jīng)驗(yàn)參數(shù),表示距離發(fā)送者1米處的RSSI值。
N:信號(hào)傳播系數(shù),用來描述信號(hào)強(qiáng)度隨距離增加而遞減的參量。N的值依賴具體的環(huán)境,比如一堵厚墻會(huì)很大的影響其取值,通常靠經(jīng)驗(yàn)來判斷。
2.3.2 三邊測(cè)量法
本設(shè)計(jì)使用的定位算法是三邊測(cè)量法,如圖4,已知A、B、C,3個(gè)節(jié)點(diǎn)的左邊分別為(xA,yA)、(xB,yB)、(xC,yC)。 假設(shè)用戶節(jié)點(diǎn) O 的坐標(biāo)為(x,y),根據(jù)下面的點(diǎn)到點(diǎn)之間的距離公式[2]:
利用以上的等式通過簡(jiǎn)單的數(shù)學(xué)推導(dǎo)就可以的到x和y的值。
圖4 三邊測(cè)量法
上位機(jī)軟件用C#語言開發(fā),圖5小車定位效果圖。
圖5 小車定位效果圖
Android手機(jī)客戶端通過狼牙技術(shù)控制小車前后左右運(yùn)動(dòng),圖6為硬件組成框圖。
圖6 硬件組成框圖
一個(gè)經(jīng)驗(yàn)法則,使用盡可能多的節(jié)點(diǎn)。至少要使用三個(gè),如果節(jié)點(diǎn)太少,每個(gè)節(jié)點(diǎn)的參考效應(yīng)高,一個(gè)不正確的RSSI值就會(huì)很大程度影響位置的計(jì)算。如果盲節(jié)點(diǎn)放置在參考節(jié)點(diǎn)網(wǎng)絡(luò)之外的位置上,那么得到的計(jì)算結(jié)果將會(huì)極大的偏離實(shí)際位置,所以不建議跟蹤網(wǎng)格之外的對(duì)象。
[1]宋保業(yè).CC2431的無線定位引擎及其應(yīng)用改進(jìn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(02):22-24.
[2]倪瑛,戴娟.Zigbee定位技術(shù)的研究[J].南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2013(02):49-52.