micropython-repl

Qué es y cómo usar el REPL en MicroPython

  • 3 min

El REPL (Read-Eval-Print Loop) es una herramienta fundamental en MicroPython que nos permite interactuar directamente con la placa en tiempo real.

En nuestro primer programa ya (tutorial anterior) vimos como el REPL cogía el programa que le mandaba el IDE, y lo ejecutaba el intérprete que está en el firmware de MicroPython.

El REPL es un entorno interactivo que permite ejecutar comandos de MicroPython directamente en la placa.

Básicamente, nos permite comunicarnos con el intérprete de Python que tenemos en el dispositivo, desde fuera de él, a través de una comunicación serial.

Su nombre proviene de las siglas Read-Eval-Print Loop, que describen su funcionamiento:

  1. Read (Leer): El REPL lee el comando que introduces.
  2. Eval (Evaluar): Evalúa el comando y lo ejecuta.
  3. Print (Imprimir): Muestra el resultado de la ejecución.
  4. Loop (Bucle): Repite el proceso, permitiéndote introducir nuevos comandos.

El REPL no es exclusivo de MicroPython. Es un concepto que existe en otros lenguajes y tecnologías. Son útiles para ejecutar pruebas rápidas, depurar código y explorar las funcionalidades sin necesidad de cargar programas completos.

En este artículo, vamos a ver cómo funciona, sus características principales y cómo sacarle el máximo provecho en el desarrollo de proyectos con MicroPython.

Acceso al REPL en MicroPython

Para acceder al REPL, simplemente tenemos que conectar tu dispositivo a tu ordenador mediante un cable USB (¡asi de sencillo!).

Luego, puedes utilizar una herramienta de terminal como Arduino Lab for MicroPython, Thonny, PuTTY (solo Windows) para establecer la comunicación con la placa.

En Arduino Lab for MicroPython, el REPL está siempre, ocupando la parte inferior del programa

micropython-arduino-lab-repl

De forma similar, en Thonny también encontramos el REPL en la parte inferior del programa.

micropython-thonny-repl

Si queréis usar PuTTY, simplemente selecciona el puerto serial correspondiente a tu placa. Configura la velocidad (baud rate) a 115200, y pulsa Open para visualizar el REPL.

micropython-putty-repl

Probando el REPL

Vamos a probar el REPL de forma sencilla. En el IDE que hayas elegido, escribe en el REPL los siguiente.

print("Hola desde LuisLlamas.es")

Verás, que, de forma muy similar a lo que ocurre con un intérprete de PC de Python, MicroPython responde a través del REPL,

>>> print("Hola desde LuisLlamas.es")
Hola desde LuisLlamas.es

¡Pero puedes probar más cosas! Por ejemplo

# Suma de dos números
a = 10
b = 5
suma = a + b
print("La suma es:", suma)

# Leer una variable de texto desde la entrada del usuario
nombre = input("Introduce tu nombre: ")
print("Hola,", nombre)

Y responderá

>>> a = 10
>>> b = 5
>>> suma = a + b
>>> print("La suma es:", suma)
La suma es: 15
>>> nombre = input("Introduce tu nombre: ")
Introduce tu nombre: Luis
>>> print("Hola", nombre)
Hola Luis

¿A que está chulo? Pues es solo una parte pequeña de lo que podemos hacer.

Características avanzadas del REPL

El REPL en MicroPython soporta autocompletado de comandos. Esto es especialmente útil cuando estás explorando módulos o funciones. Para usarlo, escribe parte de un comando y presiona Tab. Por ejemplo:

>>> import machine
>>> machine.Pin. #<-- aqui pulsas Tab

Esto mostrará una lista de métodos y atributos disponibles en la clase Pin.

micropython-repl-suggestions

Puedes navegar por el historial de comandos utilizando las teclas de flecha y . Esto te permite reutilizar comandos anteriores sin tener que volver a escribirlos.

El REPL permite editar líneas de código antes de ejecutarlas. Puedes mover el cursor con las flechas y , y borrar caracteres con Backspace o Delete.

Aunque el REPL está diseñado para comandos de una sola línea, puedes ejecutar bloques de código más complejos utilizando sangrías. Por ejemplo:

>>> for i in range(5):
...     print(i)
...
0
1
2
3
4