linux - 如何在代码中获得与 WiFi 的准确距离?
问题描述
我正在做一个项目,我必须确定与 WiFi 的距离。我正在使用 WiFi RSSI 和公式:
float exp = (27.55 - (20 * log10(frequency)) + abs(RSSI)) / 20.0;
return pow(10.0, exp);
但这并不能给出准确的值,并且取决于环境。如果 WiFi 路由器和接收器之间有很多墙,则此公式会给出错误的值。
我在网上搜索了很多。所有结果都使用 RSSI 和 Tx-Power。Tx-Power 是距离 WiFi 路由器 1 米处的 RSSI。Tx-Power 不是常数,并且因路由器而异,这意味着我的代码不适用于世界上的所有路由器。
我的问题是,如何使用这种方法或其他方法准确地获得与 WiFi 路由器的距离?
解决方案
您的代码使用分贝,这取决于您的 WiFi 检测效果。如果您要获取距离,则不能使用此公式,因为它取决于路由器所在的环境。
推荐阅读
- html - 学习者 - 我的图像和文字之间的差距是什么
- javascript - 动态加载的外部本地脚本未运行
- c++ - 如何在单个程序中执行特定数量的孤立和僵尸进程?
- c# - 如何在 Azure Functions 的 Open API 属性中使用注入 IConfiguration
- excel - 事件触发时仅复制值的问题
- amazon-web-services - EKS,Windows 节点。networkPlugin cni failed, 无法创建 pod 沙箱
- android - firebase crashlytics插件源代码在哪里
- flutter - Dart 正则表达式错误尝试调用使用?
- java - 如何在 Java 中解析 Http POST 响应正文
- javascript - 如何在 react/js 中读取和下载二进制文件