Hola controleros y controleras en esta entrada aprenderemos a programar el firmware de MicroPython en nuestra placa Raspberry Pi Pico y también en el NodeMCU ESP8266.
Antes de comenzar te invito a que le des un vistazo a nuestro curso de MicroPython con enfoque en la Raspberry Pi Pico.
Y que te suscríbas al canal si te interesa la programación de microcontroladores y la teoría del control.
Obtener el firmware
Para que nuestras placas funcionen con Micropython lo primero que debemos hacer es descargar el archivo .bin del firmware de MicroPython más reciente el cual lo vamos a cargar a nuestro dispositivo Raspberry Pi Pico o NodeMCU ESP8266.
Dependiendo del dispositivo que uses, puedes descargar el firmware desde la página de descargas de MicroPython .
En este caso como apenas estamos comenzando a explorar y a entender estas placas lo mejor es seleccionar un Firmware de MicroPython que sea estable.
Implementar el firmware
Con el firmware de MicroPython en nuestro computador, debemos proceder a cargarlo en la Raspberry Pi Pico o en el NodeMCU ESP8266. Los pasos son los siguientes pero también puedes verlo en los videos:
Raspberry Pi Pico
- La Raspberry Pi Pico no pueden estar conectada inicialmente a ninguna fuente de energía: desconecte el cable micro USB si está enchufado y desconecte cualquier otro cable que pueda estar proporcionando energía a la placa.
- Presione el botón BOOTSEL de su placa y conecte inmediatamente el cable micro USB al computador.
- Aparecera una unidad de almacenamiento en nuestro computador (como si fuera una memoria USB).
- Copiamos el firmware de la Raspberry Pi Pico que descargamos en esa unidad de almacenamiento.
- Una vez finalizado la copia del archivo, la unidad de almacenamiento desaparecerá automaticamente y así nuestra Pico está lista para comenzar a recibir instrucciones con MicroPython.
ESP8266
A continuación se muestra el procedimiento simplificado para la instalación del Firmware en la placa NodeMCU ESP8266 el cual puede ser replicado a cualquier otra placa ESP. Para más información puedes consultar el sitio oficial de Micropython.
1. Vamos a instalar Python desde su sitio oficial, y al momento de la instalación agregamos la opción Add Python 3.X to Path.
2. Instalar esptool.py para copiar en todo el firmware en la placa. Puede encontrar esta herramienta aquí: https://github.com/espressif/esptool/ , o instalarla usando pip en la consola de comandos. Para windos basta con abrir el CMD:
pip install esptool
Para instalar este paquete con conda (Anaconda), ejecute uno de los siguientes comandos:
conda install -c conda-forge esptool conda install -c conda-forge/label/cf202003 esptool
3. Con la herramienta esptool.py procedemos inicialmente a borrar la memoria flash de la tarjeta con el comando, donde inicialmente debemos averiguar cual fue el puerto COM asignado en el computador a la placa (lo miras en el administrador de dispositivo):
esptool.py --port COM13 erase_flash
4. Desde el terminal (CMD) nos ubicamos en el directorio donde descargamos el firmware, usando el comando cd [ruta] y luego cargamos el firmware descargado de la placa, para eso al final de este comando debemos colocar el nombre del firmware, ej: esp8266-20210202-v1.14.bin
esptool.py --port COM13 --baud 115200 write_flash --flash_size=detect 0 [Colocar_Version_Firmware_aqui]
Si aparecen errores, se recomienda bajar la velocidad en baudios en el parametro baud, por defecto esta en 115220.
IDE de Programación
Para programar en Micropython, podemos usar directamente la consola, sin embargo, vamos a utilizar un IDE, pues se nos va a facilitar enormemente nuestra vida.
Existen diferentes IDEs, y tu puedes seleccionar el que más te guste, al fin y al cabo, estamos usando el mismo lenguaje. Algunos IDEs disponibles son:
- Thonny
- Mu
- uPyCraft IDE
- Visual Studio Code (VSCode), utilizando la extensión PyMakr
Interfaz Thonny
Si instalamos Thonny el cual es la interfaz recomendada por la documentación de la Raspberry Pi Pico, veremos una interfaz como la siguiente:
En la parte del EDITOR podemos escribir todo nuestro código (SCRIPT) en MicroPython y ejecutarlo con el botón de RUN.
Pero una forma más inmediata de interactuar con las tarjetas es a través de lo que se llama el bucle Read-Evaluated-Print-Loop, o REPL (a menudo se pronuncia de manera similar a «ripple») en la sección del SHELL.
- Read: MicroPython espera a que escriba un comando, y luego se presione la tecla Intro.
- Evaluate: Todo lo que escribió se interpreta como código Python y se ejecuta de inmediato.
- Print: Todos los resultados de la última línea que escribió se imprimen para que los lea.
- Loop: Vuelve al inicio: te solicita otra línea de código.
Hay dos formas de conectarse a este REPL, para que pueda comunicarse con el firmware MicroPython en su placa: a través de USB y a través del puerto serie UART en Raspberry Pi Pico GPIO.
Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:
👉 Invitar a Sergio a un Café ☕️
Que esten muy bien, nos vemos en la siguiente entrada.
Mi nombre es Sergio Andres Castaño Giraldo, y en este sitio web voy a compartir una de las cosas que mas me gusta en la vida y es sobre la Ingeniería de Control y Automatización. El sitio web estará en constante crecimiento, voy a ir publicando material sobre el asunto desde temas básicos hasta temas un poco más complejos. Suscríbete al sitio web, dale me gusta a la página en Facebook y únete al canal de youtube. Espero de corazón que la información que comparto en este sitio, te pueda ser de utilidad. Y nuevamente te doy las gracias y la bienvenida a control automático educación.