【问题标题】:How to calculate distance between two iOS devices using Multipeer connectivity(Wifi network)?如何使用 Multipeer 连接(Wifi 网络)计算两个 iOS 设备之间的距离?
【发布时间】:2020-09-28 16:52:26
【问题描述】:

如何使用无线连接计算两台 iOS 设备之间的距离。

我发现我们可以使用BLE 计算,使用RSSI 数字。

但设备的范围不同,放置在房间较远的设备无法被发现。

我的要求是计算房间里的距离设备。

我查看了Multi-peer connectivity framework,但没有RSSI 号码。

提前致谢。

【问题讨论】:

  • 我没有看到任何用于距离的 API。我会尝试发送已知大小的数据,看看速度是否与距离相关,足以给你一个估计
  • 能否请您详细说明或发送任何相同的参考链接。
  • 这只是一个想法。你必须尝试一下。没有链接。将两部电话相距 10 英尺,来回发送 1k 数据并测量时间。然后在相距 20、30、40 英尺的地方做同样的事情并测量时间。看看他们相距多远是否重要
  • 只是收集大量数据,然后看看是否有相关性

标签: ios wifi swift5 multipeer-connectivity


【解决方案1】:

@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]:Kalman filter for RSSI in iOS

【讨论】:

    【解决方案2】:

    您可以查看新的 NearbyInteraction https://www.reddit.com/r/iOSProgramming/comments/hfq5w8/nearbyinteraction_guide_and_github_repository/?utm_source=share&utm_medium=web2x&context=3

    但可以在 iphone 11 及更高版本上运行,因为这些设备具有 U1 芯片

    【讨论】:

    • 感谢您的回答。我们使用 iBeacon 实现了类似的功能。我想知道多点框架是否可行。
    • @ketakiDamale 您在 iPhone 之间使用 iBeacon 可以达到多远的距离?
    • @ketakiDamale 好心,你能分享一下你是如何实现它的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2016-07-01
    • 1970-01-01
    相关资源
    最近更新 更多