iBeacon:更快获取广告包

Posted

技术标签:

【中文标题】iBeacon:更快获取广告包【英文标题】:iBeacon: Get advertisement package faster 【发布时间】:2015-05-21 12:25:30 【问题描述】:

在我的应用程序中,我使用 CoreLocation 和 LocationManager 获取信标的信息。 我已将信标的广告间隔设置为 200 毫秒。 是否可以更快地调用didRangeBeacons委托方法,以便我根据信标的广告间隔获取广告包的值?

【问题讨论】:

【参考方案1】:

不,您不能更改 didRangeBeacons:inRegion 回调的频率,无论信标广告频率如何,它都是 1 Hz。

您可以使用CoreBluetooth API 为每个信标广告(在您的情况下每 200 毫秒)获取回调,但有一些限制:

    它不适用于ios blocks access to iBeacon advertisement data 中的CoreBluetooth 中的iBeacon 传输。您可以使用与 iBeacon 兼容的AltBeacons,并获得更频繁的更新。你可以购买beacons that send out both iBeacon and AltBeacon transmissions。

    它只能在前台工作。在 iOS 上,您无法在后台获取蓝牙 LE 制造商广告。

全面披露:我是 Radius Networks 的首席工程师,该公司赞助开源 AltBeacon 标准。

【讨论】:

嗨,大卫,感谢您的回答。根据你的回答,我还有一些问题。物理 AltBeacons 是否可用于 iOS 和 android?我是否必须使用 Radius Networks SDK 来构建 iOS 或 Android 应用程序? D在我的情况下,重要的是,我可以识别不同的信标并在可接受的时间内获取 rssi 值,以进行一些室内导航研究。我可以将 AltBeacons 也与 CoreLocation 一起使用吗?或者更确切地说,广播是否也符合正常的 iBeacon 标准? 您不必使用 RadiusNetworks SDK 即可使用 AltBeacons。您可以单独使用 CoreBluetooth。 RadBeacon 产品线以相同的标识符传输交错的 iBeacon 和 AltBeacon 广告,因此您可以检测带有 CoreLocation 的 iBeacon 和带有 CoreBluetooth 的 AltBeacon。我也将这些信标用于室内定位,使用 CoreBluetooth 以 10 Hz 的频率获取 RSSI 更新。像冠军一样工作! 而且,是的,您也可以在 Android 上使用 AltBeacon 传输。 4.3+ 上的标准 Android 蓝牙扫描 API 将接收它们。如果你愿意,你可以使用这个开源 SDK 来解码它们:altbeacon.github.io/android-beacon-library 听起来不错 :) 我将从 AltBeacons 通过 CoreBluetooth 获得哪些信息?是否可以获得 UUID、Minor、Major、RSSI 和 TXPower?如何将 CoreBluetooth 的频率设置为 10 Hz,或者如何触发 CBCentralManager,他会这样做?这就是我的全部问题。提前致谢。

以上是关于iBeacon:更快获取广告包的主要内容,如果未能解决你的问题,请参考以下文章

CBPeripheralManager 延迟停止广告/位置管理器范围停止 iBeacon

iBeacon 广告 - 测量。功率/发射功率以确定与 iBeacon 的大致接近程度?

iBeacon 广告包 - 有啥区别?

iBeacon 在应用程序上开始广告确实进入了后台

iBeacon 可以有数据负载吗

使用 CLLocationManager 获取 iBeacon 邻近度更新