🛠 Comprendre les triggers en pilotant les 4 LED utilisateur

BeagleBone Black (TI Sitara AM3358) · debutant · Schéma : IMG-beaglebone-black-debutant-2-leds-user-sysfs-triggers.svg — BeagleBone Black vue de dessus avec les 4 LED utilisateur (heartbeat, mmc0, usr2, usr3) surlignées près du connecteur Ethernet, liste des triggers sysfs en médaillon.

Objectifs

Découvrir le sous-système LED de Linux sans souder quoi que ce soit : la BeagleBone Black possède 4 LED utilisateur définies dans le device tree mainline (am335x-bone-common.dtsi) sous les noms beaglebone:green:heartbeat, mmc0, usr2 et usr3. Chaque LED expose un « trigger » : une source d'activation gérée par le noyau (battement de cœur, activité carte SD, minuteur...). C'est la porte d'entrée vers le pilotage matériel sous Debian.

Matériel

Code complet

# Lister les LED exposées par le device tree
ls /sys/class/leds/
# beaglebone:green:heartbeat  beaglebone:green:mmc0
# beaglebone:green:usr2       beaglebone:green:usr3

# Voir les triggers disponibles ; l'actif est entre crochets [ ]
cat /sys/class/leds/beaglebone:green:usr2/trigger

# Chaque LED prend son rôle métier :
echo heartbeat > /sys/class/leds/beaglebone:green:heartbeat/trigger
echo mmc0      > /sys/class/leds/beaglebone:green:mmc0/trigger

# usr2 en minuteur 250 ms allumée / 500 ms éteinte
echo timer > /sys/class/leds/beaglebone:green:usr2/trigger
echo 250 > /sys/class/leds/beaglebone:green:usr2/delay_on
echo 500 > /sys/class/leds/beaglebone:green:usr2/delay_off

# Reprise la main : retirer le trigger puis piloter la luminosité
echo none > /sys/class/leds/beaglebone:green:usr3/trigger
echo 255 > /sys/class/leds/beaglebone:green:usr3/brightness
echo 0   > /sys/class/leds/beaglebone:green:usr3/brightness

Vérification attendue

La LED heartbeat pulse au rythme du noyau, mmc0 clignote pendant les écritures sur la carte SD (tester avec dd si une microSD est insérée), usr2 clignote au rythme configuré. Avec le trigger none, usr3 obéit instantanément aux commandes echo.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels