【问题标题】:iBeacons: how to get broadcasted beacon power (txPower)iBeacons:如何获得广播的信标功率(txPower)
【发布时间】:2014-07-22 23:51:28
【问题描述】:

iBeacon 似乎广播了他们的 txPower 参数(报告 1 米距离处的 RSSI 功率),该参数用于计算 beacon.accuracybeacon.proximity 属性(有关 iBeacon 广告数据包的详细信息,请参见 here)。

但是,CLBeacon 类似乎没有 txPower 的属性。有没有办法可以使用 Core Location 框架获得 txPower,或者我需要进入 Core Bluetooth?我需要这个的原因是我想尝试自定义信标精度/接近度计算,以实现非常快速的信标即时范围发现。在这种情况下,从 accuracy 反向计算 txPower 是没有帮助的。

【问题讨论】:

    标签: ios core-location cllocationmanager ibeacon


    【解决方案1】:

    很遗憾,您无法通过CoreLocationCoreBluetooth 以编程方式获取此值。 Apple 使用 CoreBluetooth 阻止对所有 iBeacon 数据的访问(请参阅我对此 here 的细分。)与 CoreLocation 类似,正如您所见,它根本不会在 CLBeacon 类中公开。

    既然你说你不能做逆向计算,那么我能想到的唯一其他方法是:

    1. 使用 Android、OSX Mavericks 或 Linux 设备,这些设备对读取此字段没有此类限制。
    2. 在您的 iOS 应用程序中为您的所有 iBeacon 创建一个查找表(具有唯一的 UUID/主要/次要值与它们的 txPower 值)

    上面的选项 2 显然要求您为所有正在测试的 iBeacon 分配唯一标识符。

    【讨论】:

    • 定位应用在 iOS 中显示 txPower 值。他们是如何做到的,请您指导我。
    • 作为 iOS 定位应用程序的作者,我可以确认它不会从信标传输中读取 txPower。校准屏幕可让您计算应配置的 txPower。但它不能告诉你它在信标传输中已经是什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    相关资源
    最近更新 更多