基于Bluetooth和TOA定位算法的圖書館導航系統(tǒng)
我們把用戶便攜設(shè)備(手機)接收到的信號強度值與它到該藍牙信號發(fā)射點的距離擬合為三個線性的函數(shù),信號強度與距離的函數(shù)關(guān)系為:
距離在[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;
此時,設(shè)用戶手機終端(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)則會重新測試其信號強度,如果仍然沒有得到正確結(jié)果系統(tǒng)會暫時拋棄這個藍牙信號發(fā)射點,搜索其他有效藍牙信號發(fā)射點進行定位。
3.2 尋路原理
尋路時使用啟發(fā)式廣度優(yōu)先搜索算法。在盲目廣度搜索算法中,人所在的每一個可行位置都可以有4個方向可以行走(前、后、左、右),向任意一個方向行走后如果沒有遇到障礙,則將新的狀態(tài)裝在一個隊列里,然后每次再從隊列里取出一個新的狀態(tài)來進行擴展,直到走到要找的書那里(終點)。人走的每一個新節(jié)點都要記錄下來上一個節(jié)點的編號,最后經(jīng)過回溯找到從起點到終點的路徑。用一個自定義的結(jié)構(gòu)體Queue來記錄節(jié)點。
在找出路徑后,將其記錄在類的一個私有列表成員ListPath>TLP中,其中Path為自定義的結(jié)構(gòu)體,記錄路徑上的橫坐標和縱坐標。
4 結(jié) 語
通過藍牙技術(shù)和定位導航技術(shù)相給合,實現(xiàn)了圖書館書籍定位導航系統(tǒng)。本文論述了書籍定位導航系統(tǒng)的設(shè)計,研究了改進的TOA定位算法在藍牙定位中的應(yīng)用。研制的系統(tǒng)極大地縮短了在圖書館查找圖書的時間,方便了人們的生活,并且本系統(tǒng)在室內(nèi)定位的實際應(yīng)用中仍不斷的改進,還可以做出各種改進以適應(yīng)更多的具體應(yīng)用,如在博物館、展會等地方,實踐證明本文給出的圖書館書籍定位導航系統(tǒng)具有廣闊的應(yīng)用前景。
評論