国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于A(yíng)ndroid的位置指紋數(shù)據(jù)采集系統(tǒng)

2017-09-18 21:09:34李剛姬同凱楊建光曾國(guó)玉梁通
計(jì)算機(jī)時(shí)代 2017年9期

李剛 姬同凱 楊建光 曾國(guó)玉 梁通

摘 要: 位置指紋采集工作是實(shí)施Wi-Fi定位系統(tǒng)的重要環(huán)節(jié)。為了減少無(wú)效作業(yè)、保障數(shù)據(jù)可用性、提高團(tuán)隊(duì)協(xié)作能力,設(shè)計(jì)并實(shí)現(xiàn)了一種基于A(yíng)ndroid平臺(tái)的位置指紋數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)具備采集規(guī)則自定義、地圖及采集點(diǎn)展示、無(wú)線(xiàn)信號(hào)采集和結(jié)果實(shí)時(shí)上傳等功能,具有交互體驗(yàn)順暢簡(jiǎn)便、施工過(guò)程可視化等優(yōu)點(diǎn)。測(cè)試效果表明:系統(tǒng)運(yùn)行良好,功能穩(wěn)定可靠,滿(mǎn)足實(shí)際應(yīng)用需要。

關(guān)鍵詞: Android; 位置指紋; 無(wú)線(xiàn)信號(hào)采集; Wi-Fi定位系統(tǒng)實(shí)施

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)09-09-04

Abstract: The location fingerprint acquisition is the important basic part of Wi-Fi positioning system. In order to reduce the fruitless work, guarantee the data availability and improve the teamwork cooperation, an Android-based location fingerprint acquisition system is designed. The system has the functions of defining acquisition rule, displaying map and acquisition points, acquiring the wireless signal data and uploading the results in real time, and has the advantages of smooth and simple of interactive experience and visualization of construction progress. The test results show that the system runs well and the function is stable and reliable, which meets the needs of practical application.

Key words: Android; location fingerprint; wireless signal acquisition; Wi-Fi positioning system implementation

0 引言

隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)發(fā)展,LBS(Location Based Service)發(fā)揮著越來(lái)越重要的作用[1-2]。Wi-Fi(Wireless Fidelity)定位技術(shù)是在室內(nèi)環(huán)境實(shí)現(xiàn)LBS的重要手段之一[3-4]。得益于支持Wi-Fi技術(shù)智能移動(dòng)終端的普及,Wi-Fi定位技術(shù)已在商場(chǎng)、校園、圖書(shū)館、博物館、旅游景區(qū)、醫(yī)院、礦井等多個(gè)場(chǎng)景得到應(yīng)用,并取得了不錯(cuò)效果。

基于Wi-Fi的位置指紋定位是以定位環(huán)境中各個(gè)無(wú)線(xiàn)AP(Access Point)接入點(diǎn)的RSSI(Received Signal Strength Indicator)匯集形成的位置指紋庫(kù)為基礎(chǔ)的無(wú)線(xiàn)定位解決方案,具有定位成本低、擴(kuò)展性強(qiáng)和定位精度比較高的優(yōu)勢(shì),成為當(dāng)前較廣泛使用的熱點(diǎn)技術(shù)[5]。其中,位置指紋數(shù)據(jù)采集工作相當(dāng)關(guān)鍵。

根據(jù)移動(dòng)、持續(xù)作業(yè)等特點(diǎn),使用智能移動(dòng)設(shè)備采集無(wú)線(xiàn)信號(hào)數(shù)據(jù)是較理想的選擇。目前,Android和iOS設(shè)備具有較高的市場(chǎng)占有率。相較于iOS平臺(tái),Android平臺(tái)開(kāi)放了掃描Wi-Fi相關(guān)信息的API(Application Programming Interface),具有豐富的開(kāi)源資源[6-7]。故選用Android平臺(tái),實(shí)現(xiàn)位置指紋數(shù)據(jù)采集系統(tǒng)。

1 系統(tǒng)設(shè)計(jì)

1.1 系統(tǒng)總體設(shè)計(jì)

系統(tǒng)采用C(客戶(hù)端)/S(服務(wù)器)架構(gòu),分為客戶(hù)層、業(yè)務(wù)處理層和數(shù)據(jù)服務(wù)層,如圖1所示。其中業(yè)務(wù)處理層和數(shù)據(jù)服務(wù)層運(yùn)行在服務(wù)器端。各層功能描述如下。

⑴ 數(shù)據(jù)服務(wù)層。提供系統(tǒng)運(yùn)行所需的數(shù)據(jù)支撐,包括數(shù)據(jù)采集所需的地圖文件、采集點(diǎn)位置文件、采集數(shù)據(jù)結(jié)果以及通過(guò)采集數(shù)據(jù)生成的位置指紋數(shù)據(jù)等,數(shù)據(jù)的具體形式包括數(shù)據(jù)庫(kù)和SVG(Scalable Vector Graphics)文件。

⑵ 業(yè)務(wù)處理層。是系統(tǒng)業(yè)務(wù)實(shí)現(xiàn)的核心部分,為客戶(hù)層提供相關(guān)業(yè)務(wù)的處理。包括地圖及采集點(diǎn)位置文件下載、指紋數(shù)據(jù)制作、數(shù)據(jù)服務(wù)層相關(guān)數(shù)據(jù)資源獲取、采集結(jié)果上傳存儲(chǔ)等相關(guān)服務(wù)。

⑶ 客戶(hù)層。主要通過(guò)基于A(yíng)ndroid平臺(tái)的智能終端設(shè)備進(jìn)行位置指紋采集的相關(guān)工作。

1.2 客戶(hù)端設(shè)計(jì)

系統(tǒng)客戶(hù)端的功能結(jié)構(gòu)如圖2所示,主要包括基礎(chǔ)功能、地圖及采集點(diǎn)展示和操作、Wi-Fi信號(hào)掃描及采集、采集數(shù)據(jù)上傳4大功能模塊。

⑴ 基礎(chǔ)功能模塊。用戶(hù)登錄后設(shè)置采集規(guī)則。采集規(guī)則分為無(wú)線(xiàn)設(shè)備AP過(guò)濾規(guī)則、采集操作規(guī)則和采集結(jié)果要求。其中,無(wú)線(xiàn)設(shè)備AP(Access Point)過(guò)濾規(guī)則有兩種,匹配Mac地址前三段和匹配SSID前綴;采集操作規(guī)則包括采集的次數(shù)、設(shè)備所處方向和每次采集的時(shí)間;采集結(jié)果要求包括掃描到的AP數(shù)量和相應(yīng)采集的數(shù)據(jù)量。

⑵ 地圖及采集點(diǎn)展示和操作模塊。智能終端從服務(wù)器端下載地圖和采集點(diǎn)位置文件,在地圖上顯示各個(gè)采集點(diǎn)的具體位置及采集狀態(tài)。采集狀態(tài)包括未采集、已采集未上傳、已上傳和已上傳有更新四種,分別用紅色、黃色、藍(lán)色和綠色表示。

⑶ Wi-Fi信號(hào)掃描及采集模塊。根據(jù)采集操作規(guī)則,智能終端在采集點(diǎn)相應(yīng)位置掃描Wi-Fi信號(hào),將滿(mǎn)足要求的采集結(jié)果存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)。采集結(jié)果包括采集點(diǎn)ID、AP Mac、RSSI值和采集時(shí)間。endprint

⑷ 采集數(shù)據(jù)上傳模塊。在采集點(diǎn)的信號(hào)采集工作完成后,同步結(jié)果至服務(wù)器端。

1.3 服務(wù)端設(shè)計(jì)

系統(tǒng)服務(wù)器端主要實(shí)現(xiàn)基礎(chǔ)資源管理、指紋數(shù)據(jù)制作和基于RESTful風(fēng)格的HTTP服務(wù)發(fā)布[8]。系統(tǒng)服務(wù)器端架構(gòu)如圖3所示。

⑴ 基礎(chǔ)資源采集。系統(tǒng)所需的基礎(chǔ)資源數(shù)據(jù)包括地圖數(shù)據(jù)和規(guī)劃的采集點(diǎn)位置數(shù)據(jù)。把采集后的相關(guān)數(shù)據(jù)以符合SVG標(biāo)準(zhǔn)的文件形式組織,通過(guò)FTP技術(shù)上傳至服務(wù)器。

⑵ 指紋數(shù)據(jù)制作。針對(duì)某一采集點(diǎn),當(dāng)其采集結(jié)果上傳完成后,以AP為單元,對(duì)采樣RSSI值進(jìn)行處理。處理方法是采用σ高斯濾波模型,選取高概率發(fā)生區(qū)的RSSI值[9],取其中位數(shù)作為最終值,存入指紋數(shù)據(jù)庫(kù)中。

⑶ HTTP服務(wù)?;赟SH框架[10],使用JAVA語(yǔ)言進(jìn)行開(kāi)發(fā),提供RESTful風(fēng)格的HTTP服務(wù),通過(guò)Tomcat服務(wù)器部署發(fā)布。

2 系統(tǒng)實(shí)現(xiàn)

系統(tǒng)實(shí)現(xiàn)的關(guān)鍵點(diǎn)包括地圖及采集點(diǎn)的顯示和操作、Wi-Fi信號(hào)掃描及采集、信號(hào)采集結(jié)果上傳。

2.1 地圖及采集點(diǎn)的顯示和操作

本系統(tǒng)使用EepSvgMapLib和EepPhotoViewL-ib兩個(gè)自定義封裝Library庫(kù)實(shí)現(xiàn)地圖及采集點(diǎn)的顯示和操作。其中EepSvgMapLib庫(kù)主要實(shí)現(xiàn)地圖和采集點(diǎn)位置文件的下載、更新、文件解析、渲染和顯示功能;EepPhotoViewLib庫(kù)主要實(shí)現(xiàn)地圖的手勢(shì)操作,包括縮放、平移、旋轉(zhuǎn)等操作。以下是各個(gè)Library庫(kù)中用到的核心類(lèi)。

⑴ SVG類(lèi)。將SVG文件類(lèi)型的地圖和采集點(diǎn)位置文件最終解析成的對(duì)象類(lèi)型,該類(lèi)中包含了S-VG文件中所有類(lèi)型的節(jié)點(diǎn)和屬性值,通過(guò)調(diào)用re-nderToPicture方法將解析的SVG對(duì)象轉(zhuǎn)換為Ima-geView控件能夠直接顯示的Drawable對(duì)象。

⑵ SVGParser類(lèi)。SVG文件解析的工具類(lèi),將地圖和采集點(diǎn)位置文件解析成SVG類(lèi)對(duì)象,使用Parse(InputStream is)函數(shù)解析SVG文件流,將地圖文件和采集點(diǎn)文件分別解析成兩個(gè)SVG對(duì)象,然后將兩個(gè)SVG對(duì)象在合并為一個(gè)SVG對(duì)象進(jìn)行渲染,達(dá)成在地圖上顯示采集點(diǎn)位置的效果。

⑶ MapView類(lèi)。地圖顯示的封裝類(lèi),內(nèi)部封裝了顯示地圖的ImageView控件、顯示地圖方向的指北針控件、顯示地圖覆蓋物的容器控件、地圖縮放控件和地圖標(biāo)尺控件。

⑷ EepMap類(lèi)。MapView的操作類(lèi),主要負(fù)責(zé)對(duì)MapView上的元素進(jìn)行操作,如文字、POI元素、Marker、InputWindow、Polyline、Cicle等元素的添加、刪除和自適應(yīng)顯示等。另一個(gè)重要作用是負(fù)責(zé)地圖及采集點(diǎn)文件的下載和更新,顯示地圖前,在另起的獨(dú)立子線(xiàn)程中,判斷當(dāng)前地圖和采集點(diǎn)文件的狀態(tài),具體操作參見(jiàn)圖4。

⑸ PhotoAttacher類(lèi)。地圖的手勢(shì)操作工具類(lèi),包括平移、縮放、旋轉(zhuǎn)操作,提供地圖Matrix變更及地圖操作的回調(diào)監(jiān)聽(tīng),方便對(duì)地圖在手勢(shì)操作過(guò)程中進(jìn)行各類(lèi)調(diào)整。

2.2 Wi-Fi信號(hào)掃描及采集

使用Android系統(tǒng)提供的WifiManager服務(wù),在采集點(diǎn)位置上根據(jù)設(shè)定的采集操作規(guī)則,以1秒鐘間隔持續(xù)掃描Wi-Fi信號(hào),掃描結(jié)果通過(guò)Broadcast方式廣播,在自定義WifiScanRecevier類(lèi)中對(duì)掃描結(jié)果作接收處理。處理時(shí),先根據(jù)設(shè)定的AP過(guò)濾規(guī)則對(duì)采集到的所有信號(hào)數(shù)據(jù)進(jìn)行過(guò)濾,篩選出符合條件的數(shù)據(jù)結(jié)果。然后根據(jù)采集結(jié)果要求對(duì)數(shù)據(jù)結(jié)果進(jìn)行檢查:對(duì)不符合要求的結(jié)果提示重新采集;對(duì)符合要求的采集結(jié)果,拼接成JSON字符串,存儲(chǔ)到本地SQLlite數(shù)據(jù)庫(kù)中,等待上傳至服務(wù)器端。在采集操作完成后,更新SQLite中相應(yīng)的采集點(diǎn)狀態(tài),并更新地圖上采集點(diǎn)的顏色,以免重復(fù)采集。用到的核心類(lèi)包括:

⑴ WifiSearcher類(lèi)。獲取WifiManager服務(wù)并開(kāi)啟Wi-Fi掃描,將掃描結(jié)果通過(guò)Broadcast的方式廣播出去;內(nèi)部自定義WifiScanRecevier類(lèi)接收掃描結(jié)果,并通過(guò)SearchWifiListener監(jiān)聽(tīng)回調(diào)將掃描數(shù)據(jù)交由其他類(lèi)處理。

⑵ ApCollectionFragment類(lèi)。實(shí)現(xiàn)SearchWif-

iListener監(jiān)聽(tīng)器的方法,對(duì)掃描到的信號(hào)數(shù)據(jù)進(jìn)行過(guò)濾、校驗(yàn)和存儲(chǔ)。

2.3 采集結(jié)果上傳

本系統(tǒng)支持多人同時(shí)進(jìn)行數(shù)據(jù)采集,所以在進(jìn)入數(shù)據(jù)上傳頁(yè)面時(shí),需保證數(shù)據(jù)同步:智能終端從服務(wù)器端獲取所有采集點(diǎn)的采集狀態(tài),更新相應(yīng)本地維護(hù)的狀態(tài),并以列表形式展示所有采集點(diǎn)的狀態(tài),然后選擇未同步的數(shù)據(jù)進(jìn)行上傳。

采集結(jié)果以采集點(diǎn)為單元,通過(guò)HTTP請(qǐng)求方式依次上傳到服務(wù)器。數(shù)據(jù)上傳成功后,更新本地存儲(chǔ)的采集點(diǎn)狀態(tài)、更新地圖上的采集點(diǎn)狀態(tài)、刪除本地存儲(chǔ)的采集數(shù)據(jù)。

3 系統(tǒng)測(cè)試

在某實(shí)驗(yàn)中心(長(zhǎng)30米、寬22米)規(guī)劃80個(gè)采樣點(diǎn),選用8個(gè)型號(hào)為Huawei AP6010DN的無(wú)線(xiàn)AP設(shè)備進(jìn)行無(wú)線(xiàn)覆蓋,選用魅族MX5手機(jī)(Android5.0系統(tǒng))作為采集設(shè)備。對(duì)每個(gè)采集點(diǎn)分0?、120?和240?三個(gè)方向進(jìn)行數(shù)據(jù)采集,每次采集時(shí)間為30s,系統(tǒng)運(yùn)行效果如圖5所示。根據(jù)服務(wù)器數(shù)據(jù)統(tǒng)計(jì)結(jié)果顯示,未出現(xiàn)數(shù)據(jù)缺失現(xiàn)象。

4 結(jié)束語(yǔ)

該系統(tǒng)基于A(yíng)ndroid平臺(tái)實(shí)現(xiàn),可根據(jù)位置指紋數(shù)據(jù)采集工作的實(shí)際需求動(dòng)態(tài)地調(diào)整相關(guān)采集參數(shù),參照地圖找尋待采集點(diǎn);在采集過(guò)程中加入了計(jì)時(shí)器提醒、方向傳感器引導(dǎo)、RSSI波動(dòng)曲線(xiàn)等輔助手段;采集完成后可實(shí)時(shí)反饋結(jié)果,有助于提高團(tuán)隊(duì)協(xié)作效率和工作質(zhì)量。今后系統(tǒng)將進(jìn)一步增強(qiáng)多并發(fā)大數(shù)據(jù)量環(huán)境下的數(shù)據(jù)同步能力,以便更好滿(mǎn)足大型項(xiàng)目的實(shí)施要求。

參考文獻(xiàn)(References):

[1] 羅軍舟,吳文甲,楊明.移動(dòng)互聯(lián)網(wǎng):終端、網(wǎng)絡(luò)與服務(wù)[J].計(jì)算

機(jī)學(xué)報(bào),2011.34(11):2029-2051

[2] 陳龍彪,李石堅(jiān),潘綱.智能手機(jī):普適感知與應(yīng)用[J].計(jì)算機(jī)學(xué)

報(bào),2015.38(2):423-438

[3] Jinlong E,Jie Ma. A Research on Seamless Indoor and

Outdoor Positioning[J]. Journal of Computers,2013.8(12):3047-3057

[4] 章嫚娜,王玉槐,曹世華,張慧熙,謝曉婷.GPS+WIFI室內(nèi)外混

合定位服務(wù)系統(tǒng)研究[J].計(jì)算機(jī)時(shí)代,2016.3:12-14

[5] 陳斌濤,劉任任,陳益強(qiáng),劉軍發(fā),蔣鑫龍,劉定俊.動(dòng)態(tài)環(huán)境中的

WiFi指紋自適應(yīng)室內(nèi)定位方法[J].傳感技術(shù)學(xué)報(bào),2015.28(5):729-738

[6] 曹文靜.基于iOS的室內(nèi)定位系統(tǒng)的研究與實(shí)現(xiàn)[D].四川師

范大學(xué),2015.

[7] 楊凱,郭英,畢京學(xué).基于安卓平臺(tái)的室內(nèi)實(shí)時(shí)定位[J].測(cè)繪科

學(xué),2015.40(6):125-128,155

[8] 王鵬飛.移動(dòng)瘦客戶(hù)端架構(gòu)在企業(yè)中的應(yīng)用研究[J].計(jì)算機(jī)

時(shí)代,2016.3:27-30

[9] 陳麗,王學(xué)東,孫晶晶,李明.基于改進(jìn)高斯濾波的室內(nèi)無(wú)線(xiàn)定

位算法[J].電氣自動(dòng)化,2014.36(3):31-33,53

[10] 薛桂香,任女爾,閆世峰,林濤.基于簡(jiǎn)單工廠(chǎng)模式的SSH+

ExtJs架構(gòu)泛型化研究[J].河北工業(yè)大學(xué)學(xué)報(bào),2015.44(3):65-69endprint

敦化市| 广西| 耒阳市| 达孜县| 华亭县| 廉江市| 长宁区| 兴仁县| 新巴尔虎右旗| 宜丰县| 视频| 霸州市| 江川县| 亳州市| 华宁县| 旬邑县| 科技| 吉安县| 龙口市| 鱼台县| 孟村| 宽甸| 资阳市| 汶上县| 宜章县| 文成县| 柳河县| 九龙城区| 仲巴县| 台前县| 巴林左旗| 宜兴市| 塔城市| 庄浪县| 镇沅| 利川市| 沿河| 乌拉特前旗| 襄樊市| 永顺县| 水城县|