Ada 5 LED pada RPi: OK, PWR, FDX, LNK, 10M.
Saya ingin tahu apakah mungkin untuk mengontrol semua ini dari perangkat lunak yaitu menyalakannya, atau mengubah intensitas (atau bahkan mengubah warna terkesiap ).
Dan jika demikian, di mana saya bisa membacanya? LED bisa menjadi cara yang sangat berguna untuk memberi sinyal status aplikasi pengguna ketika mereka tidak diperlukan untuk penggunaan aslinya.
Jawaban:
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.Anda dapat menonaktifkan
mmc0
pemicu sebagai berikut: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.Mengatur kecerahan ke 0 secara otomatis mengatur pemicu ke "tidak ada".
Jika Anda ingin LED kembali ke fungsi default:
Ada beberapa modul kernel yang dapat Anda muat (
ledtrig_timer
danledtrig_heartbeat
) yang akan mem-flash LED untuk Anda.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 #.sumber
echo gpio | sudo tee /sys/class/leds/led1/trigger
, lalu hidupkan atau matikan denganecho [0|1] | sudo tee /sys/class/leds/led1/brightness
.Tak satu pun dari LED papan dapat dikontrol dalam perangkat lunak - mereka semua digunakan untuk hal-hal lain.
Sekarang, itulah jawaban resmi ... Mari kita pelajari skematiknya .
Page 4 LED PWR terhubung langsung ke catu daya, jadi kami tidak dapat mengontrolnya dalam perangkat lunak.
Page 3 FDX, LNK dan 10M semua terhubung ke chip Ethernet, sehingga sekali lagi kita tidak bisa mengendalikan mereka dalam perangkat lunak (tanpa beberapa hack lalu lintas yang funky ...).
Halaman 4 TAPI OK sebenarnya dikendalikan oleh GPIO 16, sehingga ada kemungkinan hack ...
sumber
Ada cara yang lebih sederhana untuk mengontrol LED LAN dari userland. Kode sumber tersedia dari
http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=72070
Program perlu dijalankan dengan sudo.
sumber
Anda dapat mengontrol semua led (kecuali PWR dalam model Pi yang lebih lama, seperti yang dikatakan dalam jawaban lain).
Tetapi untuk ethernet led, Anda perlu menambal driver dan mengkompilasi ulang kernel.
Informasi tentang bagaimana kompilasi ulang dapat di sini: http://elinux.org/RPi_Kernel_Compilation
Patch dan informasi lebih lanjut di sini (google translate jika perlu): http://everpi.tsar.in/2013/11/patch-para-controlar-os-leds-ethernet-do-raspberrypi.html
Setelah selesai, Anda dapat mengontrol: / sys / class / smsc95xx_leds dan eth_fdx, eth_lnk e eth_spd.
Contoh: echo 0> / sys / class / smsc95xx_leds / eth_fdx echo 1> / sys / class / smsc95xx_leds / eth_fdx
sumber
Saya dapat mengonfirmasi bahwa dengan Raspberry Pi 2 dimungkinkan untuk mengontrol LED PWD juga!
LED daya dikendalikan oleh file di:
Anda dapat mematikannya seperti LED Status menggunakan:
Lihat jawaban Guy untuk lebih banyak cara mengendalikan LED
sumber
Saya menulis program userspace yang memungkinkan Anda mengontrol LED Ethernet.
Program ini membutuhkan yang lebih baru
libusb-1.0
(BUKAN yang lebih tua 0,1). Ini bekerja dengan LAN9512 (misalnya pada Raspberry B yang lebih lama) serta chip LAN9514 (misalnya pada Raspberry B + atau Raspberry 2)Detail dapat ditemukan di sini: Kontrol LED LAN951x
sumber
Dengan Pi 2, Anda dapat mengontrol LED onboard merah dan hijau.
Dokumentasi Windows 10 IoT masing-masing mencantumkan LED daya merah dan OK hijau pada GPIO 35 dan 47.
https://ms-iot.github.io/content/en-US/win10/samples/PinMappingsRPi2.htm
Saya mencoba dengan Windows 10 IoT dan dengan Python di Raspbian. Keduanya dapat mengontrol LED, meskipun Raspbian menimpa LED setiap kali ada sesuatu yang mengakses kartu SD. Agaknya, menghapus pemicu akan menghapus perilaku ini.)
Ini contohnya. (Perhatikan bahwa ini tidak mengesampingkan pelatuk sebagaimana disebutkan dalam posting sebelumnya)
sumber