Comenzando con MicroPython en ESP32 y ESP8266

¿Alguna vez has querido programar un microcontrolador de forma sencilla y eficiente? En este artículo te enseñaremos cómo comenzar a utilizar MicroPython en los populares chips ESP32 y ESP8266. Descubre cómo aprovechar todas las ventajas de este lenguaje de programación y saca el máximo provecho a tus proyectos de hardware. ¡No te lo pierdas!

Aprenda cómo comenzar con el firmware MicroPython en ESP32 y ESP8266. Le presentaremos MicroPython, le mostraremos las diferencias entre MicroPython y Python normal y cómo programar sus placas basadas en ESP con MicroPython usando uPyCraft IDE. Después de completar esta guía, su primer LED parpadeará con MicroPython.

Comenzando con MicroPython en ESP32 y ESP8266

¿Qué es MicroPython?

MicroPython es una nueva implementación de Python 3 dirigida a microcontroladores y sistemas integrados. MicroPython es muy similar a Python normal. Entonces, si ya sabes programar en Python, también sabes cómo programar en MicroPython.

Comenzando con MicroPython en ESP32 y ESP8266

Python frente a MicroPython

Con algunas excepciones, las funciones del lenguaje Python también están disponibles en MicroPython. La mayor diferencia entre Python y MicroPython es que MicroPython está diseñado para usarse en condiciones limitadas.

Comenzando con MicroPython en ESP32 y ESP8266

Es por eso que MicroPython no tiene la biblioteca estándar completa. Sólo contiene un pequeño subconjunto de la biblioteca estándar de Python. Sin embargo, incluye módulos para acceder a hardware de bajo nivel, es decir, hay bibliotecas para acceder e interactuar fácilmente con los GPIO.

Además, los dispositivos con capacidad Wi-Fi como ESP8266 y ESP32 tienen módulos para admitir conexiones de red.

¿Por qué MicroPython?

Python es uno de los lenguajes de programación más utilizados, sencillos y fáciles de aprender. Por lo tanto, la introducción de MicroPython hace que sea extremadamente fácil programar la electrónica digital. Si nunca antes ha programado dispositivos electrónicos digitales, MicroPython es un buen lugar para comenzar.

El objetivo de MicroPython es hacer que la programación de dispositivos electrónicos digitales sea lo más fácil posible para que cualquiera pueda utilizarla. Actualmente, MicroPython es utilizado por aficionados, investigadores, profesores, educadores e incluso en productos comerciales. El código para hacer parpadear un LED en un ESP32 o ESP8266 es tan simple como este:

# Complete project details at https://RandomNerdTutorials.com

from machine import Pin
from time import sleep

led = Pin(2, Pin.OUT)

while True:
  led.value(not led.value())
  sleep(0.5)

Ver código sin formato

Una gran característica de MicroPython es que viene con un REPL (bucle de lectura, evaluación e impresión) interactivo. El REPL le permite conectarse a una placa y ejecutar código rápidamente sin tener que compilar o cargar código.

MicroPython – Soporte de placa

MicroPython se ejecuta en muchos dispositivos y placas diferentes, como por ejemplo:

Comenzando con MicroPython en ESP32 y ESP8266

  • ESP32
  • ESP8266
  • PyBoard
  • Micro:bit
  • Adolescente 3.X
  • WiPy-Pycom
  • Circuito Adafruit Playground Express
  • Otras placas basadas en ESP32/ESP8266

Para obtener más información sobre otras placas que admiten MicroPython, consulte los siguientes enlaces:

En nuestros proyectos utilizamos MicroPython con las placas ESP32 y ESP8266.

ESP32 es el sucesor del ESP8266. Por lo tanto, no todas las funciones están disponibles actualmente en MicroPython para aprovechar al máximo ESP32; todavía es un proyecto en curso. Sin embargo, es muy fácil de usar y puedes realizar muchos proyectos con él.

Las placas ESP32 y ESP8266 son similares y apenas notarás diferencia al programar con MicroPython. Esto significa que todo lo que escriba para el ESP8266 también debería ejecutarse en el ESP32 con cambios mínimos o nulos (principalmente cambiando la asignación de pines).


Instalar el IDE de uPyCraft

Antes de continuar con este tutorial, debes instalar uPyCraft IDE en tu computadora. Siga uno de los siguientes tutoriales para instalar uPyCraft IDE:

  • Instalar uPyCraft IDE – PC con Windows
  • Instalar uPyCraft IDE – Mac OS
  • Instalar uPyCraft IDE – Linux Ubuntu

Nota: Si tiene problemas para instalar o utilizar uPyCraft IDE, también hemos creado una guía alternativa para programar el ESP32/ESP8266 con Thonny IDE.

Actualización del firmware MicroPython a ESP32/ESP8266

A diferencia de otras placas, MicroPython no está actualizado a ESP32 o ESP8266 de forma predeterminada. Esto es lo primero que debe hacer para comenzar a programar sus placas con MicroPython: actualizar/cargar el firmware. Siga el siguiente tutorial para actualizar el firmware MicroPython en su placa:

  • Flashear/cargar firmware MicroPython a ESP32 y ESP8266

Comenzando con MicroPython en ESP32 y ESP8266


Comenzando con uPyCraft IDE

En esta sección, le daremos una descripción general del software uPyCraft IDE para que pueda comenzar a programar el ESP32/ESP8266 con MicroPython.

El IDE es un software que contiene herramientas que simplifican el proceso de desarrollo, depuración y carga de código. Hay muchas formas de programar su placa ESP usando MicroPython. Elegimos el IDE de uPyCraft porque es fácil e intuitivo de usar y funciona muy bien con las placas ESP.

En este punto asumiremos que tienes:

  • uPyCraft IDE instalado en su computadora
  • ESP32/ESP8266 actualizado con firmware MicroPython

Descripción general del IDE de uPyCraft

Abra uPyCraft IDE, se abrirá una nueva ventana como esta:

Comenzando con MicroPython en ESP32 y ESP8266

Echemos un vistazo más de cerca a cada sección del IDE de uPyCraft:

Comenzando con MicroPython en ESP32 y ESP8266

  1. Carpetas y archivos
  2. editor
  3. Carcasa/terminal MicroPython
  4. Herramientas

1. Carpetas y archivos

Varias carpetas y archivos aparecerán en esta sección. Dispositivo La carpeta muestra los archivos almacenados actualmente en su placa ESP. Si ha conectado su ESP32 o ESP8266 a uPyCraft IDE a través de una conexión en serie, si tiene el Dispositivo Todos los archivos guardados deben cargarse en la carpeta. Por defecto solo deberías tener uno arranque.py Archivo. Para ejecutar su código principal se recomienda tener un principal.py Archivo.

  • arranque.py: se ejecuta cuando el dispositivo arranca y configura varias opciones de configuración;
  • principal.py: Este es el script principal que contiene su código. Será inmediatamente después arranque.py.

El Dakota del Sur La carpeta está destinada a acceder a archivos almacenados en tarjetas SD. Esto sólo funciona con placas como la PyBoard que vienen con una ranura para tarjeta SD.

El uPy_lib muestra los archivos de la biblioteca IDE incorporada.

Finalmente, esto Lugar de trabajo es un directorio para almacenar sus archivos. Estos archivos se guardan en su computadora en un directorio que usted especifique. Esto es especialmente útil para mantener todos sus archivos organizados y al alcance de la mano.

Si es la primera vez que usas uPycraft, haz clic en el Lugar de trabajo Carpeta. Se abrirá una nueva ventana en la que podrás introducir tu Lugar de trabajo Camino. Cree una nueva carpeta o seleccione una carpeta existente como su directorio de trabajo.

Entonces ve a eso archivo > Vaciar el directorio nuevamente para actualizar el directorio.

Comenzando con MicroPython en ESP32 y ESP8266

Nota: Para cambiar su directorio de usuarios, simplemente vaya a Herramientas >Configuración inicial y haz clic en eso Lugar de trabajo Carpeta del directorio para seleccionar una ruta diferente.

Comenzando con MicroPython en ESP32 y ESP8266

2. Redactor

El área del editor es donde escribes tu código y editas tu .py archivos. Puede abrir más de un archivo y el editor abrirá una nueva pestaña para cada archivo.

3. Shell/Terminal de MicroPython

El shell MicroPython le permite ingresar comandos que su placa ESP ejecuta inmediatamente sin la necesidad de cargar nuevos archivos. El terminal también proporciona información sobre el estado de un programa en ejecución, muestra errores relacionados con la carga, errores de sintaxis, imprime mensajes, etc.

4. Herramientas

Puede utilizar los iconos del extremo derecho para completar tareas rápidamente. Cada botón está etiquetado en la siguiente imagen:

Comenzando con MicroPython en ESP32 y ESP8266

  • archivo nuevo: crea un nuevo archivo en el editor;
  • abrir documento: abre un archivo desde tu computadora;
  • guardar el archivo: guarda un archivo;
  • Descargar y ejecutar: sube el código a tu tablero y ejecuta el código;
  • Para detener: Deja de ejecutar el código. Esto equivale a escribir CTRL+C en el shell para detener la ejecución de todos los scripts.
  • Conectar/Desconectar: Conecte o desconecte su placa a través del puerto serie. Primero debe seleccionar el puerto serie en Herramientas > De serie;
  • Deshacer: deshacer el último cambio en el editor de código;
  • Repetir: Rehacer el último cambio en el editor de código;
  • verificación de sintaxis: comprueba la sintaxis de tu código;
  • Claro: borre los mensajes de la ventana del shell/terminal.

Ejecutando tu primer script

Para familiarizarlo con el proceso de escribir un archivo y ejecutar código en sus placas ESP32/ESP8266, estamos cargando un nuevo script que simplemente hace parpadear el LED integrado de su ESP32 o ESP8266.

Establecer comunicación con la junta.

Después de instalar el firmware MicroPython en su placa y conectar la placa a su computadora mediante un cable USB, siga los siguientes pasos:

1. Ir a Herramientas > tablón y selecciona la placa que estás utilizando.

2. Ir a Herramientas > Puerto y seleccione el puerto COM al que está conectado su ESP.

3. presione el Conectar Botón para establecer comunicación serial con tu placa.

Comenzando con MicroPython en ESP32 y ESP8266

4. El >>> debería aparecer en la ventana del shell después de una conexión exitosa a su placa. Puede ingresar el comando de impresión para probar si funciona:

>>> print('Hello')
Hello
>>>

Debería aparecer el mensaje «Hola». Sólo si ves este mensaje podrás continuar con este tutorial. De lo contrario, asegúrese de haber establecido comunicación en serie con su placa o de haber actualizado correctamente el firmware MicroPython en su placa.

Comenzando con MicroPython en ESP32 y ESP8266

Creando el principal.py archivo en tu tablero

1. Presione el botón «archivo nuevo”para crear un nuevo archivo.

Comenzando con MicroPython en ESP32 y ESP8266

2. Presione el botón «guardar el archivo“ para guardar el archivo en su computadora.Comenzando con MicroPython en ESP32 y ESP8266

3. Se abrirá una nueva ventana, asigne un nombre a su archivo. principal.py y guárdalo en tu computadora:

Comenzando con MicroPython en ESP32 y ESP8266

4. Después de eso, deberías ver lo siguiente en tu IDE de uPyCraft (el arranque.py Archivo en su dispositivo y una nueva pestaña con el principal.py Archivo):

Comenzando con MicroPython en ESP32 y ESP8266

5. Haz clic en eso “Descargar y ejecutar”para cargar el archivo en su placa ESP:

Comenzando con MicroPython en ESP32 y ESP8266

6. El directorio del dispositivo ahora debería estar principal.py Archivo. Tu ESP tiene el archivo principal.py almacenado.

Comenzando con MicroPython en ESP32 y ESP8266

Cargando el script LED parpadeante

1. Copie el siguiente código en el Bloc de notas en la principal.py Archivo:

# Complete project details at https://RandomNerdTutorials.com

from machine import Pin
from time import sleep

led = Pin(2, Pin.OUT)

while True:
  led.value(not led.value())
  sleep(0.5)

Ver código sin formato

2. Presione el «Para detener”Para detener la ejecución de scripts en su tablero:

Comenzando con MicroPython en ESP32 y ESP8266

3. Presione el «Botón Descargar y Ejecutar“para cargar el script en ESP32 o ESP8266:

Comenzando con MicroPython en ESP32 y ESP8266

4. Deberías ver el mensaje «Descarga exitosa» en la ventana del shell.

Comenzando con MicroPython en ESP32 y ESP8266

Probando el guión

Para ejecutar el script que acaba de cargar en su tablero, debe seguir estos pasos:

1. Presione el botón «Para detener» botón

Comenzando con MicroPython en ESP32 y ESP8266

2. Presione el ESP32/ESP8266 integrado ES (ACTIVAR) o primero (RESET) para reiniciar su tablero y ejecutar el script desde el principio:

Comenzando con MicroPython en ESP32 y ESP8266

Si está utilizando un ESP32, los mensajes de su terminal deberían parecerse a la siguiente imagen después de presionar el botón EN/RST:

Comenzando con MicroPython en ESP32 y ESP8266

El LED integrado en su ESP32 o ESP8266 debe parpadear cada 500 milisegundos. Aquí puede ver dónde se encuentra el LED integrado ESP32:

Comenzando con MicroPython en ESP32 y ESP8266

Aquí está el LED integrado del ESP8266:

Comenzando con MicroPython en ESP32 y ESP8266

Consejos para solucionar problemas

Hemos descubierto algunos problemas y mensajes de error comunes que ocurren con uPyCraft IDE. Por lo general, reiniciar su ESP usando el botón EN/RST incorporado solucionará su problema. O presione el IDE de uPyCraft “Para detener”Y repita la acción deseada. Si no le funciona, lea los siguientes errores comunes y aprenda cómo solucionarlos.

Error #1: Recibirá el siguiente mensaje:

>>>
Select Serial Port could not open port 'COM4': FileNotFoundError(2, 'The system cannot find the file specified.', None, 2)

O un mensaje correspondiente:

>>>
could not open port 'COM4': PermissionError(13, 'A device attached to the system is not functioning.', None, 31)

Saque el conector de la placa ESP y vuelva a enchufarlo. Luego verifique nuevamente que tenga el puerto serie correcto en el Herramientas > De serie Menú. Luego haga clic en “Conectar/Desconectar”para establecer comunicación en serie. Ahora debería poder cargar un nuevo script o volver a ejecutar un código nuevo.

Este error también podría significar que su puerto serie se está utilizando en otro programa (por ejemplo, un terminal serie o el IDE de Arduino). Verifique que haya cerrado todos los programas que puedan estar estableciendo comunicación en serie con su placa ESP. Luego desconecte su placa ESP y vuelva a enchufarla. Finalmente, reinicie el IDE de uPyCraft; intente abrir el puerto serie en el Herramientas > De serie Menú.

Error #2: Problemas al cargar un nuevo script.

>>> 
already in download model,please wait.

Presione el «Para detener”En uPyCraft IDE (1 o 2 veces) para garantizar que se detenga el código en ejecución. Luego presione el botón «Descargar y ejecutar“Botón para cargar el nuevo script en su placa ESP.

Error #3: Si ve el siguiente mensaje después de cargar un nuevo script:

>>>
Ready to download this file,please wait!
... 
download ok
os.listdir('.')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'os' isn't defined

O este mensaje:

>>>
Ready to download this file,please wait!
... 
download ok
os.listdir('.')
OSError: [Errno 98]

Esto significa que el nuevo archivo se ha cargado correctamente en su tablero. Puede notar que el archivo tiene el mensaje «descargar bien«-Informe. Presione el botón ESP a bordo «ES/PRIMERO» para reiniciar su tablero y volver a ejecutar el script recién cargado desde el principio.

Error #4: Problema al reiniciar su placa ESP, ejecutar un nuevo script o abrir el puerto serie:

>>>
Brownout detector was triggered

El mensaje de error «Se ha activado el detector de caídas de tensión» significa que hay un problema de hardware. Esto suele estar relacionado con uno de los siguientes problemas:

  • Cable USB de mala calidad;
  • El cable USB es demasiado largo;
  • Placa de circuito con algunos defectos (uniones de soldadura defectuosas);
  • Puerto USB de la computadora defectuoso;
  • O el puerto USB de la computadora no proporciona suficiente energía.

Solución: Pruebe con un cable USB diferente y más corto (con cables de datos), un puerto USB diferente en la computadora o use un concentrador USB con alimentación externa.

Importante: Si continúa teniendo problemas constantes o mensajes de error extraños, le recomendamos que vuelva a actualizar su placa ESP con la última versión del firmware MicroPython: Actualización/carga de firmware MicroPython a ESP32 y ESP8266.

Error #5: Cuando intento abrir una comunicación en serie con ESP32/ESP8266 en uPyCraft IDE, a veces aparece la ventana Grabar firmware pidiéndome que vuelva a actualizar el firmware de MicroPython.

Básicamente, creemos que lo que sucede es que cuando ejecuta un script en su placa, a veces está ocupado ejecutando el script y ejecutando las tareas. Por lo tanto, debe intentar abrir el puerto COM o reiniciar el ESP varias veces para que esté disponible y establecer comunicación en serie con uPyCraft IDE.

Si está ejecutando un script que usa WiFi o suspensión profunda, o realiza múltiples tareas, le recomiendo intentar establecer comunicación tres o cuatro veces. Si esto no es posible, recomiendo actualizar el ESP con firmware MicroPython.

Envolver

Esperamos que haya disfrutado aprendiendo a programar las placas ESP32 y ESP8266 utilizando el firmware MicroPython. Si desea obtener más información sobre MicroPython, consulte nuestro libro electrónico: Programación de MicroPython con ESP32 y ESP8266.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded





Comenzando con MicroPython en ESP32 y ESP8266

¿Qué es MicroPython?

MicroPython es una re-implementación de Python 3 dirigida a microcontroladores y sistemas integrados. Es muy similar a Python estándar, por lo que si ya sabes programar en Python, también sabes programar en MicroPython.

Python vs MicroPython

Aparte de algunas excepciones, las características del lenguaje de Python también están disponibles en MicroPython. La mayor diferencia entre Python y MicroPython es que MicroPython fue diseñado para funcionar en condiciones limitadas.

Debido a esto, MicroPython no incluye la biblioteca estándar completa de Python. Solo incluye un pequeño subconjunto de la biblioteca estándar. Sin embargo, incluye módulos para acceder al hardware de nivel bajo, lo que significa que hay bibliotecas para acceder e interactuar fácilmente con los GPIO.

¿Por qué MicroPython?

Python es uno de los lenguajes de programación más ampliamente utilizados, simples y fáciles de aprender. Por lo tanto, la aparición de MicroPython hace que sea extremadamente fácil y sencillo programar electrónica digital. Si nunca has programado electrónica digital antes, MicroPython es un buen punto de partida.

Soporte de Placas con MicroPython

MicroPython se ejecuta en muchos dispositivos y placas diferentes, como:

  1. ESP32
  2. ESP8266
  3. PyBoard
  4. Micro:Bit
  5. Teensy 3.X

Para obtener más información sobre otras placas que admiten MicroPython, echa un vistazo a los siguientes enlaces:

Placas que ejecutan MicroPython – Foro MicroPython

Resumen de placas – Github de MicroPython

Instalando uPyCraft IDE

Antes de continuar con este tutorial, debes instalar uPyCraft IDE en tu computadora. Sigue uno de los siguientes tutoriales para instalar uPyCraft IDE:

Instalar uPyCraft IDE – PC Windows

Instalar uPyCraft IDE – Mac OS X

Instalar uPyCraft IDE – Linux Ubuntu

Flasheando el Firmware de MicroPython en ESP32/ESP8266

A diferencia de otras placas, MicroPython no se flashea en el ESP32 o ESP8266 de forma predeterminada. Eso es lo primero que debes hacer para empezar a programar tus placas con MicroPython: flashear/subir el firmware. Sigue el siguiente tutorial para flashear el firmware de MicroPython en tu placa:

Flashear/Subir Firmware de MicroPython a ESP32 y ESP8266 – Tutorial

Comenzando con uPyCraft IDE

En esta sección te daremos una descripción general del software uPyCraft IDE, para que puedas comenzar a programar el ESP32/ESP8266 con MicroPython.

Visión general de uPyCraft IDE

Abre uPyCraft IDE, se abrirá una nueva ventana con varias secciones:

  1. Carpeta y archivos
  2. Editor
  3. MicroPython Shell/Terminal
  4. Herramientas

Para obtener más detalles sobre cada sección y comenzar a programar tus placas ESP32 y ESP8266, sigue el tutorial completo en RandomNerdTutorials.com.


1 comentario en «Comenzando con MicroPython en ESP32 y ESP8266»

Deja un comentario