如果你的智能手機(jī)連接上了某個(gè)Wi-Fi熱點(diǎn),那么就可以調(diào)用數(shù)據(jù)庫(kù)中附近所有熱點(diǎn)的地理位置信息,而服務(wù)器會(huì)參考每個(gè)熱點(diǎn)的信號(hào)強(qiáng)弱計(jì)算出設(shè)備的大致地理位置。
一、wifi定位的原理
1.每一個(gè)無(wú)線(xiàn)AP都有一個(gè)全球唯一的MAC地址,并且一般來(lái)說(shuō)無(wú)線(xiàn)AP在一段時(shí)間內(nèi)是不會(huì)移動(dòng)的。
2.設(shè)備在開(kāi)啟Wi-Fi的情況下,即可掃描并收集周?chē)腁P信號(hào),無(wú)論是否加密,是否已連接,甚至信號(hào)強(qiáng)度不足以顯示在無(wú)線(xiàn)信號(hào)列表中,都可以獲取到AP廣播出來(lái)的MAC地址。
3.設(shè)備將這些能夠標(biāo)示AP的數(shù)據(jù)發(fā)送到位置服務(wù)器,服務(wù)器檢索出每一個(gè)AP的地理位置,并結(jié)合每個(gè)信號(hào)的強(qiáng)弱程度,計(jì)算出設(shè)備的地理位置并返回到用戶(hù)設(shè)備。
4.位置服務(wù)商要不斷更新、補(bǔ)充自己的數(shù)據(jù)庫(kù),以保證數(shù)據(jù)的準(zhǔn)確性,畢竟無(wú)線(xiàn)AP不像基站塔那樣基本100%不會(huì)移動(dòng)。
現(xiàn)在的wifi定位方法基本上可以分為兩大類(lèi)
1.基于RSSI
在智能手機(jī)上,可以通過(guò)系統(tǒng)SDK獲取到周?chē)鱾€(gè)AP(Access Point)發(fā)送的信號(hào)強(qiáng)度RSSI及AP地址,利用RSSI來(lái)定位目前看來(lái)是最可行的方法,因此下面著重介紹,基于RSSI定位主要有兩個(gè)算法:三角定位算法,指紋算法。
三角定位:
如果我們已經(jīng)知道了這些AP的位置,我們可以利用信號(hào)衰減模型估算出移動(dòng)設(shè)備距離各個(gè)AP的距離,然后根據(jù)智能機(jī)到周?chē)鶤P距離畫(huà)圓,其交點(diǎn)就是該設(shè)備的位置。很容易發(fā)現(xiàn),三角定位算法需要我們提前知道AP的位置,因此對(duì)于環(huán)境變化較快的場(chǎng)合不適合使用。
指紋算法
指紋算法類(lèi)似于機(jī)器學(xué)習(xí)算法,分為兩個(gè)階段:
離線(xiàn)訓(xùn)練階段
將需要室內(nèi)定位區(qū)域劃分網(wǎng)格,建立采樣點(diǎn)(間距1~2m)
使用wifi接受設(shè)備逐個(gè)采樣點(diǎn)采樣,記錄該點(diǎn)位置、所獲取的RSSI及AP地址。
對(duì)采樣數(shù)據(jù)進(jìn)行處理(濾波、均值等)
在線(xiàn)定位階段
用戶(hù)持移動(dòng)設(shè)備在定位區(qū)域移動(dòng),實(shí)時(shí)獲取當(dāng)前RSSI及AP地址,將該信息上傳到服務(wù)器進(jìn)行匹配(匹配算法有NN、KNN、神經(jīng)網(wǎng)絡(luò)等) 得到估算位置。
匹配算法有NN、KNN、神經(jīng)網(wǎng)絡(luò)等。
比較:
指紋算法相比較三角定位算法精度更高。
三角定位算法需要提前知道所有AP的位置
指紋算法需要提前繪制一幅信號(hào)Map。
2. 不基于RSSI
TOA(time ofarrival)
TDOA(time difference of arrival)
AOA(angle of arrival)
但是這些值的獲取需要特殊的wifi模塊,在智能機(jī)上無(wú)法獲取,因此這類(lèi)方法無(wú)法使用。
wifi定位的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):①定位精度較高,wifi密集人流多的地方相當(dāng)精確;②速度快;③周?chē)膚ifi即使連接不上也能定位。
缺點(diǎn):①wifi依賴(lài)!沒(méi)有打開(kāi)wifi就不能定位;②必須處于聯(lián)網(wǎng)狀態(tài);③密集部署;④需要打眼走線(xiàn),部分環(huán)境施工較為困難。