ios信标扫描间隔
ios beacon scanning interval
我想使用 iPhone 运行 一个信标扫描应用程序来检测 iBeacon 来测量我的距离变化。但是我发现扫描速度是每秒1次,不能满足我的移动速度。部分文档显示每秒扫描1次由API决定,无法更改。
那么我有机会加快扫描速度吗?
对于快速移动的移动设备,带有 CoreLocation 的测距信标存在两个问题:
- 如您所述,每秒更新一次。
CLBeacon
accuracy
字段中的距离估计基于 20 秒内 RSSI 的 运行 平均值,因此它有效地为您提供了该时间间隔内的平均距离。
遗憾的是,您无法更改此设置——API 就是这样工作的。另一种方法是使用 CoreBluetooth APIs,它可以为每个蓝牙数据包回拨一次——对于以该速率进行广告的信标,每秒 10 次。三个障碍:
- 您无法通过 CoireBluetooth 回调获得距离估计值,只能获得 RSSI 测量值,因此您必须根据 RSSI 计算自己的距离。
- RSSI 上有很多噪音,因此仅使用一次读数计算的距离估计值将非常不准确。
- iOS 使用 CoreBluetooth 无法解析 iBeacon 传输,因此您必须使用替代信标格式,如 AltBeacon。
您必须决定这些障碍对于您的用例是否可以接受。
我想使用 iPhone 运行 一个信标扫描应用程序来检测 iBeacon 来测量我的距离变化。但是我发现扫描速度是每秒1次,不能满足我的移动速度。部分文档显示每秒扫描1次由API决定,无法更改。
那么我有机会加快扫描速度吗?
对于快速移动的移动设备,带有 CoreLocation 的测距信标存在两个问题:
- 如您所述,每秒更新一次。
CLBeacon
accuracy
字段中的距离估计基于 20 秒内 RSSI 的 运行 平均值,因此它有效地为您提供了该时间间隔内的平均距离。
遗憾的是,您无法更改此设置——API 就是这样工作的。另一种方法是使用 CoreBluetooth APIs,它可以为每个蓝牙数据包回拨一次——对于以该速率进行广告的信标,每秒 10 次。三个障碍:
- 您无法通过 CoireBluetooth 回调获得距离估计值,只能获得 RSSI 测量值,因此您必须根据 RSSI 计算自己的距离。
- RSSI 上有很多噪音,因此仅使用一次读数计算的距离估计值将非常不准确。
- iOS 使用 CoreBluetooth 无法解析 iBeacon 传输,因此您必须使用替代信标格式,如 AltBeacon。
您必须决定这些障碍对于您的用例是否可以接受。