2014-04-25 119 views
0

前一段时间,我为我正在开发的一个项目购买了三个信标。我想知道我最近的哪个信标和一个近似的距离(例如从0米到2米左右)。iBeacon靠近不可靠

我必须使用核心位置下面的代码:这似乎工作(精简)

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

,我让我的信标,在日志中。按距离排序。但即使我只有一个灯塔附近。 (例如离我的设备大约50厘米处),接近度从立即变化到近和远。它只是“跳来跳去”。

有没有办法做到这一点更精确?在我的代码中,我现在有一张支票,用于检查在“确认”更改前距离是否至少改变了一次。但即使如此,接近是越野车。

+0

你使用的是什么品牌和型号的灯塔? – davidgyoung

回答

0

令人惊讶的是,它像那样跳跃。你是在拿着手机还是坐在桌子上?理论上,无线电信号不应该无缘无故地变得更强或更弱。也许你的环境中存在一些干扰。

CLBeacon*公开财产NSInteger rssi。这是灯塔的received signal strength indication。您可以在计时器上监控此功能,以实时查看原始信号强度,但是您必须编写自己的算法来确定RSSI和接近度之间的相关性。

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

0

我已经看到了一些即时/接近抖动,但不是像您所描述的那样立即/接近/远离。这听起来像你可能有一个坏灯塔。 (或者你的iDevice上的蓝牙天线上的连接松动... 或者苹果公司在最近的一个版本中打破了iBeacon API)。的iDevice

+0

我有一个iPhone 5S与最新版本的iOS(7.1.1),我有三个[BLEep信标](http://www.getbleep.com)。 – Matthijn