Raspberry Pi – Hardware leds manipuleren (BASH)
Op deze pagina vind je voorbeelden hoe je de onboard (hardware) GPIO/LED’s kan manipuleren en aansturen van een Raspberry Pi via de BASH.
Let op: Getest en werkt op een Raspberry Pi 2B
De trigger van de LED kan geconfigureerd worden deze staan in: /sys/class/leds , om deze weer te geven, gebruik het ls commando:
1 2 |
pi@raspberrypi:~ $ ls /sys/class/leds led0 led1 |
Groene LED
De groene led, is led0 en is standaard ingesteld dat het oplicht wanneer de SD kaart aangesproken wordt, instellen doe je met een echo naar de trigger pad van de desbetreffende led.
De led kan als volgt op een trigger ingesteld worden:
none mmc0 timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on input rfkill0
Je kan de ingestelde waarde (tussen de [ ]) bekijken kan met het commando:
1 2 |
pi@raspberrypi ~ $ cat /sys/class/leds/led0/trigger none [mmc0] timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on input rfkill0 |
Om deze led in te stellen als “heartbeat” effect gebruik het volgende commando:
als root:
echo hearthbeat >/sys/class/leds/led0/trigger
als pi:
echo heartbeat | sudo tee /sys/class/leds/led0/trigger > NULL
timer effect:
als root:
echo timer >/sys/class/leds/led0/trigger
als pi:
echo timer | sudo tee /sys/class/leds/led0/trigger >NULL
standaard:
als root:
echo mmc0 >/sys/class/leds/led0/trigger
als pi:
echo mmc0 | sudo tee /sys/class/leds/led0/trigger >NULL
Rode LED
De rode led, is led1 en is standaard ingesteld dat het oplicht wanneer de pi aan staat, instellen doe je met een echo naar de trigger pad van de desbetreffende led.
De led kan als volgt op een trigger ingesteld worden:
none mmc0 timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on input rfkill0
Je kan de ingestelde waarde (tussen de [ ]) bekijken kan met het commando:
1 2 |
pi@raspberrypi ~ $ cat /sys/class/leds/led1/trigger none mmc0 timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on [input] rfkill0 |
Om deze led in te stellen als “heartbeat” effect gebruik het volgende commando:
als root:
echo hearthbeat >/sys/class/leds/led1/trigger
als pi:
echo heartbeat | sudo tee /sys/class/leds/led1/trigger > NULL
timer effect:
als root:
echo timer >/sys/class/leds/led1/trigger
als pi:
echo timer | sudo tee /sys/class/leds/led1/trigger >NULL
standaard:
als root:
echo input >/sys/class/leds/led0/trigger
als pi:
echo input | sudo tee /sys/class/leds/led0/trigger >NULL
Opstarten
Een leuk voorbeeld is om bijvoorbeeld de rode led als heartbeat te laten knipperen als de raspberry pi opgestart is, zo kan je zien of je al in kan loggen.
Voeg deze regel toe in de crontab: @reboot echo heartbeat | sudo tee /sys/class/leds/led1/trigger
Open de crontab met het volgende commando: crontab -e
Bronnen:
taktran @ gist.github.com
raspberrypi.org
raspberrypi.stackexchange.com