熊維祥
摘要:本文著重研究算法和軟件的實現(xiàn)過程,從ibeacon原理出發(fā),分析技術(shù)特點,規(guī)避技術(shù)漏洞。開發(fā)研究過程中利用協(xié)調(diào)關(guān)系函數(shù),優(yōu)化基站模型,有效避免了環(huán)境信號干擾,通過循環(huán)過濾事件將實時性和準確率最優(yōu)化。
關(guān)鍵詞 :beacon;定位;藍牙
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)02-0251-02
1 引言
無線傳感器網(wǎng)絡由于其巨大的應用前景引起國內(nèi)外眾多研究者和工業(yè)界的青睞。其集感知、計算、無線通信能力為一體, 通過各類微型傳感器對感知目標進行實時監(jiān)測并產(chǎn)生大量的感知數(shù)據(jù)[1]。低功耗藍牙等無線設(shè)備也越來越多地運用于感知學習領(lǐng)域,增強了體驗式經(jīng)濟發(fā)展的前景[2]。
低功耗藍牙(Bluetooth Low Energy,BLE [3])設(shè)備在2013年由蘋果公司率先推出,以ibeacon基站為主的藍牙定位設(shè)備也開始應用于人們的日常生活。目前,我國教育領(lǐng)域?qū)τ趇beacon的應用開發(fā)局限于圖書館、博物館的定位[4],沒有將ibeacon的功能充分挖掘出來。而涉及定位算法、軟件開發(fā)的研究占少數(shù),其中的算法多為基于二維的三環(huán)算法或指紋算法,忽視了現(xiàn)實的空間因素。本文將針對研究領(lǐng)域內(nèi)教育產(chǎn)品的不足進行手機系統(tǒng)和定位算法進行研究設(shè)計。
2 系統(tǒng)設(shè)計
2.1 設(shè)計目標
1)基于現(xiàn)實搭建ibeacon基站環(huán)境,設(shè)計區(qū)域定位算法和精確點算法實現(xiàn)泛定位和精確定位。
2)設(shè)計并制作定位模型,與定位算法相匹配。
3)利用java中Bluetooth_Service接口制作android終端APP,要求能夠根據(jù)實時環(huán)境更新距離數(shù)據(jù)。
2.2 設(shè)計準備
2.2.1 基站選擇
本次研究的Beacon基站選用April beacon,測試過程使用2臺,Txpower均為-58;其參數(shù)信息如表1所示:
其中UUID為唯一標識符,是區(qū)分基站最準確的屬性,當有同組基站信號干擾時,終端應用只需檢測UUID就能排除干擾因素。Beacon利用BLE接近感知技術(shù),終端得以識別UUID及實時RSSI信號強度,將信號衰減量通過數(shù)據(jù)算法轉(zhuǎn)化為物理距離,從而實現(xiàn)區(qū)域定位。
2.2.2 系統(tǒng)層次設(shè)計
2.3 算法設(shè)計
2.3.1 RSSI模型
本文對于RSSI的模型采用傳統(tǒng)對數(shù)一常態(tài)分布模型,在實驗過程中,由于環(huán)境變量的因素,本文在傳統(tǒng)公式的基礎(chǔ)上做了相應改進。RSSI由信標節(jié)點發(fā)送,由接收到此信號的未知節(jié)點測量而得。在不考慮信號增益的條件下,信號接收強度等于信號發(fā)射強度減去信號傳播損耗。而自由空間信號模型和對數(shù)—常態(tài)分布模型是信號傳播損耗的理論模型中最常用的兩種模型[5]。傳統(tǒng)對數(shù)模常態(tài)分布模型在真實情況下受時間片長度影響會出現(xiàn)波動誤差,對于RSSI精確讀數(shù)負面干擾較強
[RSSI=-abs(10*klgPtPodptdpo)] (1)
Pt是空間環(huán)境中相距t(m)時信號強度損耗;Po是理想環(huán)境下距離為o時的強度損耗
;k為信號強度損耗系數(shù),實驗中系數(shù)取值在1:1到10:1之間。
2.3.2 雙基站定位算法
測距方案采用基于分析RSSI信號強度實現(xiàn),終端接口層接受BLE信號,根據(jù)RA(終端與基站相距1m時的RSSI強度)和實際測量值,計算出相距距離。
測距模型算法如下:
[D=abs(Ri-RA)/n*10] (2)
Ri是RSSI的實際測量值,接收功率的單位是dBm;n為信號衰減因子,與測量環(huán)境和干擾因素相關(guān)。此模型忽略了高斯分布隨機變量,原因在于手機程序在進行指數(shù)對數(shù)計算時必須取整形,為了提高精確度而未使用隨機變量。
設(shè)雙基站坐標為i1(i1x , i1y),i2(i2x , i2y)。消息彈出區(qū)域信號如圖:
設(shè)置兩基站各發(fā)出雙環(huán),i1內(nèi)環(huán)半徑為d1,外環(huán)半徑為d2;i2內(nèi)環(huán)半徑s1,外環(huán)半徑s2。各半徑在應用時可以不相等。區(qū)域判定算法如下:
If(get_device(0)&&get_device(1))
{If((get_device(0).RSSI-RA)/n*10>=d1&&(get_device(0).RSSI-RA)/n*10>=d2)
{if((get_device(1).RSSI-RA)/n*10>=s1&&(get_device(1).RSSI-RA)/n*10>=s2)
{Return true;}}}
實際測試中RA為整形常量,取值-43;信號衰減系數(shù)n為單精度常量,取值2.5。
觸發(fā)區(qū)域數(shù)學計算模型如下:
[0r1d22-x2d2-s21-x2s1] (3)
[0r2s22-x2s2-d21-x2d1]
其中r1為d2環(huán)與s1環(huán)焦點到y(tǒng)軸長度,r2為s2環(huán)與d1環(huán)焦點到y(tǒng)軸長度。實際應用時須將s1、s2、d1、d2帶入,連立方程求得r1、r2的值。
3 應用設(shè)計
3.1 應用背景
目前國內(nèi)主流的智能導覽系統(tǒng)主要分為兩種類型: 專用的導覽系統(tǒng)和以移動互聯(lián)網(wǎng)設(shè)備為載體的通用導覽系統(tǒng)。專用的導覽系統(tǒng)是一種軟硬件定制的設(shè)備,能夠自動感應、自動講解,參觀者攜帶導覽系統(tǒng)進入?yún)^(qū)域后,使用無線射頻技術(shù)來自動感應,不受到參觀路線的限制。以移動互聯(lián)網(wǎng)設(shè)備為載體的通用導覽設(shè)備以軟件形式存在,一般在手機、平板電腦上使用,也可以通過掃描景點的二維碼來獲得景點的介紹和講解,該類型的導覽系統(tǒng)體驗性明顯不如專用型的導覽系統(tǒng)。[6]
3.2 藍牙數(shù)據(jù)包結(jié)構(gòu)
BLE 的數(shù)據(jù)包結(jié)構(gòu),前導字符占用 1 個字節(jié),接收方使用前導字符來進行頻率同步。訪問地址占用 4 個字節(jié),訪問地址決定了數(shù)據(jù)包是在廣播信道還是數(shù)據(jù)信道上發(fā)送。用于廣播信道的訪問地址固定為 0x8E89BED6,數(shù)據(jù)信道的訪問地址在設(shè)備初始化狀態(tài)時隨機生成。接下來是長度為 2-39 個字節(jié)的協(xié)議數(shù)據(jù)單元,上層數(shù)據(jù)將被封裝在這里。最后是 3 個字節(jié)的循環(huán)冗余校驗碼。
3.3 終端開發(fā)
IBeacon 作為藍牙網(wǎng)絡中的外圍設(shè)備LeDeviceListAdapter,設(shè)備啟動后需要按照順序?qū)︽溌穼?、硬件抽象層、主機控制器接口、操作系統(tǒng)抽象層、邏輯鏈路控制和適配協(xié)議、通用訪問配置、通用屬性配置、安全管理器等進行初始化。
在主類添加BLE設(shè)備函數(shù)如下:
public void addDevice(iBeacon device) { //添加函數(shù)所傳參數(shù)為自定義iBeacon類
if(device != null) { //判斷設(shè)備是否為空
for(int i = 0; i < this.mLeDevices.size(); ++i) { //不為空時進入循環(huán),mLeDevices為當前Arraylist,泛類為iBeacon型。
String btAddress = ((iBeacon)this.mLeDevices.get(i)).bluetoothAddress;
// 將藍牙設(shè)備地址信息轉(zhuǎn)換為string類型并在如下判斷語句中進行比對。}}
4 結(jié)論
在本次開發(fā)研究中,研究者提出了不同于常規(guī)雙環(huán)定位的新穎算法:以單基站的回顯數(shù)據(jù)作為初步參考數(shù)據(jù),在給定范圍內(nèi)加入第二基站數(shù)據(jù)進行綜合分析,過濾震蕩干擾,使最終定位距離區(qū)域穩(wěn)定。固定基站或移動基站都不干擾終端數(shù)據(jù)的正常顯示,這得力于函數(shù)設(shè)計中的控制循環(huán),以及設(shè)備信號范圍判斷。本次研究成果可投入到較封閉的室內(nèi)環(huán)境,在限定范圍內(nèi)對情景感知類學習有較好的應用前景。
參考文獻:
[1] 李超.基于Beacon技術(shù)的兒童游樂項目設(shè)計研究[J].設(shè)計藝術(shù)研究,2015(4).
[2] 陳和康.一種Beacon協(xié)助的傳感器網(wǎng)絡定位方法[J].計算機應用與軟件,2009(2).
[3] Wikipedia.Bluetooth Low Energy[DB/OL].https://en.wikipedia.org/wiki/Bluetooth_low_energy
[4] 陳翠琴.基于iBeacon技術(shù)的“互聯(lián)網(wǎng)+”智慧校園應用研究[J].電子技術(shù)與軟件工程,2015(21).
[5] 譚志.無線傳感器網(wǎng)絡RSSI定位算法的研究與改進[J].北京郵電大學學報,2013(3).
[6] 吳棟淦.基于iBeacon的智能導覽系統(tǒng)的設(shè)計與實現(xiàn)[J].貴陽學院學報:自然科學版,2014(4)