找到最近的信标
Find the nearest beacon
我正在开发一个使用 iBeacons 的应用程序。它的主要功能是检测最近的beacon(距离无所谓,我只需要最近的)并根据它呈现一些内容。
在 IOS 上它就像一个魅力,毫无疑问。
关于Android 我有奇怪的经历。我知道,这取决于硬件、蓝牙芯片供应商等,但即使我尝试了很多东西(平均 rssi、排队……),我也无法使其稳定。信标之间相距约3-5米,一个约80平方米的房间内有8个信标。
我使用 Android AltBeacon 库。我无法以稳定的方式检测到最近的信标:有时距离设备约 5 米的信标是 RSSI 'nearer',而不是紧挨着设备的信标,依此类推。 (信标使用相同的 TX 功率和广告间隔,altbeacon 扫描周期为 250 毫秒)
我应该怎么做才能让它稳定?什么、何时以及如何计算 rssi 的平均值?或者我应该这样做吗?或者...?
非常感谢!
RSSI 值将取决于 TX 功率以外的许多因素,其中包括:
- 多径反射:2.4 GHz 会从墙壁反射,因此如果反射有助于远处的信标并衰减近处的信标,那么远处的信标可以获得更强的 RSSI。
- 天线的摆放位置:phone正确的握持方式会有很大的不同。
我不能说为什么 iOS 应该比 Android 更好,但可能是因为他们有一个运行良好的平均算法。从我的两点来看,这不是一件简单的事情。
要了解有关这些问题的更多信息,我建议阅读 Getting Started with iBeacon 中的 部署 iBeacon 和 常见问题与解答。
我正在开发一个使用 iBeacons 的应用程序。它的主要功能是检测最近的beacon(距离无所谓,我只需要最近的)并根据它呈现一些内容。
在 IOS 上它就像一个魅力,毫无疑问。
关于Android 我有奇怪的经历。我知道,这取决于硬件、蓝牙芯片供应商等,但即使我尝试了很多东西(平均 rssi、排队……),我也无法使其稳定。信标之间相距约3-5米,一个约80平方米的房间内有8个信标。
我使用 Android AltBeacon 库。我无法以稳定的方式检测到最近的信标:有时距离设备约 5 米的信标是 RSSI 'nearer',而不是紧挨着设备的信标,依此类推。 (信标使用相同的 TX 功率和广告间隔,altbeacon 扫描周期为 250 毫秒)
我应该怎么做才能让它稳定?什么、何时以及如何计算 rssi 的平均值?或者我应该这样做吗?或者...?
非常感谢!
RSSI 值将取决于 TX 功率以外的许多因素,其中包括:
- 多径反射:2.4 GHz 会从墙壁反射,因此如果反射有助于远处的信标并衰减近处的信标,那么远处的信标可以获得更强的 RSSI。
- 天线的摆放位置:phone正确的握持方式会有很大的不同。
我不能说为什么 iOS 应该比 Android 更好,但可能是因为他们有一个运行良好的平均算法。从我的两点来看,这不是一件简单的事情。
要了解有关这些问题的更多信息,我建议阅读 Getting Started with iBeacon 中的 部署 iBeacon 和 常见问题与解答。