Micropython es un entorno de programación en constante desarrollo, por lo que frecuentemente tenemos noticias de nuevas funcionalidades o placas que lo soportan. Ocurre lo mismo con las herramientas de desarrollo que nos permiten llevar adelante nuestros proyectos. En esta ocasión haré una breve introducción a una de aparición reciente que tiene algunas características interesantes.
Introducción
El entorno de desarrollo que utilicemos para programar es una pieza fundamental de nuestro trabajo. Lo utilizaremos durante muchas horas mientras desarrollemos un proyecto, así que tendrá que reunir varias características como facilidad de uso, ayudas a la escritura, herramientas para programar e interactuar con la placa empleada, etc.
En un artículo anterior hice un repaso de los entornos mas populares para Micropython hasta ese momento, pero afortunadamente desde esa fecha han aparecido nuevas opciones.
Hoy te cuento de que se trata una de ellas, ESP32 MPY-Jama, un entorno de desarrollo o IDE para Micropython que tiene algunas características que seguro te van a encantar.
ESP32 MPY-Jama
Este IDE, específico para el ESP32, es obra de Jean-Christophe Bos, un desarrollador francés. Es software libre, así que es completamente gratuito y se lo puede descargar de su repositorio en GitHub.
Funciona en los SO mas comunes como Windows, MacOS y Linux. Para los dos primeros hay instaladores listos para descargar y para Linux debemos correr directamente el código en Python, el lenguaje empleado para diseñarlo.
Funcionalidades
Lo primero que vemos al iniciar MPY Jama es un gran botón para conectar el dispositivo o placa ESP32 que vamos a utilizar. Al presionarlo nos pedirá el puerto donde se encuentra la placa, como es habitual. Luego de conectado, se nos habilitan todas las funciones que tenemos disponibles.
Del lado izquierdo podemos apreciar un panel que tiene dos solapas: En una de ellas tenemos un menú de funciones y en la otra un browser o explorador del sistema de archivos de la placa, donde podremos ver los archivos .py, librerías y cualquier otro archivo que tengamos guardado en el ESP32.
En la parte inferior una ventana de estado nos muestra el estado de la conexión, la cantidad de memoria RAM ocupada, la temperatura del ESP32 y el tiempo transcurrido desde el momento de la conexión.
Editor de código
MPY Jama incluye un editor de código con las funciones básicas, como coloreo de sintaxis, donde podemos escribir nuestro programa, hacerlo correr, detenerlo, etc. En la parte inferior tenemos disponible una consola o REPL desde donde también podemos enviar comandos directamente al dispositivo.
Desde el editor tenemos la opción de instalar paquetes o módulos desde micropython-lib de una forma sencilla. Simplemente debemos presionar el ícono del instalador y Jama nos pedirá el nombre del paquete a instalar. Si todo funciona correctamente, lo descargará en una carpeta /lib del sistema de archivos para que la podamos importar en nuestro código.
Desde luego, para que se pueda realizar la instalación, el dispositivo debe estar conectado a Internet. Esto lo podemos hacer fácilmente con la función Wi-fi connection.
También desde el editor podemos importar módulos previamente cargados en el dispositivo para utilizarlos desde la consola REPL. Haciendo click en el ícono de Python podemos importar los módulos que necesitemos, aunque es sólo para su uso desde la consola, no se refleja en el código.
El último ícono de la derecha nos muestra una plantilla con todos los pines de la placa ESP32-Wroom, muy útil a la hora de hacer las conexiones.
Funciones
Jama nos permite correr funciones o mini aplicaciones en cualquier momento para realizar alguna función especifica. Por ejemplo, si tenemos un sensor conectado y queremos leer su valor, no es necesario correr el programa principal, podemos tener una mini aplicación que realice la lectura y nos devuelva el valor correspondiente. Hay varias de estas funciones incluidas y una plantilla para que escribamos las que necesitemos.
Terminal REPL
Si necesitamos mas espacio para trabajar con la consola o terminal REPL, esta opción nos permite hacerlo a pantalla completa.
Información del sistema
En esta función Jama nos muestra información sobre la placa y Micropython. También podemos observar el comportamiento de los pines de GPIO en tiempo real y cambiar la frecuencia del clock.
Información de redes inalámbricas
Pulsando sobre Networks info obtendremos información sobre el estado de las conexiones inalámbricas de nuestro dispositivo, tanto Bluetooth como Wifi.
Conexión Wifi
Desde aquí podemos gestionar la conexión Wifi de la placa y hacer que se conecte a una red disponible de una manera sencilla.
Punto de acceso Wifi
Usando esta función podremos crear y configurar un punto de acceso con nuestro dispositivo.
Hard Reset
Permite realizar un RESET de la placa.
Herramientas de firmware
Con esta función podremos borrar la memoria de nuestro dispositivo y grabar el firmware de Micropython.
Conclusiones
ESP32-MPY Jama es un desarrollo novedoso con funciones interesantes que hacen mas fácil nuestro trabajo de programación. Evidentemente aún hay aspectos a mejorar y errores a solucionar, pero si se mantiene en el tiempo puede ser una opción importante entre los entornos de desarrollo disponibles para Micropython.