Eddystone 与 iBeacon
蓝牙信标 (Beacons) 是一种单向通讯方式,所以一般的用途就是发送提醒。
Beacons 是指使用蓝牙4.0(BLE)技术发射信号的小设备。
目前存活的 Beacons 标准有两个,分别是 Google 的 Eddystone 和 Apple 的 iBeacon.
Eddystone
Eddystone 是谷歌基于 Beacon 的数据标准以及扩展。苹果制定的 Beacon 标准更早,但是谷歌的 Eddystone 标准更加强大。
nRF的beancon例程
nRF 的官方 beancon 例程 ("ncs\v2.5.1\zephyr\samples\bluetooth\beacon
") 遵循的是 Eddystone 标准。
现象:
运行该例程会产生一个名为 "Test beacon" 的 Beacon 设备,可以使用 nRF Connect for Mobile 应用搜索到并查看信息。
iBeacon
iBeacon是Apple公司开发的一种近场通讯协议,发布于 2013 年的 WWDC 上。
iBeacon的一般用途
iBeacon 是一种定位技术,当你的手持设备靠近一个 iBeacon 基站时设备就能够感应到 iBeacon 信号,范围可以从几毫米到50米。
当使用者走进某个博物馆时,会扫描到一个 iBeacon。这个 iBeacon 有三个标志符
- proximity UUID 是一个整个博物馆统一的值,可以用来标识这个博物馆
- major 值用来标识特定的展馆,比如唐代展馆,汉代展馆等等
- minor 值标识了特定的一个位置的 beacon,例如定位到使用者正在唐代展馆的唐三彩展品的位置。
这时博物馆的 app 会被系统唤醒,app 可以运行一个比较短的时间。在这段时间内,app 可以根据 iBeacon 的属性查询到使用者的地理位置(通过查询服务器或者本地数据),例如在唐代展馆的唐三彩展品位置,之后就可以通过一个 local notification 推送这件展品的简介。用户可以点击这次 local notification 来查看更详细的信息,这样一次导览行为就完成了。
nRF的iBeacon例程
例程位置:"ncs\v2.5.1\zephyr\samples\bluetooth\ibeacon
" 或 samples/bluetooth/ibeacon.
例程剖析:剖析 Zephyr iBeacon 示例
现象:
下载并成功运行后会创建一个 iBeacon 信标。
![](https://img2023.cnblogs.com/blog/1495451/202502/1495451-20250211185024349-1442326659.png)
不过需要注意的是 Apple 为了省电和隐私限制只能监听指定 UUID 的 iBeacon,无法搜索附近所有的 iBeacon 信息 (Android 可以),因此无法在 iOS 版的 nRF Connect for Mobile 上看到这个 iBeacon 信标。
要查看 iBeacon 信标可以使用 Android 上的 nRF Connect for Mobile 或者 PC 端的 Bluetooth Beacon Interactor.
参考文档
- 为什么苹果的应用程序无法显示在 nRF52840 DK 上运行的 iBeacon?
- GitHub - IOS-nRF-Connect
- 两分钟搞明白Beacon,iBeacon和EddyStone - 知乎 (zhihu.com)
- 蓝牙beacon入门教程_beaconpad-CSDN博客
- 创建蓝牙信标 (iBeacon) - nRF52 用例
- iOS蓝牙开发之iBeacon篇(一)
- iOS蓝牙开发之iBeacon篇(二)
- 什么是 iBeacon 蓝牙配置文件
- 剖析 Zephyr iBeacon 示例