ios - 根据与设备的距离检测信标

标签 ios ibeacon beacon

我正在开发一个基于 iBeacon 技术的小型应用程序。

总的想法是在博物馆中的每件艺术品上放置一个信标,使其具有某些相关信息。

当几个信标靠得太近时,问题就来了,尽管配置了最低传输功率的信标,应用程序仍会检测到两个信标。

我尝试过几个制造商,Estimote、radius Networks、onyx beacon、BlueCat ...

根据其规范,即使将信标设置在最低传输水平(0.5 到 1 米)。应用程序位于一件艺术品前面,检测最近的信标,但也检测超过 4 米的信标。如果按照制造商的说法,较低范围内的广播距离约为一米,这怎么可能?

对此有什么想法吗?我将不胜感激。

谢谢

最佳答案

请务必了解蓝牙信标是 radio 发射器。像所有 radio 发射器一样,信号会持续很远的距离,但越远越弱。 蓝牙 radio 信号传输的最大距离没有硬性规定。信标通过 radio 以数据包的形式发出广告。您走得越远,收到的数据包百分比就越小。

当人们说信标的范围为 40-50 米时,这通常意味着大部分数据包将在此距离接收。但这不是硬性限制。在开放区域的测试中,我很少看到在 200 米外检测到单个信标数据包。

当您“调低”信标上的发射器功率以使其范围仅为几米时,同样的原理也适用。在某些 radio 条件有利的情况下(清晰的视线、手机对准正确的方向、信标后面的物体像碟形天线一样将信号反射回您),手机会在更远的距离检测到信标。

对于您的用例,更好的方法可能是一直打开信标,并依靠信标测距来决定哪个信标最近。然后您将比较所有信标的估计距离可见的信标,并对距离最短的信标采取行动。但是,如果您采用这种方法,请务必将信标上的发射器电源重新打开。信号越弱,距离估计就越不准确。

关于ios - 根据与设备的距离检测信标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37012136/

相关文章:

ios - 处理 Swift Firebase 用户登录状态的正确方法

Android beacon库如何将前台服务转为后台模式?

android - 从 Estimote Connection 获取 UUID、Major、Minor

ios - 使用 Xcode 7.0.1 提交应用程序

ios - 将 UITableView 添加为 subview

ios - UIDocumentInteractionController OpenInMenu 崩溃 iOS 应用程序

ios - 测距信标仅在应用程序运行时有效?

ios - 即使应用程序关闭,也会在后台检测信标

ios - API 调用的本地通知

android - 快速检测信标是否超出范围