Beacon 和 iBeacon 技術(shù)術(shù)語(yǔ)經(jīng)?;Q使用。iBeacon 由 Apple 推出,是 Apple 實(shí)施的藍(lán)牙低功耗 (BLE) 無(wú)線技術(shù),用于為 Apple 的 iPhone 和其他 iOS 設(shè)備提供基于位置的信息和服務(wù)的不同方式。該技術(shù)標(biāo)準(zhǔn)允許移動(dòng)應(yīng)用程序(在 iOS 和 Android 設(shè)備上運(yùn)行)從物理世界中的信標(biāo)收集信息并在手機(jī)上顯示信息。
什么是低功耗藍(lán)牙 (BLE)?
BLE與藍(lán)牙協(xié)議類似,只是功耗不同。BLE是一種無(wú)線個(gè)域網(wǎng)技術(shù),用于短距離傳輸數(shù)據(jù),其設(shè)計(jì)旨在降低能耗。BLE 設(shè)計(jì)為即使使用 CR2032 紐扣電池也可以長(zhǎng)時(shí)間運(yùn)行。BLE 保持與之前的經(jīng)典藍(lán)牙相似的通信范圍。
iBeacon 技術(shù)如何使用 BLE?
借助 iBeacon 技術(shù),Apple 已經(jīng)標(biāo)準(zhǔn)化了 BLE 廣告的格式。標(biāo)準(zhǔn)格式由UUID、Major、Minor、Tx Power四個(gè)主要部分組成。為了更清楚地理解每個(gè)條款,以 Apple Electronics 為例,其中必須在不同國(guó)家/地區(qū)設(shè)置商店數(shù)量。每個(gè)的描述如下:
UUID: UUID 是一個(gè) 16 字節(jié)的字符串,用于識(shí)別一大組 Beacon 中的 Beacon 數(shù)量。這標(biāo)識(shí)了特定應(yīng)用程序的信標(biāo)。例如,如果 Apple 正在維護(hù)一個(gè)離線電子商店鏈,那么所有 Beacon 將共享相同的 UUID,告訴 Beacon 屬于 Apple。
Major:這是一個(gè) 2 字節(jié)的字符串,用于從一大組 Beacon 中識(shí)別出較小的 Beacon 組。因此,如果 Beacon 屬于 Apple,并且 Apple 在一個(gè)城市為 10 家商店設(shè)置了 10 個(gè) Beacon,那么 Apple 就會(huì)知道哪個(gè) Beacon 屬于同一城市的哪個(gè)商店。
Minor:這是一個(gè) 2 字節(jié)的字符串,用于從一組 Beacon 中識(shí)別單個(gè) Beacon。假設(shè) Apple 在商店中設(shè)置了 50 個(gè) Beacon,因此通過(guò)使用 Minor,Apple 將能夠找到客戶在商店中的位置。
Tx 功率:Tx 功率用于確定與信標(biāo)的接近度或距離。必須在校準(zhǔn)之前選擇接近度,并且應(yīng)該提前進(jìn)行硬編碼。選擇的接近度給出了設(shè)備將作為基線的估計(jì)距離。
例如:已經(jīng)設(shè)置和廣播的信標(biāo)將如下所示:
UUID: 36BFDA543784CAD5
專業(yè): 45
未成年人: 7
在本教程中,我們將使用在 iBeacon 模式下設(shè)置的 BLE 模塊來(lái)設(shè)置所有這些參數(shù)。
iBeacon 有多重要?
隨著目標(biāo)營(yíng)銷的日益普及,iBeacon 可以發(fā)揮重要作用。通過(guò)形成 iBeacon 網(wǎng)絡(luò),任何品牌、零售商或商店都將能夠定位活動(dòng)和其他重要的客戶行為數(shù)據(jù),這些數(shù)據(jù)可以進(jìn)一步用于在客戶的智能手機(jī)上發(fā)送高度有意義、上下文相關(guān)和超本地化的廣告。以上面的蘋果為例,假設(shè)一個(gè)拿著智能手機(jī)的顧客在蘋果電子商店附近經(jīng)過(guò)。
當(dāng)安裝在客戶智能手機(jī)上的應(yīng)用程序聽(tīng)到商店安裝了 iBeacon 時(shí),該應(yīng)用程序能夠通過(guò) iBeacon 發(fā)送包含所有優(yōu)惠、廣告和商店詳細(xì)信息的數(shù)據(jù)。如果顧客覺(jué)得優(yōu)惠有吸引力并想購(gòu)買,他就可以進(jìn)入商店并從商店購(gòu)買。除此之外,iBeacon 還可以有一些其他應(yīng)用程序,例如支付、購(gòu)物者/客戶分析以及在機(jī)場(chǎng)、主題公園、音樂(lè)會(huì)場(chǎng)地和許多其他領(lǐng)域的應(yīng)用程序。iBeacon 技術(shù)的潛力是無(wú)限的,還有待發(fā)掘。
在本教程中,我們將使用基于藍(lán)牙 4.0 的 HM10 BLE 模塊演示 iBeacon 。但在開(kāi)始之前,如果您使用克隆的 HM10 模塊,請(qǐng)務(wù)必查看如何更改或刷新克隆 HM-10 模塊的固件,因?yàn)槭袌?chǎng)上的大多數(shù) HM10 模塊都是克隆的。
本HM10 BLE iBeacon 教程將演示如何將 HM10 模塊設(shè)置為 iBeacon 并在 Android 應(yīng)用程序上發(fā)現(xiàn)其詳細(xì)信息,例如 RSSI(接近度、距離)。
所需組件
硬件:
HM10 BLE模塊
USB轉(zhuǎn)TTL轉(zhuǎn)換器
跳線
軟件:
Arduino IDE
Android 應(yīng)用程序(BLE 掃描儀)
本教程中使用的 BLE HM10 使用的是 jnhuamao 官方網(wǎng)站上提供的 HM10 固件 v540 。
在 iBeacon 模式下設(shè)置 HM10 BLE 模塊
最初將 BLE HM10 模塊設(shè)置為 iBeacon 模式。要將 HM10 設(shè)置為 iBeacon 模式,只需按照以下步驟操作。
通過(guò)以下連接方式連接 HM10 模塊和 USB/TTL 轉(zhuǎn)換器。
打開(kāi) Arduino IDE 并選擇 USB/TTL 轉(zhuǎn)換器的 COM 端口
現(xiàn)在打開(kāi) Arduino IDE 的串行監(jiān)視器并選擇“9600”的波特率,并在串行監(jiān)視器上選擇“No Line Ending”。
在得到 HM10 的 OK 響應(yīng)后,依次鍵入以下AT 命令。
AT+更新
AT+復(fù)位
在
AT+MARJ0x1000
AT+MINO0x0007
AT+ADVI5
AT+NAMEiBeacon
AT+ADTY3
AT+IBEA1
AT+DELO2
AT+PWRM0
AT+復(fù)位
注意: AT 命令中紅色標(biāo)記的值是用戶可配置的。它可以由用戶根據(jù)他們的示例進(jìn)行更改。
上面使用的所有 AT 命令的說(shuō)明如下:
AT+RENEW(恢復(fù)出廠設(shè)置)
AT+RESET(重啟 HM10)
AT(AT測(cè)試)
AT+MARJ0x1000(將 iBeacon 主要編號(hào)設(shè)置為 0x1000 HEX 轉(zhuǎn)換為 DEC 中的 4096)
AT+MINO0x0007(設(shè)置 iBeacon Minor Number 為 0x1000 HEX 轉(zhuǎn)換為 DEC 中的 4096)
AT+ADVI5(設(shè)置廣告間隔為 5 即 546.25 毫秒)
AT+NAMEiBeacon(設(shè)置HM-10模塊名稱為iBeacon,根據(jù)使用情況更改)
AT+ADTY3 (設(shè)置HM10不可連接以節(jié)省電量并且沒(méi)有客戶端可以連接模塊有助于節(jié)省更多電量)
AT+IBEA1(在 HM10 上啟用 iBeacon 模式)
AT+DELO2 (將 iBeacon 設(shè)置為廣播模式只是為了省電。HM10 可以廣播它的存在并掃描其他設(shè)備,因?yàn)樗撬{(lán)牙收發(fā)器)
AT+PWRM0(啟用 HM10 自動(dòng)休眠并將功耗從 8 mA 降低到 0.18 mA。但 iBeacon 將始終傳輸)
執(zhí)行所有 AT 命令后,串行監(jiān)視器如下所示:
AT 命令回復(fù)是連續(xù)打印的,沒(méi)有任何新行。您可以輕松區(qū)分兩個(gè) AT 命令的回復(fù),因?yàn)樵诿總€(gè) AT 命令之后,HM10 都會(huì)回復(fù) OK。因此,如果命令是AT +RENEW,那么 HM10 將回復(fù)OK +RENEW,其他 AT 命令也類似。
現(xiàn)在 HM10 設(shè)置為 iBeacon 模式。它現(xiàn)在可以廣播 UUID、Major、Minor 和其他詳細(xì)信息。要查看廣播的詳細(xì)信息,有許多 iBeacon Android App 可用,從 Play Store 或 Apple Store 下載任何 iBeacon Android App,您將能夠找到設(shè)置為 iBeacon 模式的 HM10 模塊。在本教程中,我們使用的是“ BLE Scanner ”Android 應(yīng)用程序。
要禁用 iBeacon 模式,只需使用命令A(yù)T+IBEA0 即可。然后通過(guò)發(fā)送AT+ADTY0使廣告掃描響應(yīng)可連接。然后通過(guò)發(fā)送AT+RESET來(lái)重置 HM10 。
使用適用于 iBeacon 的 BLE Scanner Android 應(yīng)用程序
從 Play 商店下載 BLE Scanner 應(yīng)用程序并打開(kāi)它。
屏幕如下所示。
“附近”選項(xiàng)卡將用于查看所有可用的 iBeacon。要開(kāi)始搜索 iBeacon,請(qǐng)下拉屏幕或轉(zhuǎn)到屏幕右上角的搜索圖標(biāo)。這將開(kāi)始搜索 iBeacons。
搜索 iBeacon 后,可以看到 iBeacon 的 RSSI、UUID、Major 和 Minor。如果您將移動(dòng)設(shè)備或 iBeacon 彼此遠(yuǎn)離,RSSI 將發(fā)生變化。在此屏幕中,RSSI 為 (-50)。這可以在本文末尾給出的演示視頻中看到。
從 iBeacon HM10 取出智能手機(jī)后,RSSI 值從 -50 變?yōu)?-81。如果您移動(dòng)其中一臺(tái)設(shè)備,這些值將不斷變化。
RSSI 信號(hào)可接受值如下:
要在鄰近視圖中找到 iBeacon,只需轉(zhuǎn)到搜索圖標(biāo)旁邊右上角的鄰近圖標(biāo)。屏幕將顯示所有可用的帶有 RSSI 信號(hào)的 iBeacon。
評(píng)論
查看更多