Diody LED

Diody LED w routerze służą przed wszystkim w celach informacyjnych. Na ich podstawie najczęściej stwierdzamy czy urządzenie lub jego część działa poprawnie.

Jeżeli dana dioda nie ma z góry ustalonej funkcji, mamy tu ma myśli wszelkie 'lampki' informujące o działaniu portu przełącznika, to istnieje możliwość własnego przypisania jej funkcji.

Sterowanie z linii poleceń

Diody w systemie OpenWrt zarządzane są przez sysfs. Dostępne diody znajdują się w /sys/class/leds. W nazwie diody znajduje się jej platforma, kolor oraz etykieta/przeznaczenie, np. ubnt:green:rf (dioda RF kolory zielonego), wrt160nl:blue:wlan

Załączenie diody obywa się przez wydanie komendy:

echo 1 >  /sys/class/leds/ubnt\:green\:rf/brightness

Wyłączenie

echo 0 >  /sys/class/leds/ubnt\:green\:rf/brightness

Całkiem logiczne, jak w elektronice cyfrowej, 0-brak napięcia, 1- jest napięcie.

Można również przypisać inne funkcję dla diody. Oto dostępne:

  • Heartbeat „Bicie serca” - częstotliwość migania diody zależy od obciążenia systemu
echo "heartbeat" >  /sys/class/leds/ubnt\:green\:rf/trigger
  • Sygnalizacja zapisu na flash
echo "nand-disk" >  /sys/class/leds/ubnt\:green\:rf/trigger
  • Aktywność interfejsu sieciowego
 echo "netdev" >  /sys/class/leds/ubnt\:green\:rf/trigger
 echo "wlan0" > /sys/class/leds/ubnt\:green\:rf/device_name
 echo "link tx rx" > /sys/class/leds/ubnt\:green\:rf/mode
  • Czasowe włączenie diody - Timer
 echo "timer" > /sys/class/leds/ubnt\:green\:rf/trigger
 echo "5000" > /sys/class/leds/ubnt\:green\:rf/delay_on
 echo "2000" > /sys/class/leds/ubnt\:green\:rf/delay_off

Spowoduje włączenie diody na 5sek, wyłączenie na 2sek. Czas podajemy w ms.

  • Aktywność/zapis na urządzenie USB
 echo "usbdev" > /sys/class/leds/ubnt\:green\:rf/trigger
 echo "1-1" > /sys/class/leds/ubnt\:green\:rf/device_name
 echo "50" > /sys/class/leds/ubnt\:green\:rf/interval

device_name wskazuje na główny hub portu USB, interval czas pomiędzy aktywnością.

W przypadku routerów z jednym portem USB będzie to 1-1, z dwoma 1-1 i 2-1 itd. Parametr interval zalecałbym z granicach 50-100 jest wtedy łatwo dostrzec migająca diodę. Czas jest w ms.

Dioda będzie migała zarówno w czasie zapisu na dysku USB/pendrive, ale też jakiejkolwiek innej aktywności na szynie USB np. odczyt temperatury z czujnika DS18B20.

Konfiguracja przez UCI

To co wykonać można z konsoli, da się również na stałe zapisać w notacji narzędzia UCI. Konfiguracja ta znajduje się w /etc/config/system. Odpowiednio:

  • Wyłączenie diody
uci add system led
uci set system.@led[-1].sysfs='ubnt:green:rf'
uci set system.@led[-1].default='0'
uci commit system
  • Włączenie diody
uci add system led
uci set system.@led[-1].sysfs='ubnt:green:rf'
uci set system.@led[-1].default='1'
uci commit system
  • Heartbeat
uci add system led
uci set system.@led[-1].sysfs='ubnt:green:rf'
uci set system.@led[-1].trigger='heartbeat'
uci commit system
  • Zapis na pamięć flash
uci add system led
uci set system.@led[-1].sysfs='ubnt:green:rf'
uci set system.@led[-1].trigger='nand-disk'
uci commit system
  • Aktywność interfejsu sieciowego
uci add system led
uci set system.@led[-1].sysfs='ubnt:green:rf'
uci set system.@led[-1].trigger='netdev'
uci set system.@led[-1].mode='link rx tx'
uci set system.@led[-1].dev='wlan0'
uci commit system
  • Timer
uci add system led
uci set system.@led[-1].sysfs='ubnt:green:rf'
uci set system.@led[-1].trigger='timer'
uci set system.@led[-1].delayon='5000'
uci set system.@led[-1].delayoff='2000'
uci commit system
  • Aktywność/zapis na urządzenie USB - trunk i obrazy z arteq
uci add system led
uci set system.@led[-1].sysfs='ubnt:green:rf'
uci set system.@led[-1].trigger='usbdev'
uci set system.@led[-1].dev='1-1'
uci set system.@led[-1].interval='50'
uci commit system

Po zapisaniu ustawień wystarczy zrestartować urządzenie lub tylko usługę zarządzania 'ledami'

/etc/init.d/led restart
technikalia/diody-led.txt · ostatnio zmienione: 2010/12/18 17:59 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0
Profesjonalny Hosting