近年來,隨著無線技術和移動通信的飛速發(fā)展,以及Bluetooth,Wifi,GPRS等無線技術的日趨成熟,同時,各種無線定位技術的出現(xiàn),極大的方便了生活,推進了社會的發(fā)展。藍牙技術(Bluetooth)作為一種短距離無線通訊技術,其實質內容是為固定設備或移動設備之間的通信環(huán)境建立通用的無線電空中接口(Radio AirInterface),將通信技術與計算機技術進一步結合起來,使各種3C設備在沒有電線或電纜相互連接的情況下,能在近距離范圍內實現(xiàn)相互通信或操作,實現(xiàn)數(shù)據(jù)共享。利用藍牙設備近距離范圍內相互通信的特性,結合TOA算法,并全面考慮實際應用中信號衰減、障礙物阻隔等情況,就可以實現(xiàn)較為精準的藍牙定位系統(tǒng),再進一步結合Web、數(shù)據(jù)庫等后臺支持,可以開發(fā)一套圖書館藍牙自動導航系統(tǒng),以實現(xiàn)移動終端書籍自助查詢與導航功能。
1 系統(tǒng)結構及功能
圖書館書籍定位系統(tǒng)由三部分組成:安裝在用戶手機上的定位軟件(客戶端),后臺服務器以及分布在圖書館里的藍牙信號發(fā)射點,如圖1所示。
客戶端實現(xiàn)了用戶在手持設備無線查詢書籍以及用戶的定位導航功能。用戶首次登錄軟件后,軟件通過無線網(wǎng)絡自動從后臺數(shù)據(jù)庫下載地形和藍牙點分布的XML文件,并根據(jù)文件描述繪制出圖書館地形圖。之后用戶可以在書籍查詢界面以書名,作者,ISBN方式模糊查詢所需要的書籍。用戶選擇書籍后,軟件將所選書籍的位置標注在地圖上,同時開啟藍牙,檢測周邊藍牙信號點信號強度并進行定位。定位成功后軟件自動計算用戶從當前位置到書籍位置的最佳路徑,并標注在地圖上。同時,在用戶找書的過程中,系統(tǒng)會實時測量用戶所在位置,實時更新最佳路徑,引導用戶找到所需書籍。
后臺服務器儲存書籍詳細信息、圖書館地形圖以及各個藍牙信號發(fā)射點分布情況。并及時響應用戶的不同請求。
藍牙信號發(fā)射點分布在整個圖書館內,信號范圍覆蓋整個圖書館,每個藍牙信號發(fā)射點有自己惟一的ID標識號,當用戶定位時通過標識號即可從配置文件中知道此藍牙信號發(fā)射點的位置。
通過三個子系統(tǒng)的分工合作,系統(tǒng)實現(xiàn)了查詢定位導航一體化的高效圖書查詢功能。
2 定位系統(tǒng)軟件設計
2.1 定位系統(tǒng)客戶端軟件設計
軟件采用Windows Mobile 6.0作為開發(fā)平臺,多普達838手機作為軟件測試平臺,使用C#編程實現(xiàn)。目標手機內置藍牙協(xié)議棧,直接調用Winsock API搜索周圍藍牙設備并得到信號強度信息。軟件主要分為四部分:書籍搜索部分;地圖繪制引擎部分;藍牙定位部分;路徑計算部分。
書籍搜索 用戶在搜索界面里(圖2)選擇搜索條件(書名,ISBN,作者)輸入關鍵字進行搜索,數(shù)據(jù)包利用HTTP協(xié)議通過無線網(wǎng)絡以POST請求方式發(fā)送到服務器,服務器解析出關鍵字(Query Word)后查詢數(shù)據(jù)庫得到書籍詳細信息,并序列化(Serialization)為標準XML,文檔通過HTTP協(xié)議返回到用戶手機。軟件反序列化(Deserialization)這些信息并呈現(xiàn)給用戶。
地圖繪制引擎 在獲得圖書館地形描述的XML數(shù)據(jù)后,繪制引擎解析文檔中的地形輪廓、書架位置以及藍牙點位置數(shù)據(jù),當用戶選擇地圖界面時,繪制引擎生成地圖,并將人物當前位置、計算好的最佳路徑繪制到地圖上,最后顯示在PietureBox中(圖3)。
藍牙定位 定位系統(tǒng)每隔2 min搜索周圍藍牙信號發(fā)射點,并把ID號有效的10個藍牙信號發(fā)射點存人隊列中。每10 s從隊列中選取6個點并且三三組合測試信號強度并利用TOA算法估算出用戶所在位置,最后從得到的20個點中計算中心位置作為當前用戶位置。
路徑計算 系統(tǒng)得到用戶位置后,路徑計算系統(tǒng)通過啟發(fā)式搜索算法計算出用戶到書籍的最短路徑,并儲存在內存中。[!--empirenews.page--]
2.2 定位系統(tǒng)服務器端軟件設計
服務器端使用Asp.net開發(fā),具備以下3項主要功能:在線書籍查詢;在線幫助服務;客戶端配置更新。
當接收到客戶端書籍查詢請求時,在線書籍查詢根據(jù)請求類型查詢數(shù)據(jù)庫系統(tǒng)并以XML文檔的形式返回結果。書籍信息包括書名,作者,所在的書架,這樣通過書架位置就可以大致確定書的確切位置。所有數(shù)據(jù)利用無線網(wǎng)絡傳輸,極大地方便了用戶。
圖書館地形信息以及藍牙點分布圖的數(shù)據(jù)儲存在數(shù)據(jù)庫中。地形信息包括圖書館的形狀以及各個書架的位置、長度,以數(shù)據(jù)庫表的形式存放。藍牙信號發(fā)射點分布圖包括每個藍牙信號發(fā)射點位置,惟一標識符(ID)。手機客戶端可以通過客戶端自動更新模塊獲得這些信息。
3 關鍵技術的設計與研究
3.1 藍牙定位原理
3.1.1 傳統(tǒng)測量算法
(1)通過傳播時間測量方法
它通過在已知傳播速度的情況下,無線電波傳播的距離與它傳播的時間成正比。但上述方法存在兩個問題,影響了方法的使用性:
時鐘精度 因為藍牙信號的傳播速度很快,又考慮到各種延遲,所以為了減小測量誤差必須使用高精度的時鐘,時間單位采用ns,這對硬件的要求過高,不實用。
時鐘同步 參與同一個定位過程的參考點之間必須保證時鐘的同步,這樣才能保證測量結果的正確性和精度。
(2)信號衰減測量方法
在理想的傳播環(huán)境下,無線信號的衰減與1/r2成正比(其中r為傳播距離)。但實際上,無線信號在空間傳播時能量的衰減是多種因素共同作用的結果,而不單單與傳播距離有關。在一個地形地物較為復雜的環(huán)境中,無線信號傳播時的衰減會受到反射、折射、多徑效應等多種因素的影響,所以這種利用能量衰減測量距離的方法不如傳播時間測量方法精度高。
3.1.2 改進的TOA算法
從可行性和精度兩個方面綜合考慮之后,我們決定采用依靠經(jīng)驗的定位方法:它同樣是基于無線電波能量來定位的,不同的是它不是根據(jù)能量衰減與距離平方的正比關系來計算距離,而是通過一個數(shù)據(jù)庫來記錄一定數(shù)量的參考位置的信號強度,然后把待測物體檢測到的信號強度與之相比而得到待測物體的信號強度。如果參考位置足夠多的話,這種方法具有很好的精度,并且不受實際地理位置的影響,因為參考位置正是從實際的測量中來的。這種方法的一個缺陷是它要求每次實施時要測量大量的參考位置上的信號強度,并且隨著時間推移,地理環(huán)境必定會有所改變,這時又要對所有的參考位置重新進行測量。
如圖4所示,系統(tǒng)從檢測到的有效藍牙點(通過ID判斷)選取三個點利用圖3所示方法定位。我們檢測到的信號強度值在263~230,隨著距離增大而減小,但不是線性變化。通過數(shù)據(jù)分析發(fā)現(xiàn)0~3 m,3~6 m,6~9 m區(qū)間內可以近似成三個線性區(qū)間。于是分別測量并統(tǒng)計了一些藍牙點0,3,6,9 m的信號強度值,用來輔助計算。藍牙信號強度數(shù)據(jù)擬合結果如圖5所示。
[!--empirenews.page--]
我們把用戶便攜設備(手機)接收到的信號強度值與它到該藍牙信號發(fā)射點的距離擬合為三個線性的函數(shù),信號強度與距離的函數(shù)關系為:
距離在[0,3]m時:Bi=257.323 1*di-1.028 8即di=(1.028 8+Bi)/257.323 1;
距離在[3,6]m時:Bj=255.192 6*dj-0.5045即dj=(0.504 5+Bj)/255.192 6;
距離在[6,9]m時:Bk=270.625 6*dk-3.083 3即dk=(3.083 3+Bk)/270.625 6;
此時,設用戶手機終端(M)位置為(x,y),藍牙信號發(fā)射點BSi,BSj,BSk的坐標分別為(xi,yi),(xj,yj),(xk,yk),用戶從M到BSi,BSj,BSk的距離為:di,dj,dk,則下式成立:
每次定位用戶手機終端從搜索到的有效藍牙信號發(fā)射點中每10 s從隊列中選取最多6個點并且三三組合測試信號強度。之后分別利用上述算法估算出用戶所在位置,最后從得到的20個點中計算中心位置作為當前用戶位置。如果搜索到的有效藍牙信號發(fā)射點小于3個則休眠半分鐘后繼續(xù)尋找,直到找到為止。如果測試得到的信號強度值不在230~270之間,系統(tǒng)則會重新測試其信號強度,如果仍然沒有得到正確結果系統(tǒng)會暫時拋棄這個藍牙信號發(fā)射點,搜索其他有效藍牙信號發(fā)射點進行定位。
3.2 尋路原理
尋路時使用啟發(fā)式廣度優(yōu)先搜索算法。在盲目廣度搜索算法中,人所在的每一個可行位置都可以有4個方向可以行走(前、后、左、右),向任意一個方向行走后如果沒有遇到障礙,則將新的狀態(tài)裝在一個隊列里,然后每次再從隊列里取出一個新的狀態(tài)來進行擴展,直到走到要找的書那里(終點)。人走的每一個新節(jié)點都要記錄下來上一個節(jié)點的編號,最后經(jīng)過回溯找到從起點到終點的路徑。用一個自定義的結構體Queue來記錄節(jié)點。
在找出路徑后,將其記錄在類的一個私有列表成員List<Path>TLP中,其中Path為自定義的結構體,記錄路徑上的橫坐標和縱坐標。
4 結 語
通過藍牙技術和定位導航技術相給合,實現(xiàn)了圖書館書籍定位導航系統(tǒng)。本文論述了書籍定位導航系統(tǒng)的設計,研究了改進的TOA定位算法在藍牙定位中的應用。研制的系統(tǒng)極大地縮短了在圖書館查找圖書的時間,方便了人們的生活,并且本系統(tǒng)在室內定位的實際應用中仍不斷的改進,還可以做出各種改進以適應更多的具體應用,如在博物館、展會等地方,實踐證明本文給出的圖書館書籍定位導航系統(tǒng)具有廣闊的應用前景。