48

我一直在使用 iOS 7 中的新 iBeacon API 将 iOS 设备用作广播器和接收器。

文档没有详细说明接收设备应该在哪些距离上看到每个接近指示器,并特别将它们称为“相对”。在使用演示应用程序进行实验时,我观察到了这些距离(iPhone == 接收器,iPad == 广播器):

- 50英尺?

- 2-3 英尺

立即- 2 英寸

这些对我来说似乎真的很小,CLBeaconRegion 类参考中可能有一个提示,它允许您指定 1m 以外的设备的信号强度。

peripheralDataWithMeasuredPower:

检索可用于将当前设备宣传为信标的数据。

参数

测量功率

设备的接收信号强度指示器 (RSSI) 值(以分贝为单位)。该值表示从一米外测得的信标强度,并在测距期间使用。指定 nil 以使用设备的默认值。

我的业余校准产生了 -60,我设置并重新测试:

- 数百(ish)英尺

- ~50 英尺

立即- 1 米(略短)

我第二次测试的结果是否符合 Apple 的“理想”范围?它们与我在第一次测试中遇到的“默认”设置相去甚远。

或者我是否应该根据我的需要考虑这些范围“可校准”?

4

1 回答 1

35

根据我对 API 的理解,永远无法保证实际距离,您不应将读数视为准确的测量值。接近度用于确定不同信标之间的相对距离,以便您可以根据您的应用程序需求做出相应的响应。

话虽如此,Apple 肯定在他们的文档中画了一个灰色区域。的描述measuredPower很有趣,很容易让人想到您可以使用这个值来获得准确的距离读数(当然,一旦校准)。我只是不认为是这种情况,但是由于这些功率极低的设备中信号衰减的可能性,我不希望您能始终如一地获得实际距离的准确读数。

CLBeacon参考资料中accuracy读取的描述

以米为单位表示 1 sigma 水平精度。使用此属性来区分具有相同邻近度值的信标。不要用它来确定信标的精确位置。精度值可能会因射频干扰而波动

我觉得这在 iBeacon 功能的整个使用过程中产生了莫名的共鸣。

这就是我的全部解释,随着时间的推移,我还没有像在多个环境中测试它以查看是否给出一致的读数那样快。我不确定这是否有帮助。

于 2013-09-30T23:00:33.533 回答