找到最近的信标
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 和 常见问题和解答。
【讨论】:
以上是关于找到最近的信标的主要内容,如果未能解决你的问题,请参考以下文章
信标 - 三星 Galaxy Tab A6 SM-T280 上的 RSSI 错误
CLLocationManager 的委托函数“didRangeBeacon”没有找到任何信标?