gpiotools_blink.sh

Raspberry Pi 5 (model-5) · Archivo : gpiotools_blink.sh · Lenguaje : Bash · Uso : Piloter une GPIO depuis un script shell ou cron, sans dépendance Python

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 5 (BCM2712 quad-core a 2,4 GHz, chip de E/S RP1, GPIO de 40 pines, alimentación USB-C de 5 V/5 A recomendada, dos puertos CSI de cámara). 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. En Bookworm, gpiozero 2.x controla los pines mediante el chip RP1; mantén gpiozero y python3-rpi.gpio actualizados (sudo apt full-upgrade). Se recomienda fuente de 5 V/5 A.

Variantes

gpio-get lee un boton; gpiomon (libgpiod) espera flancos. Se recomienda una fuente de 27 W (5 V/5 A); sin ella, USB se limita a 600 mA en total.

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

← Volver a la ficha