2014-04-25 74 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