clignotante.py
Le script de mise en jambe sur SBC : une LED branchée sur le connecteur GPIO clignote à 1 Hz. python3-gpiod pilote directement la puce GPIO via le noyau, sans bibliothèque propriétaire.
Matériel requis
Un Orange Pi 5 Plus (Rockchip RK3588, 4 Cortex-A76 + 4 Cortex-A55, jusqu'à 16 Go de RAM) sous Armbian/Debian, connecteur GPIO 40 broches et double Ethernet gigabit. 1 LED + résistance 330 Ω (les broches sont en 3,3 V sur toutes ces cartes).
Câblage
Anode de la LED sur la broche GPIO choisie (voir le schéma de la carte et gpioinfo) via 330 Ω, cathode sur GND.
Fonctionnement
Le script configure la broche en sortie, alterne niveau haut/bas avec sleep(1), et rend proprement la broche (finally) même sur Ctrl-C.
Exécution
Gravez Armbian pour RK3588, puis sudo apt install python3-gpiod gpiod. Identifiez la puce avec gpiodetect et les broches avec gpioinfo, adaptez le script et lancez-le (python3 ou ./script.sh).
Variantes
Remplacez sleep par un motif (rampe PWM via gpiozero PWM / gpiod + threads), ou branchez plusieurs LED en anneau.
clignotante.py
#!/usr/bin/env python3
# Clignotement LED avec python3-gpiod (API 1.x, Debian/Armbian).
# Installation : sudo apt install python3-gpiod gpiod
# Puce disponible : gpiodetect ; broches : gpioinfo <puce>
import gpiod
from time import sleep
PUCE = "gpiochip1" # a verifier avec gpiodetect (varie selon la carte)
LIGNE = 17 # numero GPIO du schema de la carte
chip = gpiod.Chip(PUCE)
line = chip.get_line(LIGNE)
line.request(consumer="clignotante", type=gpiod.LINE_REQ_DIR_OUT,
default_val=0)
print("Clignotement (Ctrl-C pour arreter)")
try:
while True:
line.set_value(1)
print("LED ON")
sleep(1)
line.set_value(0)
print("LED OFF")
sleep(1)
finally:
line.release()