Tutorial de MicroPython ESP32 - Primeros pasos

Tutorial de MicroPython ESP32 - Primeros pasos

junio 24, 2020

MicroPython-ESP32-Tutorial-Getting-Starte

1. Descripción general: Introducción a MicroPython en ESP32 usando uPyCraft IDE

En este tutorial de MicroPython ESP32 - primeros pasos con MakePython ESP32, aprenderemos cómo usar MicroPython en ESP32 usando uPyCraft IDE. Todos estamos familiarizados con elLenguaje de programación Python.Python es un lenguaje de programación interpretado, de alto nivel y de propósito general. Como Python es un lenguaje muy poderoso, se utiliza para la Inteligencia Artificial (IA) yInternet de las cosas Aplicaciones.

A medida que Python se hizo muy popular, la comunidad Python desarrollóMicroPython. MicroPython es una implementación eficiente y eficiente del lenguaje de programación Python que incluye un pequeño subconjunto de la biblioteca estándar de Python y está optimizada para ejecutarse en microcontroladores y en entornos restringidos. Micropython es compatible con placas como PyBoard, ESP8266, ESP32 y otras placas.

En este tutorial, usaremos MicroPython en la placa ESP32 usando uPyCraft IDE.uPyCraftes un IDE que funciona con Windows y Mac y está diseñado con una interfaz simple que es conveniente de usar. uPyCraft es desarrollado porDFRobot.


TomaremosDos ejemplosaquí como referencia para aprender MicroPython en ESP32 usando uPyCraft IDE.
1. Primero escribiremos código para parpadear un LED, que es simplemente como escribir el programa "Hello World".
2. En el segundo ejemplo, haremos un servidor web para controlar un LED usando la página web.

2. ¿Qué es MicroPython?

MicroPython es una implementación de software de un lenguaje de programación en gran medida compatible con Python 3, escrito en C, que está optimizado para ejecutarse en un microcontrolador. La diferencia entre Python y MicroPython es que MicroPython no viene con el soporte completo de la biblioteca como Python. Por lo tanto, MicroPython funciona solo en condiciones de restricción. Hay pocas bibliotecas estándar para acceder e interactuar con el hardware de bajo nivel como GPIO, Wi-Fi, redes.

MicroPython es un compilador y tiempo de ejecución completo de Python que se ejecuta en el hardware del microcontrolador. Al usuario se le presenta un mensaje interactivo (el REPL) para ejecutar comandos compatibles inmediatamente. Se incluye una selección de bibliotecas básicas de Python; MicroPython incluye módulos que dan al programador acceso a hardware de bajo nivel.

3. Placa MakePython ESP32

Como ya se explicó anteriormente, primero necesitaremos una placa ESP32. Así que compré una placa ESP32 especialmente diseñada para usar Micropython dePlaca MakePython ESP32de MakerFabs.

MakePython-ESP32

La placa MakePython ESP32 tiene el mismo chip ESP32 deespressif. La ventaja de esta placa sobre la placa ESP32 normal es que la placa tiene una pantalla OLED adicional de 0.96 "agregada.

MakePython ESP32 es un potente módulo genérico de MCU Wifi + BLE dirigido a estudiantes y desarrolladores de MicroPython. Es verdadero "compatible con la placa de pruebas", con la explicación muy detallada de los pines, es fácil de aprender y usar. El MakePython ESP32 está programado con MicroPython por defecto, los usuarios pueden comenzar el desarrollo de MicroPython como conseguir entonces a mano.

MakePython-ESP32-Pin-Definiciones

La descripción completa del pin y los detalles sobre este tablero se pueden encontrar aquí:MakePython ESP32 Descripción.Incluso puede comprar el tablero desde el mismo enlace.

4. Introducción a MicroPython en ESP32 usando uPyCraft IDE

La sección cubre:
1. Instalación de Python 3.8.x en Windows/MAC
2. Instalación del IDE uPyCraft
3. Flasheo del firmware de MicroPython (archivo bin) en la placa MakePython ESP32
4. Escribir código Python y cargar el código en ESP32 usando uPyCraft IDE
5. Parpadeo del LED
6. Control del LED mediante el servidor web

Paso 1: Instalar Python 3.8.x en Windows

MicroPython es una implementación de Python, por lo que primero debemos instalar Python 3.8.x o superior. Para instalar Python 3.8.x, descargue Python desde//www.python.org/downloads/

Instalación de Python


Después de descargar Python 3.8.x, debe instalarlo.

python-install


Una vez completada la instalación, puede cerrar la ventana de instalación.

Paso 2. Instalación de uPyCraft IDE

Solo hay unos pocos IDE que admiten MicroPython como Thonny IDE y uPyCraft IDE. Thonny IDE no tiene una opción para flashear el firmware de MicroPython en ESP32, pero el uPyCraft IDE tiene funcionalidad incorporada para flashear el firmware, la programación y la carga del código en la placa ESP32.

Ir a este enlace:uPyCraft IDE Descargary descargue el IDE uPyCraft.

Después de la descarga, simplemente puede hacer clic en el .exe y se abrirá la siguiente ventana.

uPyCraft-IDE


Ahora echemos un vistazo más de cerca al IDE uPyCraft y sus 4 secciones. Las 4 secciones tienen su propia importancia.

uPyCraft-IDE-Part


1. Carpetas y archivos:
Esta sección contiene archivos y carpetas como Dispositivo, Carpeta SD, uPy_Lib y Espacio de trabajo. La carpeta del dispositivo contiene los archivos almacenados en la placa ESP, incluidos boot.py o main.py. La carpeta SD contiene los archivos almacenados en la tarjeta SD. uPy_lib contiene bibliotecas IDE de MicroPython incorporadas. El espacio de trabajo contiene los archivos que se guardarán en su PC.

2. Ventana del editor:
Esta sección es para escribir y editar el código python. Se pueden abrir varios archivos de Python en el Editor.

3. Herramientas:
Esta sección contiene opciones para crear un nuevo archivo, guardar el archivo, cargar el archivo, conectar/desconectar la placa, borrar el shell.

4. MicroPython Shell / Terminal:
Esta sección es para escribir y ejecutar los comandos de shell en la placa ESP. Esta sección también muestra el estado del programa, errores e imprimir mensajes.

Paso 3: Flasheo del firmware de MicroPython (archivo bin) en la placa MakePython ESP32

Ahora necesitamos actualizar el firmware a la placa ESP32 para que pueda admitir MicroPython. Visita este enlace://micropython.org/download/esp32/ y descargue el.bin archivocomo se muestra en la imagen de abajo. Elija la versión estable.

ESP32-Micropython-bin-file


Después de descargar el firmware, debemos cargarlo en la placa ESP32 utilizando uPyCraft IDE. Así que primero conecte la placa ESP32 a su PC usando el cable de datos Micro-USB.

ESP32-Micropython-upycraft-1


Ahora abra el IDE de uPyCraft y seleccione Herramientas →Grabar firmware.

burnfirmware


Elija las siguientes opciones que se muestran en la imagen a continuación. Seleccione el archivo bin que descargó recientemente (explicado anteriormente). Y luego haga clic en Aceptar.

burnfirmware-2


Así que el firmware comenzará a cargarse. En algunas placas ESP32, debe presionar el botón de arranque para iniciar el proceso.

 

firupl


Una vez que se realiza la carga, la ventana se cerrará automáticamente.

Paso 4. Escribir código Python y cargar el código en ESP32 usando uPyCraft IDE

1. Ahora haga clic en Archivo y cree un nuevo archivo con el nombre main.py o asígnele cualquier otro nombre.

mainpy


2. Luego, vaya a Herramientas → tableros. Elija su placa como ESP32.

3. Nuevamente vaya a herramientas → Serial y elija su puerto COM.

4. Ahora, haga clic en el icono de conexión en la sección Herramientas para realizar la conexión entre IDE y la placa ESP32.

connectoptions


5. ESP32 LED parpadeando con MicroPython usando uPyCraft

Ahora hagamos el primer comienzo del programa. Para eso conecte el LED al Pin GPIO5 de la placa MakePython ESP32.

ESP32-MicroPython-Getting-Started-LED-blinking

Copie el siguiente código de MicroPython y cárguelo en la placa ESP32 haciendo clic en el botón de descarga.

Botón de descarga
Tiempo de importación
desde el Pin de importación de la máquina
led=Pin(5,Pin.OUT) #create LED object from pin5,Set Pin5 to output

mientras que Verdadero:
  LED.value(1) #turn off
  tiempo.suspensión(0.5)
  led.value(0) #turn on
  tiempo.suspensión(0.5)

 

ESP32-MicroPython-uPyCraft-LED-Blink-Code


Tan pronto como presione el botón de descarga, puede ver los detalles en ; Shell de Python como se muestra en la imagen de arriba. Del mismo modo, el LED conectado comenzará a parpadear.

ESP32-MicroPython-uPyCraft-LED-Blinking


6. ESP32 Micropython: Control de LED usando servidor web

Ahora vamos a diseñar una pequeña página web y controlar el encendido y apagado de LED usando el servidor web. Puedes seguirESP32 Web Server Tutorialsi desea obtener más información sobre el servidor web.

Copie el siguiente código de MicroPython y cárguelo en la placa ESP32 haciendo clic de nuevo en el botón de descarga. En el siguiente código cambie las credenciales para wifi SSID & Password.

Importar red
Importar WebRepl
Tiempo de importación
desde el Pin de importación de la máquina
probar:
  Importar usocket como socket
exceptuar:
  Socket de importación

AUTH_OPEN = 0
AUTH_WEP = 1
AUTH_WPA_PSK = 2
AUTH_WPA2_PSK = 3
AUTH_WPA_WPA2_PSK = 4

SSID = '************' #Modificar aquí con SSID
PASSWORD = '*************' #Modify here with PWD
led = Pin(5, Pin.OUT)

def web_page():
  html = '''

Servidor Web ESP32

  ''' Devolver HTML def do_connect(ssid,psw): #import red #import time WLAN = red. WLAN(red. STA_IF) wlan.active(Verdadero) s = wlan.config('mac') Mac = ('%02x:%02x:%02x:%02x:%02x:%02x').upper() %(s[0],s[1],s[2],s[3],s[4],s[5]) print('MAC local:'+mac) #get mac wlan.connect(ssid, psw) Si no es wlan.isconnected(): print('Conexión a la red...' + ssid) wlan.connect(ssid, psw) inicio = time.ticks_ms() # obtener contador de milisegundos mientras no wlan.isconnected(): time.sleep(1) # sleep for 1 second Si time.ticks_ms()-start > 20000: print('¡Tiempo de espera de conexión!') quebrar Si wlan.isconnected(): print('network config:', wlan.ifconfig()) Volver WLAN def connect(): do_connect(SSID, CONTRASEÑA) def app(): conectar() s = socket.socket(socket.AF_INET, socket. SOCK_STREAM) s.bind(('', 80)) s.listen(5) mientras que Verdadero: conn, addr = s.accept() print('Tengo una conexión de #' % str(addr)) solicitud = conn.recv(1024) request = str(request) print('Contenido = #' % solicitud) led_on = request.find('/?led=on') led_off = request.find('/?led=off') si led_on == 6: print('LED ON') led.value(0) si led_off == 6: print('LED apagado') led.value(1) respuesta = web_page() conn.send('HTTP/1.1 200 OK\n') conn.send('Content-Type: text/html\n') conn.send('Conexión: cerrar\n\n') conn.sendall(respuesta) conn.close() app()


Después de descargar correctamente el código, puede ver la placa ESP32 conectándose a la red en uPyCraft Shell. Del mismo modo, también se mostrará la dirección IP de la placa. Copie la dirección IP y péguela en cualquier navegador web. Por lo tanto, la página se abrirá como se muestra a continuación.

servidor web


Ahora puede enviar el comando ON o el comando OFF para encender o apagar el LED respectivamente.

LED-Control-MicroPython


Este artículo se publicó originalmente enhow2electronics.

Contáctenos