Індикатором OK можна керувати за допомогою програмного забезпечення для користувачів. Докладніше тут: Re: Чи можемо ми контролювати бортові світлодіоди
Узагальнене з вищезазначеного (весь кредит BrianW):
Індикатор OK доступний як /sys/class/leds/led0/
.
Драйвер світлодіодного ядра має "тригери", які дозволяють деякій іншій частині ядра керувати світлодіодом. Тригер за замовчуванням для світлодіода - " mmc0
", завдяки чому він вмикається, коли доступ до SD-карти.
root@raspberrypi:~# cat /sys/class/leds/led0/trigger
none [mmc0]
Ви можете відключити mmc0
тригер таким чином:
echo none >/sys/class/leds/led0/trigger
Світлодіод можна вмикати та вимикати, використовуючи brightness
файл ' '. Мінімальна яскравість - 0, а максимальна - 255. Оскільки немає змінної підтримки яскравості, будь-яке значення, що перевищує 0, включить світлодіод.
echo 1 >/sys/class/leds/led0/brightness
echo 0 >/sys/class/leds/led0/brightness
Встановлення яскравості в 0 автоматично встановлює тригер на "немає".
Якщо ви хочете, щоб світлодіод повернувся до своєї функції за замовчуванням:
echo mmc0 >/sys/class/leds/led0/trigger
Є кілька модулів ядра, на які ви можете завантажити ( ledtrig_timer
і ledtrig_heartbeat
), який буде мигати світлодіод для вас.
modprobe ledtrig_heartbeat
echo heartbeat >/sys/class/leds/led0/trigger
Після вимкнення mmc0
тригера ви можете використовувати GPIO16 для керування світлодіодом. Активний-низький, тому для включення світлодіода потрібно встановити низький штифт, а високий - вимкнути.
З Python ви можете використовувати модуль RPi.GPIO
для керування контактом 16. Також є драйвер C #.
Зразок коду
#!/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)