蓝牙LE RSSI用于接近检测iOS

Tom*_*tes 33 iphone ipad ios core-bluetooth bluetooth-lowenergy

我将从问题开始.

BTLE RSSI是指示两个设备是否彼此接近的好方法吗?它只适用于像遥控器等小型设备吗?

问题:

我目前正在制作一个将使用BTLE的应用程序,并允许基于邻近度的连接.在这方面,它很像苹果在高级核心蓝牙主题演示中展示的演示应用程序(当两个设备几乎触摸它们然后连接时).

据我了解,当中心发现外围设备时,接近度是根据RSSI值确定的.然而,当我尝试使用两个iPad时,信号看起来太强了,它也太不一致,因为它没有显示与设备接近度的非常大的相关性.

我尝试过Apple示例代码,类似的是,设备不必非常接近,以便信息从一个传递到另一个.

如果只有一种方法可以降低外围设备广告的信号强度....

在此先感谢您的帮助.

Dir*_*lik 21

马修格里芬的经验与我的相遇.然而 - 当我们能够在相当长的一段时间内进行测量时,有两件事可以帮助我们更好地校准.

我们确实必须在天线方向和IMU上包装一个简单的(kalman)滤波器,以获得粗略的运行注释 - 这不是CPU或电池灯.

  • 使用IMU可以很好地了解行程的距离/方向 - 如果这是在很短的时间内 - 我们假设另一个'侧'是静止的.这有助于获得"当前"方向的值和"校准当前环境噪声".
  • 同样 - 对旋转/位置变化也一样.

我们发现,一般来说,设备的重新定位是获得方向的更好方法; 并且该距离仅在"移动"校准后大约30至600秒内可靠,并且仅在设备没有旋转太多时才可靠.而在实践中,曾经需要一些4-5个"其他"设备; 理想情况下不要太流动,以保持自己动态校准.

然而,相反的是相当可靠的 - 即我们知道什么时候不测量.最终的结果是,人们可以很好地确定诸如"在键盘上"和"重新定位"/通过特定的门/打开或方向移动的东西.同样通过在房间里随机跳舞来测量场地; 改变方向很多 - 一旦接收器天线波瓣在静止时间段之后得到一定程度的影响,它确实可以正常工作.


Tom*_*voy 14

你对RSSI疯狂随机跳跃是完全正确的.您应该每两秒检索一次RSSI值(任何更快的速度都会得到一堆错误).抛出超过〜-40分贝峰值的RSSI值,并在向用户声明近似范围之前使用过去值的汇总.

至于你的以下陈述,你很幸运.

如果只有一种方法可以降低外围设备广告的信号强度....

您正在寻找的服务称为TX Power服务.在外围设备上实施此服务可以降低设备的发射功率.这样,您可以减少广告数据可见的范围.但遗憾的是,我们无法在iOS设备上访问此服务.但是,如果您正在为BLE外围设备编写自己的固件,那么这就是您想要的服务.


小智 11

我花了最后一周严格处理RSSI,尝试使用Wifi和蓝牙LE传感器进行位置三角测量和距离转换.

不幸的是,我发现RSSI过于挑剔且不可靠而不能始终如一地用来确定距离.从理论上讲,RSSI和距离的表现符合平方反比定律(距离加倍,RSSI将降低固定数量的分贝),但实际上RSSI受天气等不可控因素的影响(干燥天气允许RF更好的旅行和障碍物(从一个传感器到另一个传感器的路径中的任何金属物体或人类将导致衰减,并且由一个传感器紧密定位的任何金属物体将导致信号强度的增益).

有办法试图弥补这一点.本文是我读到的关于如何获得准确结果的最佳论文之一,但最重要的是,这是一种不可靠的方法,除非您只是想了解设备的位置.