我试图解决的问题是提取我的笔记本电脑可发现的所有wifi网络的RSSI级别。 我的要求是能够查看所有wifi网络的RSSI,并且能够每秒左右轮询新数据,因为我正在尝试跟踪在空间中移动的计算机的wifi RSSI。
到目前为止,我已经听说过并测试了两种解决方案,使用subprocess
启动以下命令并解析它们的输出:
cat /proc/net/wireless
,它仅输出当前网络的信息,并且似乎没有办法使用此文件输出所有网络的信息。它以足够好的间隔更新对我来说,但同样,并非所有网络。iwlist scan
,它仅输出当前网络的信息,除非与sudo
一起使用,但由于我希望在将从内部运行iwlist sccan
命令的程序中自动执行此操作,因此 sudo 是一个问题。此外,与上一个选项相比,它似乎更新 RSSI 级别非常慢,这是不行的,因为我需要第二个更新 RSSI 级别。
我很想听听任何其他解决方案来获取这些数据。我会注意到我正在用python构建程序,所以任何库都很好,或者只是一个我将从python程序中调用的cli工具。
目前正在使用 Ubuntu 16.04 设置。
谢谢!
在命令行上,您可以使用以下命令:iwconfig
并查找"Link Quality"
和"Signal level"
值。
或者使用此命令每秒更新一次 iwconfig 的输出:
watch -n1 iwconfig