[英]Bluetooth LE RSSI for proximity detection iOS
我将从问题开始。
BTLE RSSI是指示两个设备是否彼此接近的好方法吗? 它仅适用于Fob等小型设备吗?
问题:
我目前正在寻找一款将使用BTLE并允许基于接近度进行连接的应用。 在这方面,这就像苹果在Advanced Core蓝牙主题演讲中演示的演示应用程序(当两个设备几乎要触摸时,它们便会连接)。
据我了解,当中心发现外围设备时,接近程度是根据RSSI值确定的。 但是,当我用两台iPad尝试此操作时,信号似乎太强了,这也太不一致了,以至于无法在邻近区域准确刺入,因为它与设备的邻近度并没有太大的关联。
我尝试了Apple示例代码,这与相似之处在于,设备不必完全关闭即可将信息从一个传递到另一个。
如果只有一种方法可以降低外围设备广告的信号强度。
在此先感谢您的帮助。
Matthew Griffin的经验与我很相似。 但是,当我们可以在一段相当长的时间内进行测量时,有两件事可以帮助我们更好地进行校准。
我们确实必须在天线方向和IMU上包装一个简单的(kalman)滤波器,以获得粗略的运行注释-这不是CPU或电池电量不足。
我们发现,一般来说,重新定向设备是获得方向的更好方法。 并且只有在设备没有旋转太多的情况下,该距离才可以在“移动”校准后的30至600秒内可靠。 实际上,曾经需要大约4-5个“其他”设备; 理想情况下,不要太机动,以保持动态校准。
但是,相反情况非常可靠-即我们知道何时不进行测量。 最终结果是,人们可以很好地确定诸如“在键盘上”和“通过特定的门/开门或方向移动/移开”之类的东西。 同样,通过在房间里随机跳舞来测量视野; 改变方向很多-静止期过后,一旦接收器天线波瓣得到某种程度的解决,效果很好。
您对RSSI疯狂随意地跳跃完全是正确的。 您应该每两秒钟检索一次RSSI值(速度更快,并且会出现很多错误)。 在向用户声明近似范围之前,丢弃大于〜-40分贝峰值的RSSI值,并使用过去值的汇总。
至于您的以下陈述,很幸运。
如果只有一种方法可以降低外围设备广告的信号强度。
您正在寻找的服务称为TX Power Service 。 在外围设备上实施此服务将使您降低设备的发射功率。 这样,您可以降低广告数据可见的范围。 遗憾的是,我们无法在iOS设备上访问此服务。 但是,如果您正在为BLE外设编写自己的固件,那么这就是您想要的服务。
我在上周度过了严格的RSSI处理,试图将Wifi和Bluetooth LE传感器用于位置三角测量和距离转换。
不幸的是,我发现RSSI太挑剔并且不可靠,无法始终用于确定距离。 从理论上讲,RSSI和距离的行为遵循平方反比定律(距离加倍,并且RSSI将下降固定的分贝数),但实际上RSSI受诸如天气等不可控因素的影响(干旱天气允许RF磁场以更好地传播)和障碍物(从一个传感器到另一个传感器的路径中的任何金属物体或人体都将引起衰减,并且由一个传感器靠近的任何金属物体将导致信号强度增加)。
有多种方法可以弥补这一点。 这篇论文是我读过的有关如何获得准确结果的最佳论文之一,但最重要的是,除非您只想大致了解设备的位置,否则这是一种不可靠的方法。
据我所知,您正在尝试实现与WWDC演示中看到的功能以及类似于Bump的应用程序类似的功能。 为此,RSSI就足够了。 测试适当的阈值(例如> -30),您会没事的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.