¿Por qué usar micropython?
Los módulos que contienen un ESP32 vienen por defecto para programarlos con C/C++, a priori C/C++ es más rápido en la ejecución que micropython, esto es solo apreciable para aplicaciones muy específicas, para la mayoría de aplicaciones puede no tener una gran influencia, dicho esto entonces, ¿por qué me conviene instalar micropython?
En principio aprender otro lenguaje de programación siempre nos dará más versatilidad a la hora de realizar nuestros proyectos , aparte de esto piensa que micropython es una versión reducida de python, uno de los lenguajes más demandados para los programadores en el mundo laboral y con una curva de aprendizaje bastante rápida.
Programar en micropython lo veo como un escalón previo a programar en python.
Python nos vendrá muy bien para hacer programas en nuestra Raspberry pi y si lo enfocamos en la dirección de aprender IOT internet de las cosas, python nos vendra marávillosamente bien en la parte de la programación de la plataforma que recibe los datos, para analizarlos, pintarlos en gráficas y más aún para realizar una analítica de data science.
Es por eso que bajo mi punta de vista y esto es solo mi opinión, es hora de abrir nuestra mente y pensar que hay vida más allá de la plataforma de Arduino con C/C++, si bien aprender un lenguaje nuevo, requiere de un esfuerzo, la recompensa merece la pena, al abrirse un mundo de posibilidades para proyectos más complejos y vistosos en el mundo de la informática que antes teníamos más limitado.
¿Por qué micropython en la ESP32?
Básicamente la relación precio prestaciones de la ESP32 me parece que está a un nivel muy alto ya que tenemos un montón de formas de comunicarnos con el ESP32 en un espacio más reducido .
Básicamente como comentaba anteriormente es la puerta de entrada a un nuevo mundo de posibilidades, estamos ampliando nuestras fronteras del conocimiento, además de homogeneizar un mismo tipo de lenguaje ya que lo podemos usar en nuestros microcontroladores en un nuestra raspberry pi y en nuestro ordenador, resolviendo así diferentes problemas con una base común
Pasos para poder programar en micropython el ESP32
1.Instalar python en nuestra computadora
Ingresamos al navegador python.org y vamos a la sección de descargas
En la sección downloads en mi caso pulsamos en windows y una vez allí pinchamos en windows installer (64 bit) con esto una vez finalizada la descarga nos iremos a nuestra sección de descargas y clicaremos sobre el archivo descargado es muy importante clickar sobre la casilla de añadir python 3.12 to PATH
Para comprobar que la instalación ha ido bien nos iremos escribiremos en Buscar en la barra de tareas de windows CMD y ejecutaremos como administrador
Una vez estás en el símbolo de sistema, escribiremos python y pulsaremos enter donde nos apareceran el simbolo <<< esto significa que estamos en el REPL (read eval print loop) donde podremos evaluar nuestras instruciones de python directamente .
Pulsando control + z saldremos de python al directorio en el que estábamos.
2. Instalación de esptool
Esptool es una herramienta escrita en python que nos va ha permitir subir bootloaders o cargadores de arranque, para ello hay varias opciones, dependiendo de tu tipo de instalación, hay algunas que te pueden funcionar y otras que no, asi que prueba las distintas opciones hasta que alguna te instale Esptool, tienes las siguientes opciones :
3.Ingresar a micropython.org
Tecleamos en la barra de direcciones del navegador micropython.org/downloads y buscamos nuestro módulo Esp32, es muy importante identificar el modelo exacto de nuestra placa en mi caso yo escojo ESP32-WROOM-32
4. Borrar la memoria flash de la ESP32
Si bajas en la página podrás ver las instruciones de instalación, pero tendras que hacer unos pequeños cambios dependiendo de si estas en Linux o en windows, el comando que aparece es para Linux, por lo tanto tendrás que cambiar la parte que hace mención al puerto (mira en el administrador de dispositivos en que COM está conectada tu placa ESP32) , además en mi caso tuve un pequeño problema y es que debido a la versión de python o del esptool tuve que eliminar el .py del comando ya que me daba error, así que si te da error prueba a eliminar el .py
Entonces el comando de borrado de la flash tienes que escribirlo en el simbolo del sistema ejecutandolo como administrador como ya vimos anteriormente.
Muy importante antes de pulsar el Enter para lanzar este comando de borrado tienes que dejar pulsado el botón de BOOT de la placa ESP32 después pulsar el Enter y una vez haya comenzado el proceso de borrado podras soltarlo.
Como verás en la imagen anterior en el primer intento me falló con .py, en el segundo intento no estaba pulsando el botón BOOT, ya si en el tercer intento fue exitoso.
5.Flashear la ESP32 con micropython
Ahora tienes que bajar el archivo.bin pulsando sobre el adecuado según tu placa, en mi caso escojo v1.22.1 (2024-01-05) .bin , muy importante este archivo para poder instalarlo, debe estar en la misma ruta desde donde vayas a lanzar el comando de flasheado, es decir en mi caso si ejecuto cmd como administrador lo habré de pegar en c:\windows\system32.
Para que veas que lo podemos colocar en otro directorio, si así lo deseas, voy a acceder al símbolo del sistema como un usuario normal, sin ser administrador y entonces me abrira el símbolo del sistema en, C:\Users\river es exactamente igual el directorio que uses, solo que has de depositar el archivo.bin desde donde vayas a lanzar el comando esto es muy importante si no no funcionará.
Ahora teclea en el símbolo del sistema el comando de flasheo que te indica la página de micropython cambiandolo por el nombre de la versión exacta del archivo que has descargado, además de cambiar el puerto como vimos anteriormente ya que el comando recuerda que es para Linux y pulsas enter, en este caso no hay que pulsar el botón boot.
Pues ya estaría listo, el programa que yo utilizo para trabajar en micropython se llama Thonny y lo puedes descargar haciendo click en este enlace .
Si tienes una raspberry Pico clicka en el siguiente enlace aquí te enseño a como instalarle micropython
Espero que este post te haya sido de utilidad, si ha sido compartelo en tus redes sociales favoritas.