基于Bluetooth和TOA定位算法的圖書館導航系統
我們把用戶便攜設備(手機)接收到的信號強度值與它到該藍牙信號發射點的距離擬合為三個線性的函數,信號強度與距離的函數關系為:
距離在[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),藍牙信號發射點BSi,BSj,BSk的坐標分別為(xi,yi),(xj,yj),(xk,yk),用戶從M到BSi,BSj,BSk的距離為:di,dj,dk,則下式成立:

每次定位用戶手機終端從搜索到的有效藍牙信號發射點中每10 s從隊列中選取最多6個點并且三三組合測試信號強度。之后分別利用上述算法估算出用戶所在位置,最后從得到的20個點中計算中心位置作為當前用戶位置。如果搜索到的有效藍牙信號發射點小于3個則休眠半分鐘后繼續尋找,直到找到為止。如果測試得到的信號強度值不在230~270之間,系統則會重新測試其信號強度,如果仍然沒有得到正確結果系統會暫時拋棄這個藍牙信號發射點,搜索其他有效藍牙信號發射點進行定位。
3.2 尋路原理
尋路時使用啟發式廣度優先搜索算法。在盲目廣度搜索算法中,人所在的每一個可行位置都可以有4個方向可以行走(前、后、左、右),向任意一個方向行走后如果沒有遇到障礙,則將新的狀態裝在一個隊列里,然后每次再從隊列里取出一個新的狀態來進行擴展,直到走到要找的書那里(終點)。人走的每一個新節點都要記錄下來上一個節點的編號,最后經過回溯找到從起點到終點的路徑。用一個自定義的結構體Queue來記錄節點。
在找出路徑后,將其記錄在類的一個私有列表成員ListPath>TLP中,其中Path為自定義的結構體,記錄路徑上的橫坐標和縱坐標。
4 結 語
通過藍牙技術和定位導航技術相給合,實現了圖書館書籍定位導航系統。本文論述了書籍定位導航系統的設計,研究了改進的TOA定位算法在藍牙定位中的應用。研制的系統極大地縮短了在圖書館查找圖書的時間,方便了人們的生活,并且本系統在室內定位的實際應用中仍不斷的改進,還可以做出各種改進以適應更多的具體應用,如在博物館、展會等地方,實踐證明本文給出的圖書館書籍定位導航系統具有廣闊的應用前景。
評論