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