基于微芯科技BM70/1藍(lán)牙模塊iBeacon技術(shù)在定位系統(tǒng)的應(yīng)用
作者/蔚湘紳 (貝能電子(福建)有限公司,遼寧 沈陽 110031)
本文引用地址:http://www.ex-cimer.com/article/201901/397260.htm摘要:隨著互聯(lián)網(wǎng)和電子技術(shù)的發(fā)展,定位、導(dǎo)航類的應(yīng)用日漸出現(xiàn)在人們身邊,并給生活帶來更多的便捷。傳統(tǒng)定位技術(shù)多用于室外定位,基本實(shí)現(xiàn)方式都是依靠GPS,用于行車導(dǎo)航等應(yīng)用。而室內(nèi)定位這一新興領(lǐng)域正開始慢慢走入人們的視野。不過,GPS并不適用于室內(nèi)定位,而近年來剛開始流行的BLE Beacon技術(shù),則有更多的優(yōu)勢。本文描述了一種基于BLE技術(shù)的室內(nèi)定位系統(tǒng),并簡單介紹幾種合適的應(yīng)用。
關(guān)鍵詞:藍(lán)牙模塊;Beacon;定位;室內(nèi)
1 基于iBeacon技術(shù)的定位系統(tǒng)原理簡介
基于Beacon的定位技術(shù),基本定位原理如圖1。簡而言之,基于iBeacon的定位系統(tǒng)是通過基站原理來定位的,系統(tǒng)中每一個iBeacon基站通過藍(lán)牙廣播自己的身份信息,當(dāng)待定位設(shè)備進(jìn)入覆蓋區(qū)域后,通過檢測周圍iBeacon基站的信號強(qiáng)度,即可知道自己與每個基站間的距離。多個基站信息組合起來,就可以推算出自己的位置。
基于BLE的iBeacon,與經(jīng)典藍(lán)牙顯著的區(qū)別是:①極低的功耗,對比經(jīng)典藍(lán)牙,BLE可降低90%以上的功耗?;究梢允褂秒姵毓╇?。②無需配對,通過廣播的方式進(jìn)行數(shù)據(jù)傳輸。③對于iOS系統(tǒng),同樣支持后臺喚醒,保證客戶良好的使用體驗(yàn)。
一個Beacon廣播包通常包含如表1的信息。
表1的部分英文含義如下。
Proximity UUID:廠商識別號,區(qū)別不同廠商生產(chǎn)的Beacon標(biāo)簽。
Major:群組分類,區(qū)別不同場景間的Beacon標(biāo)簽。
Minor:區(qū)別同一場景下不同位置的Beacon標(biāo)簽。
Tx Power:用于測量設(shè)備與Beacon標(biāo)簽之間的距離。
顯而易見,Tx Power是這場戲的主角。Tx Power越大,表示設(shè)備與標(biāo)簽間的距離越近,反之則距離越遠(yuǎn)。當(dāng)設(shè)備檢測到多個Beacon標(biāo)簽的Tx Power后,即可估算出自己的大概位置。
通常情況下,距離估算只定義了三個粗略的距離等級,即:
?非常近:10 cm內(nèi)。
?近:1 m內(nèi)。
?遠(yuǎn):1 m外。
總之,基于iBeacon標(biāo)簽的室內(nèi)定位技術(shù)是無法完成精確定位的,但是對于室內(nèi)向?qū)?、引流等功能來說,精度是足夠用的。
2 平臺及方案
BM70/1系列藍(lán)牙模組是美國微芯(Microchip)科技專門為藍(lán)牙IoT應(yīng)用推出的低功耗藍(lán)牙(BLE)模組。模組使用自家基于8051內(nèi)核的藍(lán)牙芯片IS1870。具有低成本、低功耗、小尺寸及易于開發(fā)等特點(diǎn),是非常適合基于Beacon的室內(nèi)定位系統(tǒng)的一款藍(lán)牙模組。
該系列模組支持BLE4.2標(biāo)準(zhǔn)。供電范圍1.9 V~3.6 V。集成溫度傳感器、供電電壓檢測。同時提供有/無屏蔽罩及陶瓷天線的型號。最小尺寸僅為11.5 mm x 9 mm。僅需簡單的幾個外圍器件即可工作。同時,該系列模組為透傳模組,可以預(yù)配置設(shè)備名、密碼等基本信息,只需簡單的串口指令即可完成藍(lán)牙的數(shù)據(jù)收發(fā),可以最大程度地簡化客戶前期的研發(fā)工作。
在基于Beacon的定位系統(tǒng)中,可以使用具有最小尺寸的BM71藍(lán)牙模組,以盡可能使Beacon節(jié)點(diǎn)具有更小的尺寸以便于安裝布置。對于iBeacon應(yīng)用,微芯科技提供了一套方便的UI配置界面幫助客戶快速配置廣播信息。
BM70/1內(nèi)部存儲空間分為2部分,分別為FLASH和EEPROM區(qū)。其中,F(xiàn)lash區(qū)用于存儲產(chǎn)品級藍(lán)牙固件,該固件以HEX形式提供,用戶不需要2次修改即可直接使用。EEPROM區(qū)用于存儲配置信息,客戶可以提前配置好藍(lán)牙模組的Device Name、Pin Code及UUID等各種信息并燒錄到模組中。
同時,對于有特殊需求的用戶,微芯科技還提供了一套完整的SDK及各類應(yīng)用例程,可以對模組進(jìn)行深度二次開發(fā)。
對于上述三部分,官方提供的軟件分為別:IS1870_BM70_FlashUpdateTool;IS187x_102_BLEDK3_UI;IS187x MBIoT SDK。
3 Beacon標(biāo)簽的實(shí)現(xiàn)
以使用固件和UI配置的方式實(shí)現(xiàn)為例,用戶可以通過如下幾個簡單步驟完成一個Beacon標(biāo)簽的配置。
①將TEST PIN置高進(jìn)入調(diào)試模式。
②使用FlashUpdateTool將官方提供的固件寫入BM70/1的FLASH中。
③使用BLEDK3_UI,按需要配置好藍(lán)牙模組的基本信息后,寫入BM70/1的EEPROM中。
④將TEST PIN置低進(jìn)入運(yùn)行模式并重新上電,此時,一個Beacon標(biāo)簽就配置好了。
4 定位算法的實(shí)現(xiàn)
已知三點(diǎn)位置為:A(X1,Y1),B(X2,Y2),C(X3,Y3),已知D點(diǎn)(X0,Y0)到三點(diǎn)的距離為d1,d2,d3,如圖2。
此時,D點(diǎn)位置可以通過下列方程中的任意兩個進(jìn)行求解:
(X0-X1)2+(Y0-Y1)2=d12
(X0-X2)2+(Y0-Y2)2=d22
(X0-X3)2+(Y0-Y3)2=d32
5 結(jié)論
基于Beacon的定位系統(tǒng)非常適合室內(nèi)定位應(yīng)用。標(biāo)簽可以使用電池供電,布置非常方便,應(yīng)用很多,例如智慧商場推送及引導(dǎo),停車場反向定位,微信搖一搖找周邊用戶等,愿各位讀者發(fā)揮想象,找到最適合自己的應(yīng)用。
參考文獻(xiàn)
[1]Microchip.BM70/1 datasheet.
[2]Microchip.BM70_EvaluationBoardUserGuide.
本文來源于科技期刊《電子產(chǎn)品世界》2019年第2期第19頁,歡迎您寫論文時引用,并注明出處
評論