2017-08-21 62 views
1

我試圖解決的問題是提取我的筆記本電腦可發現的所有WiFi網絡的RSSI水平。 我的要求是能夠查看所有wifi網絡的RSSI,並且能夠每秒鐘輪詢新數據,因爲我試圖跟蹤在一個空間中移動的計算機的wifi RSSI。WiFi網絡在Python/Ubuntu中的RSSI水平提取

到目前爲止,我聽說過,並測試了兩種解決方案,具有subprocess啓動下面的命令和解析它們的輸出:

  1. cat /proc/net/wireless,其輸出僅爲當前網絡信息,而且似乎並不成爲一種可以顯示所有網絡信息的方式。它對我來說有一個足夠好的時間間隔更新,但是不是所有的網絡。
  2. iwlist scan,它僅輸出當前網絡的信息,除非與sudo一起使用,但由於我希望在自動運行內部命令iwlist sccan的程序中使用sudo,因此sudo是個問題。此外,與前一個選項相比,它似乎更新RSSI電平非常緩慢,因爲我需要RSSI電平由第二個更新。

我很想聽聽任何其他解決方案來獲取此數據。我會注意到我正在用python構建程序,所以任何庫都會很好,或者只是一個cli工具,我會從python程序中調用它。

目前正在使用Ubuntu 16.04安裝程序。

謝謝!

+0

明白,有對RSSI沒有標準,而且每家供應商做不同的看法,甚至來自同一廠商的不同型號之間。您無法比較供應商之間的RSSI,有時您無法比較來自同一供應商的不同設備型號之間的RSSI。 –

+0

對我來說這很好,我只需要看到信號中的模式,所以即使我跟蹤的每個熱點有不同的RSSI上下限,我需要跟蹤的是增強/減弱的模式。 – noodlez040

回答

0

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

或使用該命令,它更新iwconfig的每一秒的輸出:

watch -n1 iwconfig 
+0

它似乎給出了/ proc/net/wireless的相同信息,我會冒險並說這是從何處獲取信息的地方,這並不能幫助我獲取有關我的計算機可發現的網絡的數據,但我的電腦沒有連接 – noodlez040