作為一名python極客,我喜歡在github上挖掘新的用于linux使用者的python工具。今天我發現了一款用python寫成的用于檢測ap信号強度的工具:wifi-linux。
我已經在wifi-linux上實驗了大約兩個小時,并且它工作的很好,但是我希望在不久的将來在作者那裡看到一些單元測試,因為指令plot無法在我的電腦上工作,并且會導緻一些問題。

<a target="_blank"></a>
根據github上作者賬号的官方的 readme.md檔案, wifi-linux是一個簡單的收集你周圍ap的rssi資訊的python腳本,它還會畫出rssi活動圖形。
作者說可以在該程式中可以使用plot指令繪制rssi 活動圖形,但是不幸的是,這對我不可行。wifi-linux也支援其他的指令,比如bp 來加入一個斷點,print會列印一些統計和啟動開關。
wifi-linux程式有下面這些依賴:
dbus-python
gnuplot-py
首先我們需要安裝所有的包依賴以使它可以運作在我們的linux機器上。
我嘗試使用python包管理工具pip安裝python-dbus但是失敗了,因為pip會查找setup.py,但是python-dbus中沒有。是以下面的指令不工作。
<code>pip install dbus-python</code>
你可以試一下但是很有可能會在終端中出現下面的錯誤。
<code>ioerror: [errno 2] no such file or directory: '/tmp/pip_build_oltjano/dbus-python/setup.py'</code>
我該怎麼解決這個問題呢?很簡單,用下面指令中的系統包管理工具來安裝python dbus。
<code>sudo apt-get install python-dbus</code>
上面的指令隻有在有apt-get包管理器的機器中才可以使用,比如debian和ubuntu。
我們要安裝的第二個依賴是gnuplot-py。下載下傳并用tar解壓,接着運作setup.py來安裝包。
第一步是下載下傳gnuplot-py。
<code>wget http://prdownloads.sourceforge.net/gnuplot-py/gnuplot-py-1.8.tar.gz</code>
接着使用tar工具解壓。
<code>tar xvf gnuplot-py-1.8.tar.gz</code>
接着使用cd指令改變目錄。
<code>cd gnuplot-py-1.8</code>
接着運作下面的指令在你的系統中安裝gnuplot-py。
<code>sudo setup.py install</code>
安裝完成後,你就可以在你的系統中運作wifi-linux了。隻需下載下傳并用下面的指令運作腳本。
用下面的指令下載下傳wifi-linux到你的機器中。
<code>wget https://github.com/dixel/wifi-linux/archive/master.zip</code>
解壓master.zip接着使用下面的指令運作list_rsssi.py腳本。
<code>python list_rssi.py</code>
下面的截圖說明wifi-linux在工作了。
wifi-linux to monitor wifi signal strength
指令bp用于像下面那樣添加一個斷點。
the bp command in wifi-linux
指令print可以用于在終端上顯示你機器的狀态。下面就是一個例子。
the print command
----------------------------------------------------------------------------------------------------------------------------