吳雨,楊力,王夢(mèng)茹,孔港港
(信息工程大學(xué) 導(dǎo)航與空天目標(biāo)工程學(xué)院,鄭州 450002)
?
基于Android平臺(tái)的WiFi定位系統(tǒng)研究與實(shí)現(xiàn)
吳雨,楊力,王夢(mèng)茹,孔港港
(信息工程大學(xué) 導(dǎo)航與空天目標(biāo)工程學(xué)院,鄭州 450002)
隨著人們對(duì)室內(nèi)位置服務(wù)需求的不斷增加,基于Android平臺(tái)的室內(nèi)無(wú)線保真定位的研究成為熱點(diǎn)。本文利用無(wú)線保真?zhèn)鞲衅鹘Y(jié)合安卓智能手機(jī)研制了一種基于附加權(quán)值的K鄰近位置指紋算法的室內(nèi)定位系統(tǒng)并在實(shí)驗(yàn)室進(jìn)行了相關(guān)實(shí)驗(yàn),結(jié)果表明,該系統(tǒng)能夠?qū)崿F(xiàn)實(shí)時(shí)的定位功能并且具有較好的定位精度,精度能夠穩(wěn)定的保持在3 m以內(nèi)。
無(wú)線保真;安卓;室內(nèi)定位;位置指紋
全球定位系統(tǒng)(GPS)衛(wèi)星信號(hào)由于遮擋等原因無(wú)法滿足室內(nèi)定位的要求。因此,利用已有的室內(nèi)定位技術(shù)實(shí)現(xiàn)室內(nèi)目標(biāo)的定位成為當(dāng)前研究熱點(diǎn)?,F(xiàn)有的室內(nèi)定位技術(shù)包括超寬帶(UWB)、紅外線、無(wú)線射頻識(shí)別(RFID)、超聲波、藍(lán)牙、無(wú)線保真(WiFi)等多種技術(shù)。
目前在一些大型室內(nèi)環(huán)境下如商場(chǎng)、機(jī)場(chǎng)、會(huì)展中心等都已廣泛覆蓋了WiFi信號(hào),WiFi定位成本低、覆蓋范圍廣、傳輸速率高等原因使其成為室內(nèi)定位的主流。基于信號(hào)強(qiáng)度值的定位方式包括信號(hào)傳播模型和位置指紋法兩種,傳播模型法受周圍環(huán)境、模型等影響較大,導(dǎo)致定位精度相對(duì)較差。另一方面,Andriod系統(tǒng)是一個(gè)開(kāi)放式的移動(dòng)互聯(lián)網(wǎng)操作系統(tǒng),已成為現(xiàn)今應(yīng)用最廣的移動(dòng)互聯(lián)網(wǎng)平臺(tái),面向Android系統(tǒng)的軟件開(kāi)發(fā)成為社會(huì)的主流[1]。本文利用WiFi傳感器結(jié)合Android智能手機(jī),采用基于無(wú)線信號(hào)強(qiáng)度值RSSI (Received Signal Strength Indication)的位置指紋定位方法,以附加權(quán)值的K鄰近算法實(shí)現(xiàn)了一種對(duì)室內(nèi)人員位置進(jìn)行定位的定位系統(tǒng)并在某場(chǎng)地進(jìn)行了實(shí)驗(yàn)驗(yàn)證,結(jié)果表明該系統(tǒng)能夠?qū)崿F(xiàn)室內(nèi)人員的實(shí)時(shí)定位并取得了較好的定位效果。
位置指紋定位方法是基于無(wú)線信號(hào)強(qiáng)度RSSI的方法,主要分為兩個(gè)階段:離線采樣階段和在線定位階段[2-3],如圖1所示。
圖1 指紋定位示意圖
(1)
2.1系統(tǒng)架構(gòu)
本定位系統(tǒng)采用的是C/S客戶端服務(wù)端模式[4],整個(gè)框架包括4個(gè)部分即客戶端部分、服務(wù)端部分和通信部分以及傳感器部分,具體過(guò)程如圖2所示。首先將客戶端采集并且封裝過(guò)濾后的所有指紋數(shù)據(jù)通過(guò)通信手段發(fā)送至服務(wù)端,服務(wù)端接收指紋數(shù)據(jù)并存儲(chǔ)至數(shù)據(jù)庫(kù)中。定位時(shí)客戶端掃描AP傳感器發(fā)射的信號(hào),通過(guò)與服務(wù)器的通信將掃描到的信號(hào)強(qiáng)度值以及信號(hào)地址發(fā)送給服務(wù)端,服務(wù)端將接收到的信號(hào)強(qiáng)度值與數(shù)據(jù)庫(kù)中的指紋數(shù)據(jù)進(jìn)行匹配處理,選擇合適的參考點(diǎn)內(nèi)插得出最終的定位結(jié)果在服務(wù)端予以顯示,同時(shí)將定位結(jié)果通過(guò)網(wǎng)絡(luò)返回給客戶端并在智能終端地圖上予以顯示,完成整個(gè)定位過(guò)程。
圖2 系統(tǒng)架構(gòu)圖
2.2客戶端設(shè)計(jì)
客戶端程序是移植在Android智能終端上[5]的,利用eclipse軟件和Java語(yǔ)言開(kāi)發(fā)。主要功能是用于采集周圍信號(hào)的強(qiáng)度RSSI、與服務(wù)端的通信交互以及對(duì)于定位結(jié)果的顯示,其中與服務(wù)端的交互主要包括指紋數(shù)據(jù)的采集與傳輸和定位數(shù)據(jù)的采集與傳輸兩個(gè)部分。由于Android編程是面向函數(shù)庫(kù)的編程,通過(guò)調(diào)用WifiManager和WifiInfo兩個(gè)WiFi相關(guān)類可以連接掃描得到附近AP的各種信息,包括信號(hào)強(qiáng)度level、MAC地址BSSID以及網(wǎng)絡(luò)名稱SSID等。指紋采集時(shí),將采集到的AP信號(hào)強(qiáng)度值序列高斯濾波后封裝,通過(guò)Socket連接發(fā)送給服務(wù)端存儲(chǔ)到數(shù)據(jù)庫(kù)中,服務(wù)端數(shù)據(jù)庫(kù)采用MySQL;在線定位階段,用戶通過(guò)與服務(wù)端之間的Socket通信發(fā)送定位請(qǐng)求到服務(wù)端,將掃描到的WiFi信號(hào)強(qiáng)度和MAC地址等信息數(shù)據(jù)通過(guò)網(wǎng)絡(luò)發(fā)送給服務(wù)端處理,最后接收服務(wù)器返回的定位結(jié)果并在手機(jī)地圖上予以顯示??蛻舳说哪K圖如圖3所示。
圖3 客戶端設(shè)計(jì)架構(gòu)圖
2.3服務(wù)端設(shè)計(jì)
定位服務(wù)端運(yùn)行于計(jì)算機(jī)上并連接到互聯(lián)網(wǎng)[6],客戶端采集的指紋數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)MySQL中,包括指紋點(diǎn)的濾后信號(hào)強(qiáng)度RSSI、MAC地址BSSID、網(wǎng)絡(luò)地址SSID以及坐標(biāo)。服務(wù)端主要功能用于輔助離線階段指紋數(shù)據(jù)庫(kù)的創(chuàng)建以及在線定位階段定位結(jié)果的計(jì)算與返回。服務(wù)端框架利用VS2010和C#語(yǔ)言開(kāi)發(fā)。服務(wù)端開(kāi)啟后,同時(shí)會(huì)開(kāi)啟一個(gè)監(jiān)聽(tīng)線程進(jìn)行socket監(jiān)聽(tīng),等待客戶端的指紋信息傳輸或者定位請(qǐng)求。當(dāng)服務(wù)端監(jiān)聽(tīng)到庫(kù)客戶端創(chuàng)建指紋信息數(shù)據(jù)庫(kù)請(qǐng)求時(shí),連接客戶端并將接收到的指紋信息進(jìn)行處理,再連接數(shù)據(jù)庫(kù)并將相應(yīng)的WiFi信息存入其中。當(dāng)服務(wù)端接收到客戶端的定位請(qǐng)求時(shí),服務(wù)端連接并接收客戶端發(fā)送的WiFi信息并與指紋數(shù)據(jù)庫(kù)中的指紋信息匹配,采用相應(yīng)的定位算法內(nèi)插出客戶端的當(dāng)前位置坐標(biāo)予以顯示并將結(jié)果返回到定位客戶端。服務(wù)端設(shè)計(jì)架構(gòu)圖如圖4所示。
圖4 服務(wù)端設(shè)計(jì)架構(gòu)圖
為了驗(yàn)證定位系統(tǒng)的可行性以及定位精度的高低,利用現(xiàn)有的掃描到的AP信號(hào)源,無(wú)需增加額外的設(shè)備,在某實(shí)驗(yàn)樓長(zhǎng)14 m寬12.5 m的8間空房間區(qū)域進(jìn)行定位實(shí)驗(yàn),實(shí)驗(yàn)區(qū)域平面圖如圖5所示。
圖5實(shí)驗(yàn)區(qū)域平面圖
實(shí)驗(yàn)前事先將實(shí)驗(yàn)區(qū)域按照長(zhǎng)寬為1 m的間隔劃分為格網(wǎng)狀,其中圓形網(wǎng)格點(diǎn)即為需要采集的指紋點(diǎn)(如圖5中圓點(diǎn)所示),避開(kāi)大的障礙物,一共需要采集132個(gè)指紋點(diǎn)。另外在不同區(qū)域具有不同特征的位置選擇10個(gè)點(diǎn)(如圖5中三角點(diǎn))做為測(cè)試點(diǎn),用來(lái)驗(yàn)證本系統(tǒng)的定位效果。以426房間左下角為坐標(biāo)原點(diǎn),向右為x軸正方向,向上為y軸正方向。在該區(qū)域能夠同時(shí)搜索到6個(gè)AP接入點(diǎn),如表1所示。
表1 掃描到的AP信息表
采樣時(shí),在每個(gè)待采集的指紋點(diǎn)上多次掃描WiFi信息,由客戶端程序控制自動(dòng)掃描50次并且濾波后求得平均信號(hào)強(qiáng)度值序列封裝發(fā)送至服務(wù)端,存入數(shù)據(jù)庫(kù)中。定位階段,在選擇的10個(gè)定位節(jié)點(diǎn)上進(jìn)行定位驗(yàn)證,利用加權(quán)K鄰近法計(jì)算出10個(gè)定位節(jié)點(diǎn)的坐標(biāo)。將這10個(gè)點(diǎn)的實(shí)際坐標(biāo)與定位坐標(biāo)進(jìn)行比較,分析系統(tǒng)的定位效果,結(jié)果如表2和圖6所示。
表2 真實(shí)坐標(biāo)與定位坐標(biāo)結(jié)果比較
從圖6中可以看出,10組定位結(jié)果的平均誤差為1.68 m,位于指紋區(qū)域的邊緣時(shí)誤差較大,誤差在2.5 m左右,位于指紋區(qū)域內(nèi),誤差相對(duì)較小,保持在1.5 m左右。定位誤差能夠保持在3 m以內(nèi),指紋點(diǎn)覆蓋區(qū)域內(nèi)定位精度基本穩(wěn)定在2 m以內(nèi)。能夠滿足一般情況下對(duì)室內(nèi)行人的位置服務(wù)需求。定位位置與真實(shí)位置的對(duì)比圖如圖7所示。
圖6 定位誤差圖
圖7 定位位置與真實(shí)位置對(duì)比圖
基于Android平臺(tái)的WiFi定位系統(tǒng)無(wú)論在成本上還是在應(yīng)用范圍上都有很大優(yōu)勢(shì),可利用現(xiàn)有的AP定位,無(wú)需增加多余的設(shè)備。考慮到信號(hào)衰減的不穩(wěn)定性,本系統(tǒng)采用指紋定位結(jié)合加權(quán)K鄰近算法實(shí)現(xiàn)室內(nèi)實(shí)時(shí)定位,精度保持在3 m以內(nèi),具有可行性。為了進(jìn)一步提高WiFi定位的精度,如何優(yōu)化匹配算法和降低信號(hào)強(qiáng)度的不穩(wěn)定性需要進(jìn)一步的研究。
[1]徐元坤.基于Wi-Fi和Android平臺(tái)的室內(nèi)定位技術(shù)研究[J].測(cè)繪地理信息,2014(10):21-24.
[2]蔡朝暉,夏溪,胡波,等.室內(nèi)信號(hào)強(qiáng)度指紋定位算法改進(jìn)[J].計(jì)算機(jī)科學(xué),2014(11):178-181.
[3]王忠民,陳振,潘春華.一種改進(jìn)的位置指紋智能手機(jī)室內(nèi)定位算法[J].西安郵電大學(xué)學(xué)報(bào),2014(1):17-20.
[4]李煒,金亮,陳曦.基于Android平臺(tái)的室內(nèi)定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].華中科技大學(xué)學(xué)報(bào),2013(10):422-424.
[5]崔惠媚,王小偉,王偉.基于WiFi的室內(nèi)定位系統(tǒng)[J].網(wǎng)絡(luò)與通信,2014(23):58-61.
[6]徐瀟瀟,謝林柏,彭力.基于WiFi信號(hào)強(qiáng)度特征的室內(nèi)定位系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程,2015(4):87-91.
Research and Implementation of WiFi Positioning System Based on Android Platform
WU Yu,YANG Li,WANG Mengru,KONG Ganggang
(InformationEngineeringUniversity,CollegeofNavigationandAerospaceEngineering,Zhengzhou450052,China)
With People's increasing demand for indoor location service, the indoor Wi-Fi positioning system based on the Android platform has become the study hotspot. This paper, by using Wi-Fi wireless sensor and Android smartphone develop an indoor positioning system with K neighboring algorithm and do the experiments in the field. The results show that the system can achieve the function of real-time positioning and has good localization accuracy that the precision can stable stay within 3 m. In order to improve the accuracy of Wi-Fi positioning, people need to research how to optimization algorithm and improve the stability of the signal.
Wi-Fi; Android; indoor positioning; position fingerprint
10.13442/j.gnss.1008-9268.2016.04.019
2016-03-08
P228.4
A
1008-9268(2016)04-0090-05
吳雨(1990-),男,安徽淮北人,碩士生,主要研究方向無(wú)線傳感器定位。
楊力(1965-),男,河南鄭州人,教授,主要研究方向?yàn)樾l(wèi)星精密定軌與導(dǎo)航應(yīng)用。
王夢(mèng)茹(1991-),女,河南鄭州人,碩士生,主要研究方向?yàn)榻M合導(dǎo)航數(shù)據(jù)處理與航跡規(guī)劃。
孔港港(1993-),男,河南安陽(yáng)人,碩士生,主要研究方向?yàn)闊o(wú)線傳感器定位。
聯(lián)系人: 吳雨E-mail: 565122062@qq.com