MicroPython es una implementación de Python 3 para microcontroladores. Es un firmware increíble que combina las potentes funciones del lenguaje de programación Python con el acceso de bajo nivel de los microcontroladores. La siguiente es una lista de microcontroladores compatibles con el marco MicroPython.
Arch Mix, Actinius icarus, Arduino Nano RP2040 Connect, Arduino Primo, B_L072Z_LRWAN1, B_L475E_IOT01A, blueio_tag_evim, C3 mini, CERB40, Discovery F4, Discovery F411, Discovery F429, Discovery F7, Discovery F769, Discovery Kit H7, Discovery L476, Discovery L496G, DVK_BL652, E407, ESP32, ESP32-C3, ESP32-C3 USB, ESP32 D2WD, ESP32 OTA, ESP32 SPIRAM, ESP32-S2, ESP32-S2 WROVER, ESP32-S3, ESP8266, EVK_NINA_B1, EVK_NINA_NINA_B3, Feather M0 Express, Feather nRF52840 Express , Pluma RP2040, Pluma S2, Pluma S2 Neo, Pluma S3, GARATRONIC_NADHAT_F405, GARATRONIC_PYBSTICK26_F411, H407, H743VI, HYDRABUS, ibk_blyst_nano, idk_blyst_nano, ItsyBitsy M4 Express, ItsBitsy RP 2040, Lego Hub No. 6, LI LYGO TTGO Lora32, LIMIFROG, pila M5 Atom, micro:bit v1, MicroE Clicker 2 STM32, Micromod STM32, MikroE Quail, MIMXRT1010_EVK, MIMXRT1015_EVK, MIMXRT1020_EVK, MIMXRT1050_EVK, MIMXRT1060_EVK, MIMXRT1064_EVK, Mini M 4, NETDUINO PLUS 2, , Núcleo F401RE, Núcleo F411RE, Núcleo F412ZG, Núcleo F413ZH, Core F429ZI, Core F439ZI, Core F446RE, Core F722ZE, Core F746ZG, Core F767ZI, Core G744RE, Core H743ZI, Core H743ZI2, Core L07 3RZ, cleo L432KC, Core L452RE, Core L476RG, Core WG55, Core WL55, USB nrf52840 mdk, pca10000, pca10001, pca10028, pca10031, pca10040, pca10056, pca10059, pca10090, Pico LiPo, Pro Micro RP2040, Pro S3, Pyboard D series SF2, Pyboard D series SF 3, Pyboard D-series SF6, yboard Lite v 1 .0, Pyboard v1.0, Pyboard v1.1, PYBSTICK26 RP2040, QT Py RP2040, Raspberry Pi Pico, Seeduino XIAO, SAMD21 TinyPICO, Tiny S2, Tiny S3, Thing Plus RP2040, Trinket M0, USBDONGLE_WB55, Xennon, Wio Terminal D51R , WiPy, wt51822_s4at
Bueno, la lista anterior parece muy larga. Esta lista sólo se ampliará en el futuro. Sin lugar a dudas, MicroPython ya es compatible con los principales microcontroladores y plataformas integradas.
Además de admitir una amplia variedad de plataformas de hardware, MicroPython facilita un gran conjunto de bibliotecas estándar de Python en el lado del software. Estas bibliotecas incluyen array, binascii, buildins, cmath, collections, errno, gc, hashlib, heapq, io, json, math, os, random, re, select, socket, ssl, struct, sys, time, uasyncio, zlib y _fio. También facilita varias bibliotecas específicas de hardware, como Bluetooth, btree, cryptolib, framebuf, machine, micropython, neopixel, network y uctypes. También proporciona muchas bibliotecas específicas de microcontroladores llamadas bibliotecas específicas de puerto. Muchas bibliotecas están disponibles como módulos que son bibliotecas originales reescritas para necesidades especiales. Incluso los ingenieros integrados son libres de reescribir o modificar cualquier biblioteca de MicroPython.
MicroPython es una excelente herramienta para diseñar e implementar sus sistemas integrados con el poder del lenguaje Python. En este tutorial, analizaremos la configuración del entorno de desarrollo MicroPython utilizando uPyCraft IDE. Comencemos a explorar el firmware MicroPython con las populares placas de microcontroladores: ESP8266 y ESP32.
Configurar el entorno de desarrollo MicroPython
Para comenzar a programar microcontroladores con MicroPython, todo lo que necesita es una placa de microcontrolador de su elección y una computadora. Dependiendo de su pasatiempo o necesidad, puede seleccionar componentes electrónicos como sensores y pantallas. Elegimos placas ESP866 y ESP32 para trabajar con el marco MicroPython. El primer paso para comenzar su viaje con MicroPython será configurar un entorno de desarrollo en un sistema informático. Esto implica esencialmente cuatro pasos:
- Instalación de Python: MicroPython es un subconjunto de Python 3. Por lo tanto, debe instalar la última versión de Python3.x en su sistema informático.
- Instalación de uPyCraft IDE: Se pueden utilizar varios IDE para escribir scripts de MicroPython. El IDE de uPyCraft es el más sencillo. Le permite comenzar a programar MicroPython en cuestión de minutos.
- Carga del firmware MicroPython en el microcontrolador seleccionado: los scripts de MicroPython no funcionarán en un microcontrolador hasta que el firmware MicroPython esté dentro de él. Entonces, antes de comenzar a escribir scripts Python reales para controlar el hardware integrado, debe cargar el firmware en el microcontrolador de su elección. Este tutorial le mostrará cómo se carga el firmware MicroPython en ESP8266 y ESP32.
- Ensúciese las manos con fantásticos scripts de Python: una vez que el firmware esté cargado en el ESP8266/ESP32 u otros microcontroladores compatibles, podrá escribir, cargar y ejecutar programas integrados en scripts de Python en el microcontrolador seleccionado.
Revisaremos todos estos pasos en este tutorial y finalmente probaremos un programa de parpadeo de LED en el ESP8266.
Instalación de Python en Windows
Para instalar Python en Windows, navegue hasta la página de descarga de Python y descargue el archivo de instalación. Haga doble clic en el archivo de instalación para iniciar la instalación de Python. Recuerde marcar la opción "Agregar Python 3.x a PATH" antes de continuar con la configuración. En unos segundos, se completará la configuración y aparecerá una ventana que muestra el mensaje "La configuración se realizó correctamente". Cierre la ventana. Tienes Python instalado en tu computadora con Windows.
Instalación de uPyCraft IDE en Windows
uPyCraft es el entorno de programación más sencillo para acceder directamente a la programación MicroPython para dispositivos integrados. El proyecto se puede encontrar en el enlace DFRobot Github. La configuración para Windows se puede descargar desde este enlace. Descargue el archivo de configuración y haga doble clic. Aparecerá una ventana pidiéndole que instale la fuente SourceCodePro. Haga clic en Aceptar y continúe.
El IDE no requiere instalación. Cuando hace clic en Aceptar, el IDE se abrirá en unos segundos como se muestra a continuación.
Instalación de Python en Linux
Para instalar Python 3.x y el administrador de paquetes pip python en Linux, escriba los siguientes comandos en la ventana de la terminal y presione Entrar.
$ sudo apto instalar python3 python3-pip
Si Python se instaló correctamente, se puede verificar su versión ejecutando el siguiente comando.
Python –versión
o
pitón -V
Instalación de uPycraft en Linux
UPyCraft IDE no tiene soporte sólido para sistemas Linux. Para la programación de MicroPython en Linux Ubuntu, prefiero Thonny IDE a uPyCraft IDE. La página de descarga oficial de uPyCraft también eliminó el enlace de configuración de la distribución de Linux.
Sin embargo, uPyCraft se puede instalar en una distribución de Linux desde su código fuente. Descargue el código fuente ZIP desde este enlace de Github y siga las instrucciones para instalar uPyCraft en Linux que se encuentran en el mismo enlace.
Instalación de Python en Mac OS X
Para instalar Python 3.x en Mac OS X, escriba los siguientes comandos en la ventana de la terminal y presione Entrar.
$ cerveza instalar python3
Instalación de uPycraft en Mac OS X
Desafortunadamente, uPyCraft nuevamente no es el mejor IDE para la programación de MicroPython en Mac OS X. Falta el enlace de configuración de Mac en la página de descarga de uPyCraft. Asimismo, es posible que prefieras Thonny IDE para computadoras Mac.
Sin embargo, uPyCraft se puede instalar en Mac usando el código fuente. Descargue el código fuente ZIP desde este enlace de Github y siga las instrucciones para instalar uPyCraft en Mac que se encuentran en el mismo enlace. Tenga en cuenta que uPyCraft se comporta de manera extraña en sistemas Mac.
Cargando firmware MicroPython para ESP8266
Una vez que uPyCraft o Thonny IDE esté instalado en su sistema informático, deberá cargar el firmware MicroPython en su microcontrolador. Si está trabajando con ESP8266, es muy sencillo cargar el firmware a la placa ESP usando uPyCraft IDE. El firmware MicroPython para varios microcontroladores y plataformas de hardware está disponible en este enlace. Para ESP8266, el firmware MicroPython se puede descargar desde este enlace.
Ahora conecte el ESP8266 a la computadora mediante un cable USB. Navegue a Herramientas->Serial y seleccione el puerto COM al que está conectado el ESP8266. Este es COM5 en nuestro caso.
Si el puerto COM no se muestra en el IDE de uPyCraft, el ESP8266 no está instalado con el controlador CH340 o el cable USB no tiene cables de datos. Los cables que vienen con los powerbanks o cargadores no suelen tener cables de datos. Por lo tanto, necesitará un cable USB adecuado con cables de datos. Los controladores se pueden descargar desde el sitio web de Silicon Labs.
Luego navegue hasta Herramientas->Tablero y seleccione ESP8266.
Para cargar el firmware de MicroPython, navegue hasta Herramientas -> BurnFirmware.
Se abrirá una ventana. Seleccione las siguientes opciones en esta ventana.
tablero: ESP8266
burn_addr: 0x0
borrar_flash: sí
es: comX
Elección de firmware: seleccione el archivo de firmware descargado (archivo .bin)
Ahora mantenga presionado el botón Flash/Arranque en la placa ESP8266 y haga clic en Aceptar.
Puede soltar el botón Arrancar/Flash después de hacer clic en Aceptar.
Luego borrará la memoria flash del ESP8266 y cargará el firmware MicroPython.
Si ve un error en la imagen a continuación, ESP8266 no está en modo de inicio. No presionaste el botón de inicio/flash correctamente. Repita el proceso anterior desde seleccionar un puerto hasta grabar el firmware y recuerde presionar el botón de inicio/flash correctamente antes de hacer clic en Aceptar en la ventana de grabación de firmware.
Explorando el IDE de uPycraft
uPyCraft IDE es simple, eficiente y fácil de usar. La interfaz IDE se divide principalmente en cinco secciones.
- Barra de menú: esta barra contiene el menú principal del IDE, que incluye las pestañas Archivos, Editar, Herramientas y Ayuda.
- Carpetas y archivos: Hay un explorador de archivos en el lado izquierdo. Esto muestra el archivo actualmente cargado en la memoria flash del ESP8266/ESP32, los archivos almacenados en una tarjeta SD, los archivos de la biblioteca incorporada y los archivos almacenados en el escritorio. Si el ESP8266/ESP32 está conectado al IDE (haciendo clic en el botón de conexión en Herramientas), la carpeta del dispositivo muestra los archivos cargados en la memoria flash del ESP8266/ESP32. Si el firmware se carga correctamente en ESP8266/ESP32, esta carpeta contiene esencialmente un archivo boot.py. Cualquier script de Python que se vaya a ejecutar se puede guardar con cualquier nombre, como LEDblink.py o sendEmail.py, etc. Si el script a ejecutar ya se ha cargado en el ESP8266/ESP32, se mostrará en la carpeta del dispositivo. Este script siempre se ejecuta después de boot.py.
La carpeta SD muestra los archivos almacenados en la tarjeta SD del microcontrolador. Esta carpeta solo funciona con placas con ranura para tarjetas SD como PyBoard. Los archivos de la biblioteca IDE integrada se muestran en la carpeta uPy_lib. El directorio del espacio de trabajo muestra los archivos almacenados en la carpeta del espacio de trabajo en su computadora. Para actualizar este directorio con el IDE, navegue hasta Archivo->Reflush Directory.
Posteriormente, este directorio se puede cambiar navegando a Herramientas->InitConfig.
- Editor: este es el espacio donde escribe scripts de Python para controlar el hardware integrado.
- MicroPython Shell/Terminal: Esta es una consola de depuración en uPyCraft IDE. Puede ingresar aquí los comandos que desea ejecutar inmediatamente en el ESP8266/ESP32. También muestra errores, mensajes seriales y estado de ejecución del programa.
- Herramientas: hay una serie de íconos rápidos para varias herramientas en el lado derecho.
Estas herramientas se describen a continuación:
Nuevo : Para crear un nuevo archivo en el editor.
Abrir archivo : para abrir un archivo desde la carpeta del espacio de trabajo.
Guardar archivo : para guardar los cambios en un archivo abierto actualmente.
Descargar y ejecutar : para cargar el script principal de Python en ESP8266/ESP32 y comenzar a ejecutar el programa en la placa.
Detener : para detener la ejecución del programa en ESP8266/ESP32.
Conectar/Desconectar : Para conectar o desconectar la placa ESP8266/ESP32 mediante comunicación serie (cable USB). Antes de conectarse, debe seleccionar la placa y el puerto serie en el menú Herramientas.
Deshacer : deshace el último cambio en el editor de código.
Rehacer : rehace el último cambio en el editor de código.
Verificación de sintaxis : para realizar una verificación de sintaxis en la pestaña de secuencia de comandos actualmente abierta.
Borrar : para borrar los mensajes de Shell/Terminal.
Escribir y cargar scripts de Python para placas ESP
En primer lugar, seleccione la placa y el puerto serie en el menú Herramientas. Luego conéctese haciendo clic en el botón de conexión en los íconos de Herramientas. Ahora puede escribir su secuencia de comandos Python para la aplicación integrada que desee. El firmware ya debe estar cargado en el ESP8266/ESP32. Después de escribir el script y verificar si hay errores, haga clic en el botón Descargar y ejecutar en los íconos de Herramientas para cargar el script de ejecución principal en ESP8266/ESP32. Puede detener la ejecución del script haciendo clic en el botón Detener en los iconos de Herramientas. La ventana Shell/Terminal muestra cualquier mensaje en serie comunicado durante la ejecución del código en ESP8266/ESP32 en la ventana Shell/Terminal.
LED parpadeando en ESP8266 usando MicroPython
Después de cargar el firmware MicroPython, escriba el siguiente código en el editor de código.
Pin de importación de máquina
del tiempo importa dormir
led = Pin (2, Pin.OUT)
mientras que Verdadero:
valor.led(no valor.led)
dormir (0,5)
Tenga en cuenta que el texto anterior es un script de Python y los cuerpos del bucle tienen una sangría perfecta. Verifique si hay errores de sintaxis y haga clic en el botón "Descargar y ejecutar". El script se cargará en el ESP8266/ESP32 y el LED incorporado comenzará a parpadear.
(Enlace al vídeo de demostración de ESP03-DV)