Tabla de contenido:
- Paso 1: ¿Qué es MicroPython?
- Paso 2: requisitos
- Paso 3: ¿Por qué la placa basada en ESP8266?
- Paso 4: Configuración de su computadora
- Paso 5: flasheo de MicroPython con Esptool.py
- Paso 6: Usar el REPL de MicroPython con Rshell
- Paso 7: Control de pines usando MicroPython
- Paso 8: atenuar el LED
- Paso 9: ¿Hacia dónde vamos desde aquí?
- Paso 10: Conclusión
Video: Introducción a MicroPython en el ESP8266: 10 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
¿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
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?
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
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
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
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
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
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:
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: 6 pasos (con imágenes)
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: ya escribí un artículo sobre cómo ejecutar demostraciones de OpenMV en Sipeed Maix Bit y también hice un video de demostración de detección de objetos con esta placa. Una de las muchas preguntas que la gente ha hecho es: ¿cómo puedo reconocer un objeto que la red neuronal no está tr
Donuts de gelatina conductiva: una introducción a los circuitos de costura con Makey Makey: 4 pasos (con imágenes)
Donuts de gelatina conductiva: una introducción a los circuitos de costura con Makey Makey: notamos en Twitter que muchos de nuestros fanáticos de Scratch y Makey Makey querían saber más sobre los circuitos de costura, por lo que elaboramos este tutorial para brindarle una introducción rápida a los circuitos de costura y cómo se pueden coser algunas piezas modulares. (Este es
Bandera de notificación: gran introducción a Wi-Fi, IFTTT y Huzzah ESP8266: 9 pasos (con imágenes)
Bandera de notificación: gran introducción a Wi-Fi, IFTTT y Huzzah ESP8266: Siempre me faltan cosas importantes … así que creé Flag. ¡Un dispositivo de Internet de las cosas (IoT) para notificarme o recordarme estas cosas importantes! Ahora, con un rápido vistazo a mi escritorio, puedo ver si … tengo un correo electrónico que me mencionaron en un twe
Introducción al reconocimiento de voz con Elechouse V3 y Arduino: 4 pasos (con imágenes)
Introducción al reconocimiento de voz con Elechouse V3 y Arduino .: ¡Hola …! La tecnología de reconocimiento de voz ha estado aquí durante los últimos años. Todavía recordamos la gran emoción que tuvimos mientras hablamos con el primer iPhone habilitado para Siri. Desde entonces, los dispositivos de comando de voz han crecido a un nivel muy avanzado más allá de
Introducción a la programación del 8051 con AT89C2051 (protagonista invitado: Arduino): 7 pasos (con imágenes)
Introducción a la programación del 8051 con AT89C2051 (protagonista invitado: Arduino): El 8051 (también conocido como MCS-51) es un diseño de MCU de los años 80 que sigue siendo popular en la actualidad. Los microcontroladores modernos compatibles con 8051 están disponibles de varios proveedores, en todas las formas y tamaños, y con una amplia gama de periféricos. En este instructivo