Programando en Micropython con Mu Editor

Mu es un editor o IDE que nació para aprender y enseñar a programar en Python en una PC y que con el tiempo fue incluyendo la posibilidad de usar otros dispositivos. En la última versión también nos permite programar los ESP8266 y ESP32 usando Micropython. En este artículo les presentaré el programa y haré una breve descripción de sus distintas funciones.

Hace algunas semanas, cuando analizaba las distintas opciones disponibles para programar los ESP en Micropython les decía que el soporte de Mu para estos micros aún estaba en la etapa de pruebas (alpha). Hace unos pocos días se ha liberado ya la segunda versión beta del editor, lo que supone un avance significativo y nos permite utilizar el programa con mas seguridad.

Mu Editor

Mu nació por el año 2016 con la intención de ser un editor simple para aprender a programar en Python sobre una computadora. Para no apabullar al principiante con una interface demasiado complicada, se mantuvo la simpleza como un objetivo principal en el diseño: “Menos es mas” reza uno de los principios de Mu Editor. Con el desarrollo de nuevas versiones se fueron incorporando nuevos modos, que son formas específicas de usar Mu, en algunos casos en relación con algunas placas o dispositivos específicos. En la actualidad, la versión 1.1.0 beta2 cuenta con los siguientes modos:

BBC micro:bit: Para las versiones 1 y 2 de Micro:bit

Circuit Python: Versión de Python desarrollada por Adafruit para algunos de sus productos

ESP Micropython: Para ESP8266 y ESP32

Lego Micropython: Para dispositivos Lego Spike

Pyboard Micropython: Para las placas Pyboard

Pygame Zero: Para escribir juegos empleando la librería Pygame en la PC

Python3: La tradicional versión de Python para PC

RP2040: Para escribir programas en Micropython en la Raspberry pi Pico

Web: Para crear sitios web usando el framework Flask de Python

Programando los ESP

Como algunas de las características de Mu dependen del modo en que lo estemos usando, nos centraremos ahora en lo que nos interesa, la programación de los ESP8266 y ESP32.

Antes que nada entonces elegiremos el modo apropiado, haciendo click en el botón de Modo y seleccionando luego ESP MicroPython

Fig.1. Seleccionando el modo de trabajo

Los botones redondos del menú tienen el siguiente significado:

Manejo de archivos del editor: Los tres botones Nuevo, Cargar y Guardar sirven para crear un archivo nuevo en el editor, abrir un archivo que está guardado en la PC o guardar el archivo que se está editando en la PC respectivamente.

Fig. 2. Manejo de archivos del editor

Acciones del programa y la placa: Los botones que siguen están relacionados con acciones sobre la placa ESP y el programa:

Fig. 3. Acciones sobre el programa y la placa

Ejecutar: Hace funcionar el código Micropython en la placa

Archivos: Muestra u oculta el sistema de archivos de la placa. Una característica interesante de Mu es que permite copiar archivos desde el directorio actual de la PC al sistema de archivos del ESP con una acción de “arrastrar y soltar”, lo que resulta bastante cómodo.

Fig. 4. Sistema de archivos de la placa (izq) y la PC (der)

REPL: Abre la ventana del REPL (Read-Eval-Print-Loop) o consola interactiva de Micropython

Fig. 5. Ventana REPL

Trazador: Abre la ventana del trazador o plotter que nos permite ver gráficamente los valores que se imprimen (como una tupla) en función del tiempo. Esta es una función similar al ploter de Thonny y puede ser de utilidad cuando queremos ver gráficamente el valor de un sensor o una entrada analógica.

Fig. 6. Ejemplo de uso del trazador

Visualización: El siguiente grupo de botones del menú está relacionado con el aspecto o el modo de visualización del editor.

Fig. 7. Opciones de visualización

Acercar: Agranda el tamaño de la letra

Alejar: Achica el tamaño de la letra

Tema: Cambia el tema o la forma en que se ve el editor

Ayudas a la escritura: Los botones que siguen están relacionados con funciones que nos ayudan a escribir el código.

Fig. 8. Ayudas a la escritura

Comprobar: Comprueba la sintaxis del código (y algunos estilos de programación considerados apropiados)

Fig. 9. La función de comprobación detecta un error y una sugerencia de estilo

Tidy: Reformatea el código para hacerlo mas legible

Ayuda: Abre la página de ayuda en la web de Mu

Finalmente, el último botón permite cerrar Mu.

Actualización y grabación del firmware

Otra función sumamente útil que incluye Mu es la posibilidad de actualizar el firmware de la placa sin necesidad de salir del editor. Simplemente debemos hacer click en el ícono del engranaje que está en la esquina inferior derecha para acceder a la Pantalla de Administración. En el modo ESP, sólo veremos un registro de actividades y la posibilidad de actualizar el firmware (en otros modos se puede acceder a otras configuraciones).

Fig. 10. Acceso a la Pantalla de Administración

Seleccionamos la pestaña ESP Firmware flasher y en la ventana que nos aparece, debemos elegir el dispositivo a grabar (ESP8266 o ESP32), seleccionar el archivo “.bin” que ya hemos descargado y apretamos sobre Erase & Write Firmware

Fig. 11. Grabación del firmware

Conclusión

Mu es un editor o un IDE para programar nuestras placas en Micropython sumamente interesante, que continuamente agrega nuevas funcionalidades. Se destaca su facilidad de uso y sencillez y es una excelente opción para quienes se inician en la programación con Micropython.

Pueden descargarlo desde su sitio web.

7 comentarios en «Programando en Micropython con Mu Editor»

  1. Muchas Gracias Profe, cada articulo suyo es indispensable para los que estamos arrancando.
    Evidencia mejoras? desde aquel….”Mu es prometedor, hay que ver si mejora el soporte para ESP8266/ESP32 en futuras versiones” o todavia le falta mayor soprte para esp32?
    Saludos…

    Responder
    • Muchas Gracias Mario, me alegra saber que los artículos te son de utilidad. La versión alpha de Mu de 64 bits a mi no me funcionaba, esta beta si, lo cual es un gran avance! 🙂 Siempre hay detalles que mejorar. Por ejemplo el manejo del sistema de archivos de la placa me parece medio rudimentario…seguir avanzando con el autocompletado.. cosas que seguramente iremos viendo en las futuras versiones

      Responder
  2. Profe , instalo MU en Ubuntu desde consola y al ejecutarlo:

    Traceback (most recent call last):
    File “/home/mario/.local/lib/python3.8/site-packages/mu/app.py”, line 162, in run
    raise ex
    File “/home/mario/.local/lib/python3.8/site-packages/mu/app.py”, line 149, in run
    venv.ensure_and_create(self.display_text)
    File “/home/mario/.local/lib/python3.8/site-packages/mu/virtual_environment.py”, line 459, in ensure_and_create
    raise VirtualEnvironmentError(
    mu.virtual_environment.VirtualEnvironmentError: Unable to create a working virtual environment.

    Responder
  3. Buenas profe, tengo un problema que cuando inicio el MU editor no me reconoce el ESP32, me dice en la parte de administracion de Mu en device me arroja no device connected, estoy en ambiente linux y cuando ejecuto el comando ‘lsusb’ para ver todos los dispositivos conectados y reconocidos unos de los resultados es el siguiente ID 10c4:ea60 Silicon Labs CP210x UART Bridge, es decir que la PC si reconoce al ESP32 hasta lo que tengo entendido, entonces no se porque el MU editor no lo reconoce y por ende no puedo hacer la parte de flashear el ESP32 para cargarle el firmware del archivo .bin de micropython.

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias