🛠 Premier script Python sur le Pi
Objetivos
Escribir, hacer ejecutable y lanzar un primer script de Python 3 en el Raspberry Pi 3 Model B. Comprender el shebang (#!/usr/bin/env python3), los permisos de ejecución (chmod +x) y controlar el LED del tutorial anterior desde Python con gpiozero (preinstalado en Raspberry Pi OS). Esta es la base de todos los automatismos que ejecutaremos más tarde como servicios systemd.
Material
- Raspberry Pi 3 Model B con Raspberry Pi OS Lite (Python 3 incluido)
- LED + resistencia de 330 Ω en GPIO17 (pin físico 11), como en el tutorial 1
- Editor
nano(incluido) y terminal SSH - Ninguna biblioteca que instalar:
gpiozeroviene preinstalado
Código completo
#!/usr/bin/env python3
"""clignot.py — premier script : message console + LED sur GPIO17.
gpiozero est préinstallé sur Raspberry Pi OS (Pi 3B inclus)."""
from gpiozero import LED
from time import sleep
led = LED(17) # BCM17 = broche physique 11 (logique 3,3 V)
print("Bonjour depuis le Raspberry Pi 3 Model B !")
for i in range(5):
led.on
print(f"Cycle {i + 1} : LED allumée")
sleep(0.2)
led.off
sleep(0.3)
print("Terminé.")
Guardar como clignot.py, luego:
chmod +x clignot.py # droit d'exécution
./clignot.py # lancer depuis le dossier courant
Verificación esperada
La terminal muestra « ¡Hola desde el Raspberry Pi 3 Model B! » y luego las 5 líneas del ciclo, mientras el LED parpadea (200 ms encendido, 300 ms apagado). El script termina correctamente con « Terminado. ». Volver a ejecutar con python3 clignot.py debe dar exactamente el mismo resultado: el shebang es solo un atajo.
Errores frecuentes
Permission deniedal ejecutar./clignot.py: olvidarchmod +x— o archivo creado en una tarjeta SD montada en FAT desde Windows.bad interpreter: archivo escrito con finales de línea de Windows (CRLF); corregir condos2unix clignot.py.ModuleNotFoundError: gpiozero: en una distribución de terceros (Ubuntu, Alpine), instalarpython3-gpiozeroopip install gpiozero.RuntimeError: No suitable pin factory: ejecutar como root sin entorno gráfico; en Raspberry Pi OS Lite, dejargpiozeropor defecto y no usarsudoinnecesariamente.- Indentación de Python mezclada (espacios/tabulaciones):
nanopuede pegar tabulaciones, preferir 4 espacios. - Olvidar que GPIO17 es de 3,3 V: nunca conectar una entrada de 5 V al pin.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython