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

时间:2017-08-21 21:36:12

标签: python ubuntu networking wifi wireless

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

到目前为止,我已经听说并测试了两个解决方案,使用subprocess启动以下命令并解析其输出:

  1. cat /proc/net/wireless,它仅输出当前网络的信息,并且似乎没有一种方法可以显示所有网络的信息。它为我提供了足够好的间隔更新,但同样不是所有网络。
  2. iwlist scan,仅输出当前网络的信息,除非与sudo一起使用,但由于我希望在一个程序中自动执行此操作,该程序将从内部运行iwlist sccan命令,sudo是个问题。此外,与之前的选项相比,它似乎非常缓慢地更新RSSI级别,这是一个禁忌,因为我需要更新第二个RSSI级别。
  3. 我很想知道任何其他解决方案来获取这些数据。我注意到我在python中构建程序,所以任何库都会很好,或者只是我将在python程序中调用的cli工具。

    目前正在使用Ubuntu 16.04设置。

    谢谢!

1 个答案:

答案 0 :(得分:1)

在命令行上,您可以使用以下命令: iwconfig并查找"Link Quality""Signal level"值。

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

watch -n1 iwconfig