Projekt wizualizacji dostępnych sieci WLAN
Ostatnia zmiana: 2015-04-28 20:27

Obecnie nie tylko my udostępniamy połączenie do internetu bezprzewodowo. Aby zapewnić jak najlepszy transfer należy znaleźć wolny lub jak najmniej zatłoczony kanał, pamiętając oczywiście o nakładaniu się poszczególnych pasm. W systemach linuksowych i OpenWrt można posłużyć się poleceniem:


    # iwinfo wlan0 scan

które powinno zwrócić listę dostępnych sieci w otoczeniu. Czytanie takiego pliku przy dużej ilości sieci może być kłopotliwe, więc utworzenie grafu może być przydatne w identyfikacji sieci w eterze.
Skrypt Wifianalyzer jest nakładką na w/w polecenie - odpowiednio odczytując dane tworzy wykres korzystając w programu gnuplot. Rozwiązanie przetestowano na platformie ar71xx z wykorzystaniem sterowników mac80211/ath9k.

Instalacja

Niezbędne jest posiadanie programu gnuplot:


    # opkg update
    # opkg install gnuplot

Jeżeli nie mamy, to należy także zainstalować pakiet iwinfo:


    # opkg install iwinfo

Instalacja skryptu sprowadza się do jego pobrania:


    # cd /bin
    # wget http://dl.eko.one.pl/projekty/wifianalyzer/wifianalyzer.sh
    # chmod 755 /bin/wifianalyzer.sh

Uruchomienie



    # wifianalyzer.sh

Wynikiem działania programu jest wykres w postaci rysunku PNG (domyślnie tworzony w /tmp/wifi.png). Przykładowy wykres przedstawiony jest poniżej:

image

Prezentacja

Taki plik można już bezpośrednio wyświetlić na dowolnej stronie uruchamiając wcześniej serwer www, np:


    # uhttpd -p 8080 -h /tmp

w zależności od posiadanej wersji OpenWrt - podając wówczas jako źródło obrazka http://adres_ip_rutera:8080/wifi.png. Można także wywołać skrypt cyklicznie np. cronie dzięki czemu wykres będzie prezentował aktualny stan zajętości kanałów.