我试图解决的问题是提取笔记本电脑可以发现的所有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设置。
谢谢!
答案 0 :(得分:1)
在命令行上,您可以使用以下命令:
iwconfig
并查找"Link Quality"
和"Signal level"
值。
或者使用此命令每秒更新iwconfig的输出:
watch -n1 iwconfig