我正在开发一个iOS应用程序,在这个应用程序中,我需要知道设备与信标的确切距离和方向。我在用Estimote信标。
我使用了iOS的CLLocation以及Estimote的框架,但它们都给出了一个不正确的距离值。此外,这些数值波动很大,信标甚至多次进入未知状态(准确度-1.000)。
我也尝试使用这里给出的公式:
Understanding ibeacon distancing
但在iOS中,似乎没有办法获得txPower或测量到的灯塔的力量。
我已经搜索了很多,但没有找到一个令人满意的方法来准确地找到距离。
还有其他方法可以帮助我准确地找到iOS设备从灯塔的距离和方向吗?
发布于 2014-07-10 13:21:47
距离是通过比较接收到的信号强度(RSSI)和标出的信标发射功率(txPower)来计算的,因为理论上,信号强度与距离的平方成反比。
但是还有很多其他因素会影响RSSI,包括障碍物、天线的方向以及可能的多径(反射)。因此,很难根据这些信息精确地测量距离。
另一种测量距离的方法是使用往返时间(RTT):向信标发送一些东西,然后测量返回需要多长时间。但这需要一个固定的响应时间,在这种规模(米)上,可能有足够的可变延迟,这可能会严重影响计算。
方向要么需要三角剖分,要么需要多个方向天线,我不认为这种情况是这样的。
简而言之,您可以大致了解距离(这就是为什么它对邻近警报很好),但是精确的距离或方向需要不同的技术。
你为什么需要它们?根据您的具体情况,可能会有其他选择。
编辑
如果你周围有大量的信标,并且你知道它们的确切位置,那么就有可能做到以下几点:
当然,取决于SDK提供的信标距离测量的实际精度,结果可能或多或少是准确的。您拥有的信标越多,您就应该能够获得更精确的信息(只选择返回距离的信标,或者在计算解决方案时消除那些与其他解决方案“不兼容”的信标)。
发布于 2014-07-11 13:38:46
即使有3个或更多的信标与固定的位置,你仍然无法得到非常准确的定位,没有一些严重和复杂的降噪。这是因为无线电波容易受到绕射、多径传播、干扰和吸收的影响--主要受金属物体和水颗粒(因此人体是强信号阻断剂)的影响。即使是手机的对准(天线位置)也会对接近读数产生重大影响。因此,在不执行降噪算法的情况下,三边化可以给你大约5米的精度。
您可以在Obj (https://github.com/MatVre/MiBeaconTrilaterationDemo)和Swift (https://github.com/a34729t/TriangulatorSwift)中找到一些示例,并检查它们如何为您工作。
干杯。
https://stackoverflow.com/questions/24677199
复制相似问题