gpiotools_blink.sh
Sin Python: gpiotools exporta el pin y alterna su nivel, util en cron, scripts de instalacion o unidades systemd. GPIO17 es el pin 11 del conector J8 (40 pines). El trap libera el pin al salir.
Hardware
Una Raspberry Pi 3 Model B+ (BCM2837B0 quad-core a 1,4 GHz, Wi-Fi 5 GHz, Bluetooth 4.2, SoC con tapa metálica, GPIO de 40 pines). Un LED, una resistencia de 330 ohmios, ningun paquete Python (solo gpiotools).
Cableado
LED + resistencia entre GPIO17 (pin 11) y GND, el montaje clasico del conector J8.
Funcionamiento
gpio-export crea /sys/class/gpio/gpio17; el script escribe 1/0 en value con gpio-set/gpio-clear, direccion fijada al exportar.
Ejecución
Copia el script en la placa (scp) y ejecútalo con python3 (o bash). Raspberry Pi OS incluye gpiozero; si no, sudo apt install python3-gpiozero. El brochage de 40 pines está documentado en el sitio oficial de Raspberry Pi.
Variantes
gpio-get lee un boton; gpiomon (libgpiod) espera flancos. Wi-Fi de 5 GHz disponible: pruebe ambas bandas; la carcasa blindada disipa bien, pero vigile cpuinfo.
gpiotools_blink.sh
#!/usr/bin/env bash
set -u
# gpiotools_blink.sh — LED clignotante sans Python, via gpiotools.
# Deps: sudo apt install gpiotools
# GPIO17 = broche 11 sur le connecteur 40 broches (J8).
# Alternative sans paquet : echo 17 > /sys/class/gpio/export a la main.
# Relancez si la broche est deja occupee par un autre service.
PIN=17
gpio-export $PIN out
trap 'gpio-unexport $PIN' EXIT
echo "LED sur GPIO$PIN, Ctrl+C pour sortir"
while true; do
gpio-set $PIN
echo "ON"
sleep 0.5
gpio-clear $PIN
echo "off"
sleep 0.5
done