Android 上的 iBeacon SDK

目錄
ibeacon sdk

信標的可能用例和商業模型,即使在建築物內也能實現與位置相關的用戶交互,目前正在激烈辯論. 店內廣告和折扣, 移動支付, 導航, 公共交通, 公共建築和博物館的本地化以及家庭自動化只是冰山一角. 當然還有無處不在的數據收集 – 現在是新的並帶有精確的位置信息. 在詳細了解 iBeacon 技術之前, 我們也會在文章中提到 iBeacon SDK.

什麼是炒作?

蘋果基於低功耗藍牙開發的 iBeacon 協議,支持多種設備. 文章解釋了 iBeacons 和低功耗藍牙,並使用為位置相關購物清單開發 Android 應用程序的示例來展示應用程序與 iBeacons 的位置相關交互. 實現基於 MOKOSmart iBeacon SDK.

信標, 藍牙 4.0, 成為, 聰明的. 沃特?

iBeacon 的基礎技術是藍牙. 低功耗藍牙 (成為), 這通常被稱為藍牙智能營銷標籤, 已包含在版本中 4.0 藍牙標準. BLE 不向後兼容以前稱為藍牙經典的版本. 藍牙 4.0 指定符合標準的設備必須實現一種或兩種變體, IE. 低能量或經典.

BLE 已在幾乎所有當前的智能手機上實現,例如 iPhone 4+ 和三星 Galaxy 3+. iPhone 既可以作為 iBeacon 信號的接收器,也可以作為 – 不像安卓 – 有一個 信標 本身. Android 包含 API 版本的 BLE 驅動程序 18, IE. 安卓 4.3. 順便, 當前的計算機也支持 BLE. 在 Windows 中, 然而, 驅動程序僅在 Windows 上安裝 8 從 2011 年年中左右開始, BLE 已在 Apple 電腦上可用.

BLE 持續支持心率監測器、玩具直升機等多種外圍設備, 溫度計, 健身器材和牙刷, 是的, 牙刷和運動鞋.

與 iBeacons 相關的有趣之處在於 Sensor

德州儀器 (TI) 的標籤, 除了作為 iBeacon 的功能外,它還可以測量溫度, 濕度, 壓力, 和加速度. 傳感器標籤還帶有陀螺儀, 磁力計, 和兩個硬件按鈕. 遠程控制演示同時傳輸和顯示演講者手部的水分和溫度的理想設備. 我想我的下一個沙坑項目將是怯場. 您可以在藍牙官方網站上找到詳細的設備列表.

關貿總協定準備就緒

設備用於交換數據的通信模型稱為 GATT – 通用屬性配置文件. GATT 定義了客戶端和服務器的角色. 客戶端通過服務向服務器請求數據. 一個服務將幾個原子鍵/值對分組, 被稱為特徵. 服務和特徵都通過 UUID 標識,還可以包含進一步的描述. 服務及其特徵以配置文件的形式編目; 該規範從醫療保健領域定義了整個範圍, 運動和健身和 – 在我們的情況下很有趣 – 接近感應. 可以在 GATT 規範下的藍牙開發人員門戶中找到各個配置文件及其服務和特性.

gatt ibeacon sdk

到達燈塔

那麼什麼是 iBeacons? iBeacon 是一項非常簡單的技術 (以及 Apple 的商標,可實現與應用程序的位置相關交互. 信標發出的信號可以被兼容 BLE 的設備接收並由安裝在其上的應用程序處理信號包含信標的標識和接收強度. iBeacons 本身是, 所以 – 與媒體的不准確聲明相反 – 無法交付內容或跟踪客戶行為. 這是接收應用程序的責任,因此是開發人員的責任.

iBeacon IRL

在德國大規模部署 iBeacons 可能需要很長時間, 但有一些來自美國和荷蘭的例子. 例如, 美國職業棒球大聯盟已裝備 28 帶有 iBeacons 的體育場並使用它們, 除其他事項外, 用於在 MLB 應用程序中籤到 “在棒球場”.

在安特衛普的魯本斯之家實施了展示, 為遊客提供繪畫X光片和尋寶遊戲等背景信息.

尺寸方面的主要例子來自蘋果本身. 超過 250 Apple Stores 已配備 iBeacons. 與 Apple Store 應用程序結合使用, 位置相關的消息會發送給店內的買家. 然而, 目前可能的互動似乎非常有限: 第一次評論報告只有兩個不同 (而且很一般) 他們會收到的消息. 未提供有關附近個別產品的特別優惠或特定信息.

功能

iBeacon SDK 不使用單獨的 BLE 配置文件, 而是藍牙廣告包, IE. 廣播包, 用於發現藍牙設備. 如果您對包的確切結構感興趣, 你可以讀這個, 例如, 在 Adam Warski 的博客上.

這樣的包定期發送,可以通過 GATT 進行配置. 它包含信標的 UUID, 這通常由製造商預先配置. 所以所有 MOKOSmart 信標發送相同的 UUID. 主要和次要 ID 也用於識別單個信標. 主要 ID 可以代表, 例如, 連鎖店的分店或餐廳, 單個架子或桌子的次要 ID.

此外, 信號強度包含在廣告包中, 可用於測量接收器與信標的距離. 然而, 你不能指望這裡的高精度, 因為信號可能會被家具或人等空間障礙物阻擋.

IBeacon SDK 為應用程序與此信息的交互提供了兩個概念: 測距和區域監測. 測距時, 確定到信標的距離. 由於上述不准確, 這僅發生在三個階段. “即時” 是幾厘米的距離, “靠近” 是幾米和 “遠的” 是十多米的距離. 僅當接收應用程序處於活動狀態時才可以進行測距.

這對於區域監控不是必需的. 在這種模式下, 當進入或離開由一個或多個信標定義的區域時,也可以通知不活動的應用程序. 最近,這項技術對廣告和零售的吸引力越來越明顯. 此外, 對於大多數信標, 可配置傳輸強度和間隔,以因地制宜優化電池壽命.

“大多數信標” 意味著市場上有不止一家 iBeacons 製造商. 實際上, 有不少: 摩科智能, 聯繫方式, 冰, 我感激你, 和雲台. 除了硬件, 這些製造商還提供 iBeacon SDK 服務和用於管理信標的雲解決方案. 我們中間的愛好者可以使用 Raspberry Pi 或 Arduino 以相對較少的努力自行設置 iBeacon 發射器.

閃爍列表

讓我們假設以下情況的實現示例: 週六早上開發商在超市. 飢餓的孩子們在家裡等著,下午學校有烘焙義賣. 只有這樣週末才會真正開始. 所以有充分的理由快點. 很遺憾, 購物清單很長,不適應超市的佈局. 如果超市在不同部門都配備了iBeacons, 購物清單應用程序可以突出顯示適當的條目並顯著降低 (當然完全虛構) 開發商.

由於我們的應用程序必須與藍牙通信, 我們首先需要 Android 清單中的 BLUETOOTH 和 BLUETOOTH_ADMIN 授權. 為了能夠使用 Estimote API 提供的服務與 iBeacons 進行交互, 我們還必須讓大家知道並將下載的 API 放在我們的 libs/目錄中.

我們的原型包括一個簡單的, 預填充列表和預定義區域, IE. 我們超市的部門. 列表條目知道它被分配到哪個區域. 在我們的例子中, 我們只為每個區域分配一個信標. 也可以將一系列信標合併到一個區域中. 主要活動負責識別當前區域並將此信息轉發給適配器, 它負責突出顯示列表條目. 此外, 我們添加了選擇沒有信標的活動區域的選項,使我們的 UI 無需額外硬件即可測試.

在活動的創建方法中, 我們從 MOKOSmart 為我們的應用實例化了一個信標管理器. 我們通過讓適配器知道當前區域並定義信標掃描的間隔來使用偵聽器進行區域監控. 在示例中, 我們定義應該掃描一秒然後 250 女士應該等待. 相對積極地選擇這些值以在測試中快速獲得結果. 事實上, 響應能力與. 滿足電池壽命. 在這個原型, 我們還用虛擬值填充我們的購物清單. 我們開始或停止監控 () 開始或停止 () 主要活動的方法.

物品清單

適配器是作為 android.widget.Array Adapter 的派生實現的,並覆蓋了 get View () 方法, 為要顯示的每一行調用. 項目的標題寫在佈局中定義的評論的第一行, 在第二個指定區域.

從清單中可以看出 1, 輸入的區域被傳輸到輸入區域中的適配器 () MonitoringListener 的回調, 分配給我們的 BeaconManager: 項目清單 適配器. 隔離 (地區). 調用 getView 時 (), 這會檢查行中條目的區域是否與當前區域匹配. 如果是這種情況, 它為線條的背景著色. 附加地或替代地, 還可以通過對列表進行排序來將當前區域的條目放在開頭.

應用代碼清晰; 接收 iBeacon 信號並在應用程序中處理它們不需要很多實現工作. iBeacon 測距和監控概念映射在 MOKOSmart iBeacon SDK 中,以便直觀使用. 可以在 GitHub 上找到該應用程序的完整源代碼.

結論與展望

我們看到使用 MOKOSmart iBeacon SDK 與 iBeacon 交互很容易. 所以我不認為實施技術會遇到重大障礙, 而是在信標的部署和傳輸功率的調整中. 當位置改變時,這些參數對應用程序的響應能力有直接影響. 任何狀況之下, 平衡應該很困難.

對於特別有趣的, 例如. 乙. 在家庭自動化領域, 我考慮將 iBeacons 與傳感器結合使用, 如上面提到的德州儀器的傳感器標籤. Estimote 還將通過 Estimote 貼紙在市場上推出帶有運動和溫度傳感器的移動信標. 第一個開發者預覽版應該在 10 月底交付 2014, 但到年底沒有發貨 2014.

“室內導航”應用領域是否可以通過這項技術穩健地映射還有待觀察. 由於藍牙信號對乾擾因素的敏感性, 需要使用相應區域的 iBeacon 信號進行強照明,並使用帶有房間平面圖的三角測量進行位置計算. MOKOSmart 提供適當的解決方案 (室內導航 iBeacon SDK) 以及其他各種製造商,例如 LabWerk, 但作者不知道有任何實際報導.

隨著與 iBeacons 交互的應用程序的開發, 還必須考慮安全和數據保護方面. 由於信號簡單, iBeacon 容易被欺騙, 在開發過程中不應忘記. 可以根據用戶行為收集的當前位置和移動輪廓等數據也有很高的保護需求.

 

作者——
何尼克
何尼克
缺口, 我們 R 中經驗豐富的專案經理&您還可以使用此產品對貨運集裝箱和存儲庫存進行位置跟踪, 為MOKOSMART帶來豐富的經驗, 曾擔任比亞迪專案工程師. 他在 R 方面的專業知識&D 為他的物聯網專案管理帶來了全面的技能. 具有紮實的背景跨越 6 多年專案管理經驗並獲得 PMP 和 CSPM-2 等認證, 尼克擅長協調銷售工作, 工程, 測試, 和行銷團隊. 曾參與的物聯網設備專案包括Beacons, LoRa設備, 網關, 和智慧插頭.
何尼克
何尼克
缺口, 我們 R 中經驗豐富的專案經理&您還可以使用此產品對貨運集裝箱和存儲庫存進行位置跟踪, 為MOKOSMART帶來豐富的經驗, 曾擔任比亞迪專案工程師. 他在 R 方面的專業知識&D 為他的物聯網專案管理帶來了全面的技能. 具有紮實的背景跨越 6 多年專案管理經驗並獲得 PMP 和 CSPM-2 等認證, 尼克擅長協調銷售工作, 工程, 測試, 和行銷團隊. 曾參與的物聯網設備專案包括Beacons, LoRa設備, 網關, 和智慧插頭.
分享這個帖子
增強您的互聯能力 需要MOKOSmart 物聯網設備解決方案!