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