Dzisiaj jest 6 paź 2024, 02:56

Strefa czasowa UTC+1godz.




Nowy temat Odpowiedz w temacie  [ Posty: 2 ] 
Autor Wiadomość
 Tytuł: [howto] LED - powiadamiane o zdarzeniach
Post: 18 gru 2010, 18:55 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 14176
Lokalizacja: Warszawa
Generalnie obsługa diod LED jest już opisana. Jednakże wczorajsza aktualizacja repozytorium OpenWrt przyniosła nowy moduł usbdev, postanowiłem więc opisać tą nowość, a i przy okazji dwie inne.

usbdev to moduł służący do informowania o aktywności portu USB. Występuje aktualnie tylko w trunku, więc wystarczyło to przeportować do Backfire, żeby można było tego używać. Pakiety dla ar71xx/backfire znajdziecie w moich buildach, należy tylko pamiętać o instalacji modułów ode mnie, nie ze standardowego repo OpenWrt. Do tej pory wizualizację podłączenia urządzenia na USB tworzyliśmy w skryptach dla podsystemu hotplug, a wczoraj doczekaliśmy się odpowiedniego moduły (ps. w trunku ar71xx standardowo jest już przez ten moduł).

W prezentowanych przykładach posłużyłem się diodą USB routera TL-WR1043ND, znaczoną w sysfs jako "tl-wr1043nd:green:usb". Moduły MUSZĄ być zainstalowane ode mnie, żeby nie zaciemniać kodu nie umieszczałem pełnych ścieżek przy nazwach pakietów. Z resztą - w oficjalnych pakietach jeszcze tego nie ma.

Instalacja:
opkg install kmod-ledtrig-usbdev
wget --no-check-certificate -q -O /etc/init.d/led "https://dev.openwrt.org/browser/trunk/package/base-files/files/etc/init.d/led?rev=24647&format=txt"

Ta druga linia służy do aktualizacji skryptu obsługującego diody led (domyślnie zawarty jest już zaktualizowany w moich obrazach). Zostaje tylko dopisać odpowiedni skrypt do obsługi diody USB:
uci set system.usb_led=led
uci set system.usb_led.name='USB'
uci set system.usb_led.sysfs='tl-wr1043nd:green:usb'
uci set system.usb_led.trigger='usbdev'
uci set system.usb_led.dev='1-1'
uci set system.usb_led.interval='50'
uci commit system
/etc/init.d/led start

Urządzenie "1-1" to "główny" kontroler USB; oznaczony jest tak w większości urządzeń. I teraz wystarczy podłączyć urządzenie na usb...

ledtrig-netfilter jest kolejnym modułem służącym do sygnalizacji pojawienia się pakietu sieciowego spełniającego odpowiednie założenia. Można definiować wszystkie reguły takie jak pozwala iptables, czyli od zaznaczania pakietów poprzez markowanie odpowiedniego ruchu a na wykrywaniu dostępu do określonych portów skończywszy.

Instalacja
opkg install kmod-ledtrig-netfilter iptables-mod-ipopt

I znów, należy pamiętać żeby moduły były ode mnie jeżeli ktoś używa moich obrazów.

Uruchomienie sprowadza się do dwóch poleceń
- stworzenia odpowiedniej reguły iptables (w przykładzie - interesuje nas ruch na porcie 23, czyli "dobijanie się" do telnetu)
iptables -I INPUT -p tcp --dport 23 -j LED --led-trigger-id telnet --led-delay 1000

- zaznaczyć że ta reguła ma być obsługiwana przez diodę
echo netfilter-telnet > /sys/class/leds/tl-wr1043nd:green:usb/trigger

nazwa triggera to słowo "netfilter-" + id podane przy iptables ("telnet" w tym przykładzie)

Jeżeli teraz zalogujemy się do routera przez telnet, to dioda zacznie migać. Można w ten sposób np. wykrywać ruch p2p (poprzez odpowiednie filtry Layer7).

morse. Routery nie mówią. Jeszcze. Ale sygnalizacja wizualna jest dobrze znana, a alfabet morse'a nie jest aż tak skompilowany żeby nie można było się go nauczyć. Nasz router może komunikować się z nami tym alfabetem.

Instalacja
opkg install kmod-ledtrig-morse


Uruchamiamy nowy trigger:
echo morse > /sys/class/leds/tl-wr1043nd:green:usb/trigger


I zostaje tylko wysłać odpowiednią wiadomość:
echo "To dziala!" > /sys/class/leds/tl-wr1043nd:green:usb/message


Lub echo "SOS" > /sys/class/leds/tl-wr1043nd:green:usb/message :)

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: [howto] LED - powiadamiane o zdarzeniach
Post: 18 gru 2010, 18:59 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
W moim obrazach również jest usbdev.

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 2 ] 

Strefa czasowa UTC+1godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Przejdź do:  
cron
designed by digi-led.pl
...Copyright © 2010-2013, Ekipa openrouter.info