【问题标题】:iBeacons proximity is unreliableiBeacons 接近度不可靠
【发布时间】:2014-04-25 19:47:42
【问题描述】:

不久前,我为我正在进行的一个项目购买了三个信标。我想知道我离哪个信标最近以及大概的距离(例如从 0 米到 2 米左右)。

我有以下使用核心位置的代码:(精简)

- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
{
    NSLog(@"beacons %@", beacons);
}

这似乎有效,我在日志中找到了我的信标。按距离排序。但即使我附近只有一个信标。 (例如距离我的设备大约 50 厘米)距离从立即变为近和远。它只是“跳来跳去”。

有什么方法可以更精确地做到这一点?在我的代码中,我现在可以检查距离是否在“确认”更改之前至少更改了一次。但即便如此,接近度还是有问题的。

【问题讨论】:

  • 你用的是什么牌子和型号的beacon?

标签: ios objective-c core-location bluetooth-lowenergy ibeacon


【解决方案1】:

令人惊讶的是它会这样跳来跳去。您当时是拿着设备还是坐在桌子上?从理论上讲,无线电信号不应该无缘无故变得更强或更弱。也许你的环境中有什么东西在干扰。

CLBeacon* 公开一个属性,NSInteger rssi。这是信标的received signal strength indication。您可以在计时器上对其进行监控以实时查看原始信号强度,但是您必须编写自己的算法来确定 RSSI 和接近度之间的相关性。

不过,看看与设备或环境的交互如何增加或减少信号强度,这可能是一个有趣的练习。

【讨论】:

    【解决方案2】:

    我看到了一些立即/接近抖动,但不是您描述的立即/接近/远。听起来你可能有一个坏的信标。 (或您的 iDevice 上的蓝牙天线连接松动...... 或者 Apple 在最近的版本中破坏了 iBeacon API。)

    您使用的是什么类型的设备,什么版本的 iOS,在什么类型的 iDevice 上

    【讨论】:

    • 我有一部装有最新版 iOS (7.1.1) 的 iPhone 5S 和三部 BLEep beacons
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2021-02-24
    • 2012-07-26
    • 1970-01-01
    相关资源
    最近更新 更多