一種基于WiFi室內(nèi)定位技術(shù)的大數(shù)據(jù)處理系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線定位技術(shù)研究領(lǐng)域,特別涉及一種基于WiFi室內(nèi)定位技術(shù)的大數(shù)據(jù)處理系統(tǒng)和方法。
【背景技術(shù)】
[0002]目前,定位服務(wù)市場發(fā)展迅速,定位服務(wù)需求量迅速增長。常見的定位技術(shù)有GPS衛(wèi)星定位、WiFi定位等。GPS衛(wèi)星定位需要在相對空曠、高層建筑不密集的地方才能實現(xiàn)比較精確的定位,而且在戶內(nèi)無法使用,耗電量較高?;谏鲜鋈秉c,利用廣泛存在的WiFi網(wǎng)絡(luò),對處于樓群密集或者室內(nèi)目標進行定位成為最佳技術(shù)選擇。
[0003]通過WiFi網(wǎng)絡(luò)進行定位,可以彌補GPS在建筑密集或者室內(nèi)應(yīng)用的限制,擴大定位服務(wù)的應(yīng)用行業(yè)和范圍,提高定位精度,降低部署成本,提高設(shè)備利用率,增強應(yīng)對突發(fā)事件的業(yè)務(wù)處理能力,具有重要的社會意義。
[0004]同時隨著大數(shù)據(jù)各領(lǐng)域的大規(guī)模應(yīng)用,基于WiFi位置定位的各項商業(yè)智能服務(wù)急增長中,這些服務(wù)需要迅速、準確收集到用戶室內(nèi)位置數(shù)據(jù),所以需要提供一種基于WiFi室內(nèi)定位技術(shù)的大數(shù)據(jù)處理系統(tǒng)和方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種基于WiFi室內(nèi)定位技術(shù)的大數(shù)據(jù)處理系統(tǒng),該系統(tǒng)基于全球通用標準的WiFi網(wǎng)絡(luò),無須重新搭建其他網(wǎng)絡(luò)或設(shè)施,具有定位準確、成本低的優(yōu)點。
[0006]本發(fā)明的另一目的在于提供一種基于WiFi室內(nèi)定位技術(shù)的大數(shù)據(jù)處理系統(tǒng)的處理方法。
[0007]本發(fā)明的目的通過以下的技術(shù)方案實現(xiàn):一種基于WiFi室內(nèi)定位技術(shù)的大數(shù)據(jù)處理系統(tǒng),包括服務(wù)器端、無線AP和客戶端,其中客戶端包括:
[0008]數(shù)據(jù)采集模塊,用于采集各可用無線AP的BSSID、RSSI (Received SignalStrength Indicator,接收信號的強度指示)和MAC地址,并將這些數(shù)據(jù)按照一定格式封裝后發(fā)送到數(shù)據(jù)發(fā)送模塊;
[0009]數(shù)據(jù)收發(fā)模塊,用于將數(shù)據(jù)采集模塊采集的數(shù)據(jù)通過Socket通信技術(shù)無線發(fā)送到服務(wù)器端;以及,用于接收服務(wù)器端發(fā)送的定位信息;
[0010]終端顯示模塊,用于在終端地圖UI上顯示服務(wù)器端發(fā)送的定位信息,并根據(jù)內(nèi)置的大數(shù)據(jù)業(yè)務(wù)應(yīng)用流程,在終端地圖UI上面顯示出業(yè)務(wù)導(dǎo)引信息;
[0011]服務(wù)器端包括:
[0012]定位模塊,用于接收來自客戶端的連接請求,以多線程的方式為每一個客戶端服務(wù),根據(jù)各客戶端發(fā)來的RSSI數(shù)據(jù),使用基于概率模型的經(jīng)驗數(shù)據(jù)庫定位方法進行定位計算,并將得出的定位結(jié)果寫入日志文件;
[0013]大數(shù)據(jù)智能管理模塊,是大數(shù)據(jù)智能平臺的一個軟件服務(wù)組件,用于管理系統(tǒng)的使用用戶,管理屬于該系統(tǒng)的移動終端設(shè)備,和進行移動終端位置地查詢;
[0014]交互模塊,用于顯示定位模塊的定位結(jié)果,以及進行大數(shù)據(jù)智能管理模塊的管理操作。
[0015]具體的,所述定位模塊包括:
[0016]Socket通信模塊,用于與客戶端中的數(shù)據(jù)收發(fā)模塊進行Socket通信;
[0017]定位引擎,用于根據(jù)待定位點處能夠測得信號的AP個數(shù)、該點有信號的每個AP的RSSI平均值,通過調(diào)用概率計算模塊計算出定位點位置結(jié)果;
[0018]數(shù)據(jù)庫操作模塊,將AP的MAC地址數(shù)據(jù)和測得AP在該點的信號強度數(shù)據(jù)記錄入數(shù)據(jù)庫進行各類數(shù)據(jù)操作;
[0019]概率計算模塊,用于根據(jù)當(dāng)前實測的RSSI值、數(shù)據(jù)庫中存貯的RSSI平均值和與平均值對應(yīng)的標準差,根據(jù)高斯分布公式計算出來定位點的位置數(shù)據(jù)概率值,并將此數(shù)據(jù)存入基于概率模型的經(jīng)驗數(shù)據(jù)庫。
[0020]一種基于WiFi室內(nèi)定位技術(shù)的大數(shù)據(jù)處理系統(tǒng)的處理方法,包括步驟:
[0021](1)啟動客戶端,獲取網(wǎng)卡的信息;
[0022](2)根據(jù)網(wǎng)卡信息獲取周圍無線AP點的BSSID信息、RSSI信息和MAC地址;
[0023](3)無線AP把獲得的周圍無線AP的BSSID和對應(yīng)的RSSI通過WiFi網(wǎng)絡(luò)發(fā)送給服務(wù)器端的定位模塊,如果成功,執(zhí)行步驟(4);如果不成功重新執(zhí)行步驟(3);
[0024](4)服務(wù)器端的定位模塊根據(jù)各客戶端發(fā)來的RSSI數(shù)據(jù),使用基于概率模型的經(jīng)驗數(shù)據(jù)庫定位方法進行定位計算,并將得出的定位結(jié)果通過無線AP發(fā)送到客戶端;
[0025](5)客戶端接收定位信息后,在終端地圖UI上顯示起來,并根據(jù)內(nèi)置的大數(shù)據(jù)業(yè)務(wù)應(yīng)用流程,在終端地圖UI上面顯示出業(yè)務(wù)導(dǎo)引信息。
[0026]具體的,所述步驟(4)中,定位模塊中進行定位計算的步驟是:
[0027](4-1)訓(xùn)練階段:用Ferris公式計算自由空間中電波傳播損耗,公式如下:
[0028]PL = -Gr - Gt+201og (4 π R/ λ ) = Gr - Gt+22+201og (R/ λ );
[0029]其中,Gr和Gt分別代表接收天線和發(fā)射天線增益(dB),R是收發(fā)信機之間的距離,單位為米,λ是波長;
[0030]采集大量樣本,建立電波傳播損耗PL與R的基于概率模型的經(jīng)驗數(shù)據(jù)庫;
[0031](4-2)定位階段:根據(jù)當(dāng)前客戶端發(fā)來的RSSI數(shù)據(jù),將其與經(jīng)驗數(shù)據(jù)庫中預(yù)存的RSSI平均值比較,得到概率值,得到定位結(jié)果。
[0032]優(yōu)選的,所述步驟(3)中,客戶端和服務(wù)器端采用Socket通信方式,步驟如下:
[0033](3-1)先由服務(wù)器端根據(jù)自身的IP地址和已經(jīng)商議好或者公認的端口設(shè)置Socket通信的參數(shù)并進入監(jiān)聽端口等待客戶端服務(wù)請求階段;
[0034](3-2)客戶端會根據(jù)服務(wù)器的IP地址和商議好或者公認的端口去向服務(wù)器端請求連接;
[0035](3-3)當(dāng)服務(wù)器端在監(jiān)聽端口等到客戶端服務(wù)請求后,服務(wù)器端根據(jù)相應(yīng)情況建立連接或者拒絕連接。
[0036]本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:
[0037]1、本發(fā)明基于全球通用標準的WiFi網(wǎng)絡(luò),無需讀寫器,無須重新搭建其他網(wǎng)絡(luò)或設(shè)施,安裝實施靈活方便迅捷,降低成本??蛻舳撕头?wù)器端采用Socket通信方式,能夠?qū)崿F(xiàn)定位服務(wù)器與客戶端的快速通信,同時使用具有檢錯和糾錯等功能的流式通信協(xié)議能夠保證定位數(shù)據(jù)正確及時的送達,確保定位系統(tǒng)的實時性和準確性。
[0038]2、本發(fā)明能夠進行遠距離識別,室外300米以上,室內(nèi)100米,同時室內(nèi)、外精準定位最聞可達2.5米,具有定位精度聞的優(yōu)點。
【附圖說明】
[0039]圖1是本發(fā)明系統(tǒng)硬件架構(gòu)圖。
[0040]圖2是信號頻率2.44GHz,天線的增益為OdBi時的自由空間的損耗曲線。
[0041]圖3是本發(fā)明中定位模塊的結(jié)構(gòu)示意圖。
[0042]圖4是本發(fā)明中大數(shù)據(jù)智能管理模塊的結(jié)構(gòu)示意圖。
[0043]圖5是本發(fā)明中客戶端的處理流程圖。
【具體實施方式】
[0044]下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
[0045]實施例1
[0046]圖1給出了本實施例的系統(tǒng)架構(gòu)圖,包括數(shù)據(jù)智能平臺、定位引擎、定位服務(wù)器、監(jiān)視器、無線AP和無線手持終端。從該系統(tǒng)的拓撲結(jié)構(gòu)圖可以看到,系統(tǒng)是典型的C/S結(jié)構(gòu),分為服務(wù)器端和客戶端兩部分。系統(tǒng)軟件也分為服務(wù)器端軟件和客戶端軟件。服務(wù)器端軟件按功能主要分為:定位模塊,大數(shù)據(jù)智能管理模塊,交互模塊三大模塊。客戶端軟件按主要功能分為:數(shù)據(jù)采集模塊、數(shù)據(jù)收發(fā)模塊和終端顯示模塊。下面對各個模塊進行詳細描述。
[0047]一、定位模塊
[0048]定位模塊是服務(wù)器端的核心模塊,它的主要功能是負責(zé)接收來自客戶端的連接請求。該模塊以多線程的方式為每一個客戶端服務(wù),根據(jù)各客戶端發(fā)來的RSSI數(shù)據(jù),輸入定位引擎進行定位計算并將得出的定位結(jié)果寫入日志文件。該模塊的結(jié)構(gòu)如圖3所示,包括Socket通信模塊、定位引擎、數(shù)據(jù)庫操作模塊和概率計算模塊。
[0049]1、Socket通信模塊,用于與客戶端中的數(shù)據(jù)收發(fā)模塊進行Socket通信。
[0050]接口函數(shù):unsigned—stdcallsckserver(SOCKET sckid)
[0051]參數(shù)類型:輸入?yún)?shù)為Socket通信的標識符,無返回參數(shù)
[0052]核心技術(shù):TCP/IP網(wǎng)絡(luò)下的Socket通信。
[0053]2、定位引擎,用于根據(jù)待定位點處能夠測得信號的AP個數(shù)、該點有信號的每個AP的RSSI平均值,通過調(diào)用概率計算模塊計算出定位點位置結(jié)果。
[0054]接口函數(shù):void locat1n (char RSSI_AVG[AP_Num] [2], char result_out)
[0055]參數(shù)類型:輸入?yún)?shù)為一個字符串型的二維數(shù)組,行大小為該點能夠測得信號的AP個數(shù),列大小為二,用來存貯該點測得的該點有信號的每個AP的信號強度平均值
[0056]輸出參數(shù)為一個字符串,為定位結(jié)果,主要包括橫縱坐標等參數(shù)
[0057]核心技術(shù):使用基于概率模型的經(jīng)驗數(shù)據(jù)庫定位方法。
[0058]3、數(shù)據(jù)庫操作模塊,將AP的MAC地址數(shù)據(jù)和測得AP在該點的信號強度數(shù)據(jù)記錄入數(shù)據(jù)庫進行各類數(shù)據(jù)操作。
[0059]接口函數(shù):voiddboperat1n(int RSSI, char*MAC)
[0060]參數(shù)類型:輸入?yún)?shù)為AP的MAC地址和測得AP在該點的信號強度
[0061]核心技術(shù):基于ODBC的數(shù)據(jù)庫操作與管理。
[0062]4、概率計算模塊,用于根據(jù)當(dāng)前實測的RSSI值、數(shù)據(jù)庫中存貯的RSSI平均值和與平均值對應(yīng)的標準差,根據(jù)高斯分布公式計算出來定位點的位置數(shù)據(jù)概率值,并將此數(shù)據(jù)存入基于概率模型的經(jīng)驗數(shù)據(jù)庫。
[0063]接口函數(shù):intprob—cal(int RSSI, int RSSI_AVG, int RSSI_DEV)
[0064]參數(shù)類型:輸入?yún)?shù)分別為當(dāng)前實測的RSSI值、數(shù)據(jù)庫中存貯的RSSI平均值和與平均值對應(yīng)的標準差,返回值是這三個值根據(jù)高斯分布公式計算出來的概率值
[0065]核心技術(shù):高斯分布公式。
[0066]室內(nèi)環(huán)境下無線信號的信號強度在短距離內(nèi)與傳播距離存在衰減模型關(guān)系,通過信號強度可以計算傳播距離,因此,本發(fā)明以信號強度(RSSI)為基礎(chǔ)進行定位。無線信號在傳輸過程中,接收信號的功率強度與傳輸距離存在著某種變化關(guān)系,找出特定環(huán)境中的變化關(guān)系,就可以應(yīng)用于定位技術(shù)。
[0067]可將高頻無線信號看作向不同方向發(fā)出光線,再依靠對室內(nèi)環(huán)境信息的詳細建模,對每一根射線進行跟蹤來建立無線信號傳播模型。當(dāng)無線信號在自由空間傳播時,其路徑可認為是連接收發(fā)信機的一條射線,可用Ferris公式計算自由空問的電波傳播損耗:
[0068]P