我使用的是半径网络iBeacon Api。我每秒都以背景模式扫描信标。我有两个信标。有时扫描信标不一致。我如何解决这个问题?
假设有两个信标
首先是间隔扫描
Beacon 1,Beacon 2 Found
第二次间隔扫描
只有Beacon 1或Beacon 2来了
第三次间隔扫描
找到Beacon 1和Beacon2
第四个时间间隔
再次单灯塔来......
像这样我正在
答案 0 :(得分:3)
最可能的解释是您使用的信标传输频率不够高。为了获得最佳性能,信标应每秒发送至少10次广告。充当iBeacon的iOS设备每秒发送30次广告。
当为信标进行测距时,Android iBeacon Library默认每1100毫秒发送一次更新,其中列出了此期间发现的每个信标。如果在该间隔中没有检测到特定信标的传输,则该信标将不包括在该扫描间隔的列表中。
不需要更改硬件来解决间歇性信标不包含在回调中的情况。只需在过去五秒左右的时间内查看信标软件中的列表。
或者,您也可以简单地延长扫描周期,但这会降低您回调的频率:
iBeaconManager.setBackgroundScanPeriod(5000l); // 5 secs
iBeaconManager.setForegroundScanPeriod(5000l); // 5 secs
iBeaconManager.updateScanIntervals();
答案 1 :(得分:1)
这是正常的情况。
由于多路径效应,信标间隔不一致。
每个无线信号都有多径效应。
请参阅以下链接:
因此,无法估计信号到达智能手机的时间。
如果你想监控你的信标信号,这个应用程序对你有用。
使用此应用程序查看信标的图表视图。
这是了解你的信标如何运作的最快方式。