Python/Ubuntu 中的 WiFi 网络 RSSI 级别提取

问题描述 投票:0回答:1

我试图解决的问题是提取我的笔记本电脑可发现的所有 wifi 网络的 RSSI 级别。 我的要求是能够查看所有 wifi 网络的 RSSI,并且能够每秒左右轮询新数据,因为我正在尝试跟踪在空间中移动的计算机的 wifi RSSI。

到目前为止,我已经听说并测试了两种解决方案,使用

subprocess
启动以下命令并解析它们的输出:

  1. cat /proc/net/wireless
    ,只输出当前网络的信息,显然没有办法用这个文件输出所有网络的信息。它的更新间隔对我来说足够好,但并非所有网络。
  2. iwlist scan
    ,仅输出当前网络的信息,除非与
    sudo
    一起使用,但由于我希望在从内部运行
    iwlist sccan
    命令的程序中自动执行此操作,因此 sudo 是一个问题。另外,与之前的选项相比,它更新 RSSI 级别的速度似乎非常慢,这是行不通的,因为我需要每秒更新 RSSI 级别。

我很想了解任何其他获取此数据的解决方案。我会注意到,我正在使用 python 构建程序,因此任何库都可以,或者只是一个我将从 python 程序中调用的 cli 工具。

当前使用 Ubuntu 16.04 设置。

谢谢!

python ubuntu wifi
1个回答
1
投票

在命令行上您可以使用以下命令:

iwconfig
并查找
"Link Quality"
"Signal level"
值。

或者使用此命令每秒更新 iwconfig 的输出:

watch -n1 iwconfig
© www.soinside.com 2019 - 2024. All rights reserved.