基于BLE的iBeacon技術(shù),以低功耗、易部署的優(yōu)勢,成為室內(nèi)定位與近場通信的首選方案之一。本文將介紹iBeacon的基礎(chǔ)架構(gòu)與工作流程,重點(diǎn)圍繞室內(nèi)定位與近場信息推送兩大典型應(yīng)用,通過一個可運(yùn)行的Demo,從設(shè)備配置、代碼開發(fā)到功能測試,全流程講解應(yīng)用落地的關(guān)鍵步驟,讓讀者快速掌握相關(guān)技術(shù)。
本期一起來學(xué)習(xí)iBeacon基礎(chǔ)知識和示例demo:
使用Air8000核心板作為iBeacon設(shè)備,定期廣播iBeacon信號,其他支持iBeacon的設(shè)備(比如手機(jī))可以接收這些信號并進(jìn)行相應(yīng)的處理。
一、iBeacon基礎(chǔ)知識
iBeacon技術(shù)是Apple公司在2013年9月發(fā)布的一種基于BLE藍(lán)牙的通信協(xié)議,主要用于短距離傳送少量數(shù)據(jù),它規(guī)定了藍(lán)牙設(shè)備如何以一種特定的格式廣播數(shù)據(jù)。
現(xiàn)在,它已成為整個行業(yè)的標(biāo)準(zhǔn),安卓設(shè)備也同樣可以接收和處理iBeacon信號。
1.1 工作原理
iBeacon通過周期性廣播包含唯一標(biāo)識符(UUID、Major、Minor)的數(shù)據(jù)包,使智能設(shè)備在接收信號后,結(jié)合信號強(qiáng)度(RSSI)估算距離,實(shí)現(xiàn)室內(nèi)定位、場景觸發(fā)等功能。
1.2 廣播數(shù)據(jù)格式
iBeacon規(guī)定了一個30個字節(jié)的廣播包。其中需要重點(diǎn)解析的是后21個字節(jié)(即從UUID開始),此前字節(jié)重在標(biāo)識是否為ibeacon協(xié)議。
iBeacon廣播數(shù)據(jù)包的完整格式:

其中標(biāo)志位、長度、類型不需要處理,我們只需要關(guān)注以下字段。
廠商標(biāo)識符(2字節(jié)):是藍(lán)牙技術(shù)中用于唯一標(biāo)識設(shè)備制造商或品牌方的2字節(jié)(16 位)編碼,范圍是0x0000~0xFFFF(即:0~65535),它的核心作用是區(qū)分不同廠商的藍(lán)牙設(shè)備,確保數(shù)據(jù)解析和兼容性。
iBeacon類型標(biāo)識符(2字節(jié)):固定為0x02,0x15,表示子類型為ibeacon。
Proximity UUID(16字節(jié)):通用唯一標(biāo)識符。這是一個128位(16字節(jié))的唯一標(biāo)識符,用于區(qū)分你所在的iBeacon網(wǎng)絡(luò)。
例如:一個商店的所有iBeacon可以使用同一個UUID,這樣你的應(yīng)用就可以知道用戶進(jìn)入了該商店區(qū)域。
通常,一個組織或一個應(yīng)用使用同一個UUID,然后通過Major和Minor來進(jìn)一步細(xì)分區(qū)域和設(shè)備。
Major(2字節(jié)):主標(biāo)識,用于區(qū)分同一組織(UUID相同)下的不同區(qū)域或組別。Major是一個16位的無符號整數(shù),用于將一組相關(guān)的設(shè)備進(jìn)行分組。
例如:一個連鎖商店的每個分店可以使用相同的Major值,這樣應(yīng)用就知道用戶進(jìn)入了哪個分店。
Minor(2字節(jié)):次標(biāo)識,用于在同一個Major組內(nèi)進(jìn)行更細(xì)粒度的區(qū)分。Minor也是一個16位的無符號整數(shù),用于標(biāo)識特定的iBeacon。
例如:在一個分店內(nèi),每個貨架或區(qū)域可以有一個唯一的Minor值。這樣,應(yīng)用就可以知道用戶接近哪個具體的貨架。
Signal Power(1字節(jié)):校準(zhǔn)信號強(qiáng)度的參考值,單位dBm。(該位為8位有符號數(shù)據(jù))
這個字段是8位有符號整數(shù),表示在距離iBeacon設(shè)備1米處測量到的信號強(qiáng)度(RSSI)。這個值用于校準(zhǔn),幫助估算與設(shè)備之間的實(shí)際距離。設(shè)備接收到信標(biāo)的信號強(qiáng)度(RSSI)后,與這個校準(zhǔn)值進(jìn)行比較,通過信號衰減模型來估算距離。
注:如何獲取廠商標(biāo)識符?
1)向藍(lán)牙技術(shù)聯(lián)盟(SIG)直接申請;
2)使用已授權(quán)廠商的ID,申請得到其授權(quán)。
二、iBeacon示例demo
最新源碼下載及實(shí)操教程詳見:https://docs.openluat.com/air8000/luatos/app/BLE/ibeacon/
2.1 main.lua
主程序文件main.lua是整個項(xiàng)目的入口點(diǎn),它負(fù)責(zé)初始化系統(tǒng)環(huán)境。

2.2 ble_ibeacon.lua
iBeacon功能的具體實(shí)現(xiàn),負(fù)責(zé)藍(lán)牙初始化、廣播配置和異常處理。

2.3 check_wifi.lua
Air8000的藍(lán)牙功能依賴Wi-Fi協(xié)處理器,需確保Wi-Fi固件為最新版本。本腳本文件檢查當(dāng)前Air8000模組的Wi-Fi固件是否為最新版本;若不是,則自動啟動升級(需插入可聯(lián)網(wǎng)的SIM卡)。

三、示例運(yùn)行結(jié)果
根據(jù)實(shí)操教程搭建好硬件環(huán)境,LuaTools燒錄內(nèi)核固件和demo腳本代碼,燒錄成功后開機(jī)運(yùn)行。
接下來,通過藍(lán)牙APP掃描并查看iBeacon信息。
打開nrf connect藍(lán)牙調(diào)試軟件,找到作為iBeacon設(shè)備的Air8000,點(diǎn)擊空白處展開,不需要CONNECT:

展開后可以查看iBeacon的各種信息,包含廠商特定數(shù)據(jù)格式,iBeacon類型標(biāo)識符,以及設(shè)置的UUID、Major、Minor等關(guān)鍵參數(shù)。

今天的內(nèi)容就分享到這里了~
審核編輯 黃宇
-
低功耗
+關(guān)注
關(guān)注
12文章
3565瀏覽量
106759 -
BLE
+關(guān)注
關(guān)注
13文章
785瀏覽量
66427 -
iBeacon
+關(guān)注
關(guān)注
5文章
46瀏覽量
31148
發(fā)布評論請先 登錄
藍(lán)牙信標(biāo)(BLE信標(biāo))選型與室內(nèi)定位應(yīng)用指南
室內(nèi)定位無線技術(shù)的分類和原理全解析(一)
智慧醫(yī)院方案之藍(lán)牙定位技術(shù)的核心:基于低功耗藍(lán)牙(BLE)技術(shù)拆解和應(yīng)用
藍(lán)牙定位技術(shù)原理:從BLE信號到高精度定位的實(shí)現(xiàn)邏輯
藍(lán)牙室內(nèi)定位核心技術(shù)解析:RSSI 與 AOA 的測距原理對比與精度升級邏輯
常見的室內(nèi)定位技術(shù)有哪些?深度剖析UWB、藍(lán)牙定位等技術(shù)的優(yōu)劣與應(yīng)用場景
【室內(nèi)定位UWB模組】工廠人員和設(shè)備“秒定位”,高精度、高安全!
如何選擇室內(nèi)定位硬件
什么是室內(nèi)定位導(dǎo)航技術(shù)
高性能低功耗雙核Wi-Fi6+BLE5.3二合一
PTR54L15系列低功耗無線多協(xié)議模組
低功耗藍(lán)牙BLE無感靠近解鎖方案介紹
基于藍(lán)牙模組Beacon+觀察者模式實(shí)現(xiàn)資產(chǎn)管理和室內(nèi)定位
低功耗藍(lán)牙(BLE)技術(shù),IoT短距無線通信的理想之選
u-blox u-locate解決方案助力實(shí)現(xiàn)亞米級室內(nèi)定位精度
低功耗BLE+iBeacon:打造室內(nèi)定位與近場通信應(yīng)用!
評論