3

我正在使用半径网络 iBeacon Api。我每秒钟在后台模式下扫描信标。我有两个信标。有时扫描信标并不一致。我该如何解决这个问题?

假设有两个信标

最初的间隔扫描

发现信标 1、信标 2

在第二次间隔扫描

只有 Beacon 1 或 Beacon 2 来了

第三次间隔扫描

找到信标 1 和信标 2

在第四个区间

再次单灯塔来了..

像这样我得到

4

2 回答 2

3

最可能的解释是您使用的信标传输频率不够高。为了获得最佳性能,信标应每秒至少发送 10 次广告。充当 iBeacon 的 iOS 设备每秒发送 30 次广告。

在对信标进行测距时,Android iBeacon 库默认每 1100 毫秒发送一次更新,其中包含在此期间发现的每个信标的列表。如果在此间隔中没有检测到特定信标的传输,则该信标将不会包含在该扫描间隔的列表中。

无需更改硬件来解决信标间歇性地不包含在回调中的情况。只需在最后五秒左右看到的信标软件中维护一个列表。

或者,您也可以简单地延长扫描周期,但这会降低您 gat 回调的频率:

iBeaconManager.setBackgroundScanPeriod(5000l); // 5 secs      
iBeaconManager.setForegroundScanPeriod(5000l); // 5 secs
iBeaconManager.updateScanIntervals();
于 2014-05-26T12:50:45.847 回答
1

这是正常情况。

由于多径效应,信标间隔不一致。

每个无线信号都具有多径效应。

请参考以下链接:

因此,无法估计信号到达智能手机的时间。

如果你想监控你的信标信号,这个应用程序对你很有用。

使用此应用程序查看信标的图表视图。

这是了解您的信标如何运作的最快方式。

于 2014-07-01T07:47:02.533 回答