gpiotools_blink.sh

Raspberry Pi 4 Model B (2019) — Ficha de placa · 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 4 Model B (BCM2711 quad-core a 1,5 GHz, USB-C de 5 V/3 A, doble micro-HDMI, Wi-Fi 5 GHz, 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 Bookworm incluye gpiozero; si no, sudo apt install python3-gpiozero. Usa una fuente USB-C de 5 V/3 A para evitar recortes por bajo voltaje.

Variantes

gpio-get lee un boton; gpiomon (libgpiod) espera flancos. Use la fuente oficial USB-C de 5 V/3 A; si no, los puertos USB 3 quedan limitados.

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