OK LED dapat dikontrol dari perangkat lunak ruang pengguna. Detail di sini: Re: Bisakah kita mengontrol led on-board
Dirangkum dari yang di atas (semua kredit ke BrianW):
OK LED tersedia sebagai /sys/class/leds/led0/
.
Driver LED kernel memiliki "pemicu" yang memungkinkan beberapa bagian lain dari kernel mengontrol LED. Pemicu default untuk LED adalah ' mmc0
', yang membuatnya aktif saat kartu SD diakses.
root@raspberrypi:~# cat /sys/class/leds/led0/trigger
none [mmc0]
Anda dapat menonaktifkan mmc0
pemicu sebagai berikut:
echo none >/sys/class/leds/led0/trigger
LED dapat dinyalakan dan dimatikan menggunakan file ' brightness
'. Kecerahan minimum adalah 0, dan maksimum adalah 255. Karena tidak ada dukungan kecerahan variabel, nilai apa pun yang lebih besar dari 0 akan menyalakan LED.
echo 1 >/sys/class/leds/led0/brightness
echo 0 >/sys/class/leds/led0/brightness
Mengatur kecerahan ke 0 secara otomatis mengatur pemicu ke "tidak ada".
Jika Anda ingin LED kembali ke fungsi default:
echo mmc0 >/sys/class/leds/led0/trigger
Ada beberapa modul kernel yang dapat Anda muat ( ledtrig_timer
dan ledtrig_heartbeat
) yang akan mem-flash LED untuk Anda.
modprobe ledtrig_heartbeat
echo heartbeat >/sys/class/leds/led0/trigger
Setelah Anda mematikan mmc0
pelatuk, Anda dapat menggunakan GPIO16 untuk mengontrol LED. Ini aktif-rendah, jadi Anda harus mengatur pin rendah untuk menyalakan LED, dan tinggi untuk mematikannya.
Dari Python, Anda dapat menggunakan modul RPi.GPIO
untuk mengontrol pin 16. Ada juga driver C #.
Kode sampel
#!/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)