Tabla de contenido:

Introducción a MicroPython en el ESP8266: 10 pasos (con imágenes)
Introducción a MicroPython en el ESP8266: 10 pasos (con imágenes)

Video: Introducción a MicroPython en el ESP8266: 10 pasos (con imágenes)

Video: Introducción a MicroPython en el ESP8266: 10 pasos (con imágenes)
Video: #10 MicroPython - Comunicación UART | ESP 01 - ESP32 - ESP8266 2024, Noviembre
Anonim
Introducción a MicroPython en ESP8266
Introducción a MicroPython en ESP8266

¿Desea una forma diferente de programar las placas basadas en ESP8266 en lugar del método común que usa Arduino IDE junto con el lenguaje de programación C / C ++?

En este tutorial aprenderemos quién configurar y controlar una placa ESP8266 usando MicroPython.

TIEMPO DE CONSTRUCCIÓN: 60 MINUTOS DIFICULTAD: PUNTUACIÓN: Fácil

Paso 1: ¿Qué es MicroPython?

MicorPython es uno de los muchos lenguajes de programación que podemos usar para programar el módulo ESP8266. Es una versión ágil y rápida del lenguaje de programación Python 3 y tiene varias ventajas sobre los lenguajes de programación tradicionales como C y C ++.

MicroPython está diseñado para ser compatible con Python normal tanto como sea posible. Tiene un compilador y tiempo de ejecución completos de Python, y proporciona un mensaje interactivo conocido como REPL (bucle de lectura-evaluación-impresión).

MicorPython está diseñado para admitir algunos tipos diferentes de microcontroladores. Pero para este tutorial voy a trabajar con un solo modelo: la placa basada en ESP8266 (NodeMCU). Tenga en cuenta que hay algunas placas diferentes que puede comprar con el mismo chip.

Lectura y recursos:

MicroPython

NodeMCU

Paso 2: requisitos

Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos
Requisitos

Para poder seguir este tutorial solo necesitas tener experiencia básica en codificación con Python, no necesitas tener ningún conocimiento previo de microcontroladores, electrónica o incluso MicroPython.

También necesitará una computadora con Windows, Mac o Linux con un puerto USB libre, ya que conectará un microcontrolador a su computadora para programarlo.

Piezas necesarias:

1 x NodeMCU (u otra placa basada en ESP8266)

1 x LED rojo de 5 mm

1 x resistencia de 220Ω 1 / 4W

Potenciómetro rotatorio de 1 x 10KΩ

1 x tablero

1 x cable USB a MicroUSB

Cables de puente.

Paso 3: ¿Por qué la placa basada en ESP8266?

¿Por qué la placa basada en ESP8266?
¿Por qué la placa basada en ESP8266?

Una forma en que puede aprovechar al máximo su ESP8266 es utilizando MicroPython. Además, el módulo ESP8266 es una de las mejores plataformas para aprender a usar MicroPython. Esto se debe a que el ESP8266 proporciona funciones simples de control de pines GPIO, así como funcionalidad inalámbrica, lo que le permite probar todos los aspectos del lenguaje de programación MicroPython.

El chip ESP8266 es popular en la industria del desarrollo de código abierto. Hay muchas placas de desarrollo de diferentes fabricantes que utilizan el chip ESP8266. MicroPython ha sido diseñado para proporcionar un puerto genérico que se puede ejecutar en la mayoría de esas placas, con la menor cantidad de limitaciones posible. El puerto se basa en la placa Adafruit Feather HUZZAH. Cuando utilice otras placas ESP8266, asegúrese de comprobar sus esquemas y hojas de datos para poder identificar las diferencias entre ellas y la placa Adafruit Feather HUZZAH. De esa manera, puede adaptarse a las diferencias en su código.

Lectura y recursos:

ESP8266

Pluma de Adafruit HUZZAH

Paso 4: Configuración de su computadora

Configuración de su computadora
Configuración de su computadora
Configuración de su computadora
Configuración de su computadora
Configuración de su computadora
Configuración de su computadora
Configuración de su computadora
Configuración de su computadora

Hay varias cosas que debe configurar antes de usar MicroPython para programar su placa ESP8266. Pasaremos por el proceso de configuración en este paso. De esta manera sabrá cómo configurar la placa ESP8266 para usarla con MicroPython.

Preparándose

Todo lo que necesita de este paso al paso 6 es su ESP8266 y un cable USB. Conecte su placa ESP8266 a su computadora.

Cómo hacerlo…

PASO 1: Instale los controladores de dispositivo

Si tiene una computadora con Linux, entonces no necesita instalar ningún controlador de dispositivo para que se reconozcan los controladores del microcontrolador, pero si tiene una máquina Mac o Windows, se necesita un controlador para permitir que la computadora reconozca el microcontrolador. como dispositivo serial.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

PASO 2: Instale Python

Las herramientas que va a utilizar para comunicarse con el ESP8266 están escritas en Python, por lo que debe instalar Python en su computadora.

Si su sistema operativo no proporciona un Python empaquetado previamente, puede ir a https://python.org para descargar una compilación oficial para cualquiera de los sistemas operativos compatibles.

PASO 3: Instale esptool y rshell

Instale dos paquetes que le ayudarán a administrar su placa usando pip. Para hacer esto, abra su terminal y ejecute

pip instalar esptool rshell

PASO 4: Descarga MicroPython

Descargue el último firmware de MicroPython.bin desde el siguiente enlace:

En el momento en que escribo esto, la versión actual es 1.11 y el archivo de firmware se llama esp8266-20190529-v1.11.bin

Para cuando haga esto, es posible que encuentre una versión más reciente.

Paso 5: flasheo de MicroPython con Esptool.py

MicroPython intermitente con Esptool.py
MicroPython intermitente con Esptool.py
MicroPython intermitente con Esptool.py
MicroPython intermitente con Esptool.py

Antes de actualizar un nuevo firmware en la placa, es una buena idea borrar los datos anteriores, algo que siempre debe hacer para que el nuevo firmware se ejecute desde un estado limpio.

Vaya a donde ha colocado el archivo.bin. Utilice esptool.py para borrar el flash.

Para Linux:

esptool.py --port / dev / ttyUSB0 erase_flash

Para ventanas:

esptool.py --port COM3 erase_flash

Es posible que deba cambiar el puerto serie en su comando al puerto serie al que está conectada su placa ESP8266. Si no conoce el número de puerto serie de su ESP8266, puede verificar el IDE de Arduino. Simplemente abra el IDE y luego haga clic en Herramientas | Puertos. Debería ver el puerto serie de su placa ESP8266 en la lista. Reemplace el puerto serie en el comando (/ dev / ttyUSB0) con el puerto serie de su placa.

Ahora que el tablero está completamente borrado, puede actualizar la compilación de MicroPython que acaba de descargar, lo que también se hace con el comando esptool.py:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Este comando va a escribir el contenido del archivo.bin de MicroPython en la placa en la dirección 0.

Asegúrese de cambiar el nombre del archivo.bin del firmware en el comando (esp82688-2019-080529-v1.11.bin) por el del firmware que descargó.

Una vez que el firmware se haya instalado con éxito en su placa ESP8266, puede acceder a REPL en su placa a través de una conexión por cable (puerto serie UART) o WiFi inteligente.

Paso 6: Usar el REPL de MicroPython con Rshell

Usando el REPL de MicroPython con Rshell
Usando el REPL de MicroPython con Rshell
Usando el REPL de MicroPython con Rshell
Usando el REPL de MicroPython con Rshell

Ahora está listo para iniciar MicroPython en su placa ESP8266.

Lo que les voy a mostrar cómo conectarse al indicador de Python que se ejecuta en su placa. Esto se llama REPL, que significa "Read-Eval-Print-Loop". Este es el indicador estándar de Python que probablemente esté acostumbrado a ver cuando trabaja con el intérprete de Python normal, pero esta vez se ejecutará en su placa y, para interactuar con él, utilizará la conexión en serie a su computadora.. ¿Listo?

Para conectarse a su placa y abrir una sesión REPL, ingrese el siguiente comando:

rshell --puerto

Este comando lo llevará al indicador de rshell. Vea la foto de arriba.

Si está siguiendo este tutorial en Windows, tenga en cuenta que rshell tiene un historial de problemas cuando se ejecuta en Windows.

Entonces, para arreglar ese tipo:

rshell -a --puerto COM3

Desde este mensaje, puede realizar tareas de administración relacionadas con la placa de su microcontrolador y también iniciar un REPL de Python que puede usar para interactuar con la placa en tiempo real. Así que simplemente ingrese el siguiente comando:

responder

Para asegurarse de que todo funcione, escriba una oración simple de Python:

imprimir ("Hola mundo")

Paso 7: Control de pines usando MicroPython

Control de pines usando MicroPython
Control de pines usando MicroPython
Control de pines usando MicroPython
Control de pines usando MicroPython

En este paso, aprenderemos cómo controlar los pines ESP8266 con MicroPython. Para hacer eso, crearemos una configuración en la que cambiaremos el estado de un LED conectado a un pin GPIO de la placa ESP8266. Esto le ayudará a comprender cómo controlar las salidas digitales con MicoPython.

Preparándose

Necesitará lo siguiente para realizar este PASO:

1 x NodeMCU

1 x LED rojo de 5 mm

1 x resistencia de 220 Ω

1 x tablero

Cables de puente

La construcción

Comience montando el LED en la placa de pruebas. Conecte un extremo de la resistencia de 220 Ω a la pata positiva del LED (la pata positiva de un LED suele ser la más alta de las dos patas). Conecte el otro extremo de la resistencia al pin D1 de la placa ESP8266. Luego, conecte la pata negativa del LED al pin GND de la placa ESP8266. La conexión es como se muestra en el diagrama anterior.

Una vez que se complete la configuración, conecte la placa ESP8266 a su computadora mediante un cable USB.

Cómo hacerlo…

Escriba el siguiente código en su REPL:

# parpadeo del LED cada 1 segundo

def blink (pin = 5, time = 1) # función de parpadeo por defecto pin = 5, time = 1s import machine # el módulo de la máquina contiene las configuraciones de pines y los modos desde time import sleep # import sleep para algún retraso LED = machine. (led_pin, machine. PIN. OUT) # configurar LED como OUTPUT mientras True: # ejecutar eternamente LED.value (1) # establecer LED en HIGH sleep (tiempo) # esperar 1 segundo por defecto LED.value (0) # set LED a LOW sleep (time) # espere 1 segundo por defecto

Escriba blink () en su sesión RPEL para probar este código. Esto hará parpadear el LED conectado al GPIO5 cada 1 segundo.

Puede cambiar el PIN y / o la hora llamando a:

parpadeo (pin =, tiempo =)

Presione ctrl + c para salir del código en ejecución.

Puede usar MicroPython para leer una entrada conectada al ESP8266. Continúe con el siguiente paso para aprender cómo hacerlo.

Mira el video si te quedaste atascado.

Paso 8: atenuar el LED

Desvaneciendo el LED
Desvaneciendo el LED
Desvaneciendo el LED
Desvaneciendo el LED

En este paso, aprenderemos cómo ajustar el brillo del LED usando un potenciómetro giratorio. Usaremos una técnica llamada Pulse Width Modulation (PWM), que nos permite atenuar el LED con hasta 256 configuraciones.

Aviso: Todos los pines de ESP8266 se pueden utilizar como pin PWM excepto GPIO16 (D0).

Preparándose:

Necesitará lo siguiente para realizar este PASO:

1 x NodeMCU

1 x LED rojo de 5 mm

1 potenciómetro rotativo de 50 KΩ.

1 x tablero

Cables de puente

La construcción

La conexión es como se muestra en el diagrama anterior: Una vez que se complete la configuración, conecte la placa ESP8266 a su computadora a través de un cable USB.

Cómo hacerlo…

Escriba el siguiente código en su REPL:

# LED que se desvanece cada 0.5 al leer los datos del potenciómetro

importar máquina desde el tiempo import sleep led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # crear objeto LED LED_pwm = machine. PWM (LED, freq = 500) # crear LED_pwm objeto y establezca la frecuencia en 500Hz mientras que True: LED_pwm.duty (POT.read ()) # obtenga el valor del Pot y configúrelo en el ciclo de trabajo sleep (0.5) # wait 0.5

Esto cambiará el brillo del LED conectado a GPIO 5 cambiando el valor del potenciómetro.

Presione ctrl + c para salir del código en ejecución.

Mira el video si te quedaste atascado.

Paso 9: ¿Hacia dónde vamos desde aquí?

Hasta ahora hemos visto cómo configurar y ejecutar MicroPython en placas basadas en ESP8266. Aprendimos a controlar los pines para hacer parpadear un LED y luego agregamos un potenciómetro para controlar el brillo del LED usando la técnica de modulación de ancho de pulso.

Ahora podemos leer los datos del sensor y enviarlos a la nube, también podemos crear un servidor HTTP donde puedas imprimir nuestros datos en una simple página web, etc.

Esto nos da muchas ideas sobre Internet de las cosas (IoT).

Paso 10: Conclusión

¡Ahí tienes! Avanza y conquista el mundo de MicroPython.

si tiene alguna pregunta, por supuesto, puede dejar un comentario.

Para ver más sobre mis trabajos, visite mi canal de YouTube:

myYouTube

myGitHub

myLinkedin

Gracias por leer este instructivo ^^ y que tengas un buen día.

Nos vemos.

Ahmed Nouira.

Recomendado: