找到最近的信标

Posted

技术标签:

【中文标题】找到最近的信标【英文标题】:Find the nearest beacon 【发布时间】:2016-07-28 21:01:33 【问题描述】:

我正在开发一个使用 iBeacons 的应用程序。它的主要功能是检测最近的信标(距离无所谓,我只需要最近的一个)并根据它呈现一些内容。

ios 上它就像一个魅力,毫无疑问。

android 上我有奇怪的经历。我知道,这取决于硬件、蓝牙芯片供应商等,但即使我尝试了很多东西(平均 rssi、排队......),我也无法使其稳定。信标彼此相距约 3-5 米,在约 80 平方米的房间内有 8 个信标。

我使用 Android AltBeacon 库。我无法以稳定的方式检测最近的信标:有时,距离设备约 5 米的信标比设备旁边的信标“更接近”RSSI,依此类推。 (信标使用相同的 TX 功率和广播间隔,altbeacon 扫描周期为 250 毫秒)

我应该怎么做才能使其稳定?什么,何时以及如何平均 rssi?或者我应该这样做吗?还是……?

非常感谢!

【问题讨论】:

【参考方案1】:

RSSI 值取决于 TX 功率以外的许多因素,其中包括:

多径反射:2.4 GHz 会从墙壁反射,因此如果反射有助于远处的信标并减弱近处的信标,那么远处的信标可能会获得更强的 RSSI。 天线的放置位置:以正确的方式握住手机会有很大的不同。

我不能说为什么 iOS 应该比 Android 运行得更好,但这可能是因为它们有一个运行良好的平均算法。从我的两点来看,这不是一件简单的事情。

要了解有关这些问题的更多信息,我建议您阅读Getting Started with iBeacon 中的部署 iBeacon常见问题和解答

【讨论】:

以上是关于找到最近的信标的主要内容,如果未能解决你的问题,请参考以下文章

来自蓝牙信标的信号强度不一致 - Kontakt.io

信标 - 三星 Galaxy Tab A6 SM-T280 上的 RSSI 错误

CLLocationManager 的委托函数“didRangeBeacon”没有找到任何信标?

我可以在没有定位服务的情况下仅通过蓝牙框架访问信标设备吗?

更改 iBeacon 的 Minor 和 Major 值会阻止我找到信标。 (iBeacon/Xcode)

ibeacon可连接传输模式