如何使用多点连接(WiFi网络)计算两个iOS设备之间的距离?

7
如何使用无线连接计算两个iOS设备之间的距离。
我发现我们可以使用BLERSSI信号强度指示器来计算距离。
但是,设备范围不同,远离房间的设备将无法被发现。
我的要求是计算设备在房间内的距离。
我已经研究了Multi-peer connectivity framework,但是没有RSSI信号强度指示器。
提前致谢。

我没有看到任何关于距离的API。我建议尝试发送已知大小的数据,并观察速度是否与距离相关,从而给出一个估计值。 - Lou Franco
请问您能否详细说明或发送任何相关链接? - ketaki Damale
这只是一个想法,你必须尝试一下。没有链接。将两部手机相距10英尺设置好,来回发送1k数据并测量时间。然后将它们分别放置在20、30、40英尺的距离,并测量时间。看看它们之间的距离是否会影响传输速度。 - Lou Franco
只需收集大量数据,然后查看是否存在相关性。 - Lou Franco
2个回答

3

谢谢你的回答。我们已经使用iBeacon实现了类似的功能。我想知道是否可以使用multipeer框架实现。 - ketaki Damale
@ketakiDamale,您使用iBeacon在iPhone之间能够实现多远的距离? - Lance Samaria
@ketakiDamale,能否分享一下你是如何实现的? - Bassem Halawa

0

@Lance Samaria和@Bassem Halawa,这是使用iBeacon的代码。我能够实现距离接近度85%到90%。我使用了卡尔曼滤波器来减少背景噪声。

这是卡尔曼滤波器的链接:- [https://stackoverflow.com/q/29027824/9673374][1]

我已经使用RSSI值计算了距离,支持此功能的代码如下。

 func calculateNewDistance(_ txCalibratedPower: Int, rssi: Int) -> Double {
        if rssi == 0 {
            return -1
        }
        let ratio = Double(exactly:rssi)!/Double(txCalibratedPower)
        if ratio < 1.0 {
            return pow(10.0, ratio)
        }
        else {
            let accuracy = 0.89976 * pow(ratio, 7.7095) + 0.111
            return accuracy
        }
    }

如果这对你有帮助,请告诉我。 [1]: iOS中用于RSSI的卡尔曼滤波器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接