Die OK-LED kann über die User-Space-Software gesteuert werden. Details hier: Betreff: Können wir die On-Board-LEDs steuern?
Zusammengefasst aus dem oben Gesagten (alle Kredite an BrianW):
Die OK-LED ist verfügbar als /sys/class/leds/led0/.
Der Kernel-LED-Treiber hat "Trigger", mit denen ein anderer Teil des Kernels die LED steuern kann. Der Standard-Auslöser für die LED ist ' mmc0', wodurch sie beim Zugriff auf die SD-Karte leuchtet.
root@raspberrypi:~# cat /sys/class/leds/led0/trigger
none [mmc0]
Sie können den mmc0Trigger wie folgt deaktivieren :
echo none >/sys/class/leds/led0/trigger
Die LED kann mit der ' brightness' Datei ein- und ausgeschaltet werden . Die Mindesthelligkeit beträgt 0 und die Höchsthelligkeit 255. Da keine variable Helligkeit unterstützt wird, schaltet jeder Wert über 0 die LED ein.
echo 1 >/sys/class/leds/led0/brightness
echo 0 >/sys/class/leds/led0/brightness
Wenn Sie die Helligkeit auf 0 setzen, wird der Trigger automatisch auf "Keine" gesetzt.
Wenn Sie möchten, dass die LED zu ihrer Standardfunktion zurückkehrt:
echo mmc0 >/sys/class/leds/led0/trigger
Es gibt ein paar Kernel-Module, die Sie laden können ( ledtrig_timerund ledtrig_heartbeat), die die LED für Sie blinken lassen.
modprobe ledtrig_heartbeat
echo heartbeat >/sys/class/leds/led0/trigger
Nachdem Sie den mmc0Auslöser ausgeschaltet haben, können Sie die LED mit GPIO16 steuern. Es ist aktiv-niedrig, daher müssen Sie den Pin niedrig einstellen, um die LED einzuschalten, und hoch, um sie auszuschalten.
In Python können Sie mit dem Modul RPi.GPIOPin 16 steuern. Es gibt auch einen C # -Treiber.
Beispielcode
#!/usr/bin/python
import RPi.GPIO as GPIO
from time import sleep
# Needs to be BCM. GPIO.BOARD lets you address GPIO ports by periperal
# connector pin number, and the LED GPIO isn't on the connector
GPIO.setmode(GPIO.BCM)
# set up GPIO output channel
GPIO.setup(16, GPIO.OUT)
# On
GPIO.output(16, GPIO.LOW)
# Wait a bit
sleep(10)
# Off
GPIO.output(16, GPIO.HIGH)