Tabla de contenido:

Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO: 7 pasos
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO: 7 pasos

Video: Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO: 7 pasos

Video: Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO: 7 pasos
Video: How to flash ESP8266-01 Firmware using Arduino 2024, Noviembre
Anonim
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO
Restaurar o actualizar el firmware en el módulo ESP8266 (ESP-01) usando Arduino UNO

El módulo ESP-01 que utilicé originalmente venía con un firmware AI Thinker más antiguo, lo que limita sus capacidades ya que no se admiten muchos comandos AT útiles.

En general, es una buena idea actualizar su firmware para corregir errores y también, dependiendo de las funcionalidades necesarias del módulo ESP, es posible que se requiera un conjunto más completo de comandos AT compatibles. Este tutorial también explica cómo restaurar o actualizar el firmware original de Espressif si estropea su firmware ESP, por ejemplo, a través de algunos comandos AT incorrectos. Esto es lo que sucedió cuando intenté cambiar la velocidad en baudios predeterminada de 115200 a 9600. Usé el siguiente comando (basado en una búsqueda rápida en Google):

AT + IPR = 9600

Esto bloqueó el módulo ESP-01. Ya no funcionaban los comandos AT, lo que me llevó a investigar más y, después de muchas horas, finalmente encontré una manera de restaurar mi ESP-01 e instalar el último firmware compatible. Entonces, decidí que valía la pena compartir todo el proceso.

Precaución: Según mi experiencia, le recomiendo encarecidamente que no utilice el comando AT + IPR para cambiar su velocidad en baudios, ya que lo más probable es que necesite volver a actualizar su firmware. Sin embargo, existen muchas variantes diferentes del módulo ESP-01 con diferentes tamaños de flash y versiones de firmware de fábrica, por lo que su experiencia puede variar.

El módulo ESP-01 no es compatible con 5 V y requiere 3,3 V para alimentarlo, pero también para funcionar correctamente en el nivel lógico. Para comunicarse con la computadora, el módulo también necesita un convertidor de USB a serie. Entonces, en lugar de usar un convertidor de voltaje y un adaptador de USB a serie, decidí optar por una solución más simple. Como ya tengo un Arduino UNO, utilicé este último para alimentar el módulo ESP-01 y establecer comunicación entre el ESP-01 y la computadora, operando efectivamente como un puente serial.

Suministros

  1. Módulo ESP-01
  2. Arduino UNO (con cable USB)
  3. Cables puente DuPont
  4. Tablero de circuitos

Paso 1: Conexiones de cables

Conexiones de cables
Conexiones de cables
Conexiones de cables
Conexiones de cables
Conexiones de cables
Conexiones de cables

Las conexiones de cables con el módulo Arduino UNO y ESP-01 se pueden realizar fácilmente utilizando cables de puente y una placa de pruebas. Las conexiones entre la placa de desarrollo Arduino y el módulo ESP se describen en la tabla. Las conexiones RX y TX no se invierten en este caso, ya que la comunicación no ocurre entre el módulo Arduino y ESP sino entre el ESP y la computadora. Entonces, en este caso, la placa Arduino UNO se utiliza como un puente en serie a través de su convertidor USB a serie integrado.

La conexión de los pines RX entre la placa Arduino y el módulo ESP debe realizarse a través de un divisor de voltaje, ya que el ESP-01 opera en un nivel lógico de 3.3 V y recibir un nivel lógico de 5 V del Arduino UNO podría dañar el módulo ESP. Puede construir un divisor de voltaje simple de 3.3 V usando solo 2 resistencias como se muestra en la figura. Opcionalmente, puede utilizar un convertidor de nivel lógico.

Precaución: Para mi configuración, simplemente conecté los pines RX directamente (¡no es recomendable!) Y todo funcionó, pero si decide renunciar a la conversión del nivel lógico, ¡proceda bajo su propio riesgo!

Para establecer una conexión a tierra común, el pin de tierra de Arduino UNO se conecta al pin de tierra del módulo ESP.

El Arduino UNO se utiliza para proporcionar energía de 3.3 V directamente al pin VCC del módulo ESP. Conecte el pin de 3.3 V a la placa de pruebas con un cable de puente, ya que los 3.3 V se usarán no solo para el pin VCC del ESP sino también para el pin CH_PD del ESP para habilitar el chip ESP.

El pin RESET en el Arduino UNO está conectado a tierra para omitir cualquier código cargado a través del Arduino, de modo que el código se envíe desde la computadora al ESP-01.

La figura de la tabla muestra el conjunto completo de conexiones para la actualización del firmware, pero en esta etapa, no conecte los pines Reset y GPIO_0 del ESP, ya que solo leeremos la información del firmware en el siguiente paso.

Paso 2: verifique la versión del firmware

Verifique la versión del firmware
Verifique la versión del firmware

Para encontrar su versión de firmware ESP-01, en Arduino IDE Serial Monitor, escriba:

AT + GMR

Nota: Todos los comandos AT deben escribirse en mayúsculas sin espacios.

Aquí está la salida en serie para mi ESP-01 (es posible que su módulo ESP no muestre exactamente la misma información, ya que depende del modelo específico y la fecha de lanzamiento):

AT + GMR

Versión AT: 0.25.0.0 (5 de junio de 2015 16:27:16) Versión de SDK: 1.1.1 Ai-Thinker Technology Co. Ltd.23 de junio de 2015 23:23:50 OK

Ahora, para actualizar al último firmware oficial de Espressif ESP8266EX, vaya a la sección de recursos de su sitio web:

Nota: Es posible que la lista de firmware disponible no sea compatible con su modelo ESP-01. Consulte la sección Solución de problemas al final de este tutorial para obtener más información.

Paso 3: preparación de la configuración: antes de la actualización del firmware

Preparación de la configuración: antes de la actualización del firmware
Preparación de la configuración: antes de la actualización del firmware

Ahora, prepararemos el Arduino UNO para el procedimiento de actualización del firmware ESP-01.

Asegúrese de que el cable de RESET de Arduino esté desconectado de la tierra. Además, los cables TX y RX del Arduino UNO deben desconectarse del módulo ESP-01.

Abra Arduino IDE y desde el menú superior, vaya a Archivo> Ejemplos> 01. Básicos> BareMinimum. Sube el boceto al Arduino UNO. Este boceto en blanco garantizará que no se produzcan interferencias de comunicación con el módulo ESP.

Vuelva a conectar los cables RX y TX entre UNO y ESP-01. Además, conecte el pin RESET de UNO a tierra.

El pin CH_PD o CH_EN significa 'Chip Power-Down' o 'Chip Enable' y debe colocarse en ALTO o conectarse a 3.3 V para habilitar el chip ESP.

Se necesitan dos cables de puente adicionales para los siguientes pines ESP: GPIO_0 y RESET.

GPIO_2 no se utiliza y se deja desconectado.

El ESP-01 debe configurarse en modo de programación para que se pueda cargar el código. Pero el ESP-01 no tiene el hardware adicional a bordo necesario para lograr esto directamente, por lo que todo debe conectarse por separado. Para mi propio uso, no me molesté en usar interruptores, sino que simplemente usé dos cables de puente macho-hembra conectados a los pines GPIO_0 y RESET del módulo ESP-01 y los conecté a los pines de tierra comunes de la placa de pruebas desde la tierra de Arduino UNO.

Antes de iniciar el procedimiento de parpadeo, GPIO_0 se conecta a tierra durante todo el procedimiento de parpadeo para habilitar el modo de programación.

El pin RESET se conecta a tierra por un segundo y luego se retira. Esto permite que se cargue el nuevo firmware.

Paso 4: descargue la herramienta de actualización y el firmware

Descargue la herramienta de actualización y el firmware
Descargue la herramienta de actualización y el firmware

El firmware utilizado es de Espressif, que es el fabricante original del chip ESP8266.

Vaya a: https://www.espressif.com/en/products/hardware/esp8266ex/resources para acceder a las herramientas oficiales y los archivos de firmware de AT.

En la pestaña 'Herramientas', descargue las herramientas de descarga de Flash (ESP8266 y ESP32), actualmente la última es la V3.6.8.

En la pestaña 'AT', descargue el último firmware AT compatible, que es ESP8266 AT Bin V1.6.2 para mi modelo ESP-01. Depende del modelo ESP-01 ya que puede tener diferentes tamaños de memoria flash. Encontrará más información sobre esto en la sección INFORMACIÓN DETECTADA del programa Flash Download Tools después de hacer clic en INICIO para comenzar el procedimiento de actualización. Por lo tanto, si no está seguro sobre el tamaño de la memoria flash o qué archivos de firmware seleccionar, simplemente ejecute el programa para obtener la información correcta sobre su módulo ESP.

Después de parpadear, puede usar los comandos AT para probar y trabajar con el ESP-01. Descargue el conjunto de instrucciones oficial ESP8266 AT:

Paso 5: procedimiento de flasheo

Procedimiento de parpadeo
Procedimiento de parpadeo
Procedimiento de parpadeo
Procedimiento de parpadeo
Procedimiento de parpadeo
Procedimiento de parpadeo
Procedimiento de parpadeo
Procedimiento de parpadeo

Extraiga el archivo zip de Flash Download Tools y abra el archivo exe. Asegúrese de ejecutarlo como administrador si está usando Windows. Primero se abrirá una ventana de DOS, seguida de una ventana emergente. Seleccione la herramienta de descarga ESP8266. Esto abrirá una ventana con varias opciones configurables.

En esta etapa, consulte la captura de pantalla para ver exactamente qué opciones seleccionar y qué escribir en los cuadros de código hexadecimal junto a cada uno de los archivos de firmware seleccionados.

Nota: Seleccione los archivos de firmware en el mismo orden, ya que el procedimiento de actualización se realiza de forma secuencial. El archivo blank.bin debe seleccionarse tres veces como se muestra en la captura de pantalla del conjunto de instrucciones AT.

Para encontrar los códigos hexadecimales o direcciones correctos, consulte el documento oficial del conjunto de instrucciones AT. He adjuntado una captura de pantalla de la tabla que utilicé para actualizar mi módulo ESP.

Luego, simplemente presione el botón INICIO y observe cómo sucede la magia. El texto del botón mostrará SYNC y la sección DETECTED INFO mostrará las especificaciones de su módulo ESP. Luego, el texto mostrará DESCARGAR y la barra de progreso se activará a medida que los archivos de firmware se carguen en la memoria flash ESP. Una vez finalizado el procedimiento de actualización del firmware, verá: FINALIZAR.

Cierre el programa Flash Download Tools. Esto es necesario para liberar el puerto serie y permitir que Arduino IDE Serial Monitor se haga cargo.

Desconecte el pin ESP GPIO_0 de la conexión a tierra. Esto desactivará el modo de programación.

Conecte RESET a tierra durante 1 segundo y luego desconéctelo. Esto restablecerá el módulo.

Abra Arduino IDE. En el menú superior, seleccione Herramientas> Puerto> seleccione el puerto COM correcto. Abra Serial Monitor y elija "Both NL & CR" y seleccione la velocidad en baudios de 115200, que es la predeterminada.

Escribe:

A

Si el procedimiento de flasheo fue correcto, la respuesta será:

OK

Para verificar su nuevo firmware, escriba:

AT + GMR

Aquí está la salida del monitor serial para mi ESP-01:

AT + GMR

Versión AT: 1.6.2.0 (13 de abril de 2018 11:10:59) Versión de SDK: 2.2.1 (6ab97e9) tiempo de compilación: 7 de junio de 2018 19:34:26 Versión de Bin (Wroom 02): 1.6.2 OK

Paso 6: cambie la velocidad en baudios de forma permanente

Cambiar la velocidad en baudios de forma permanente
Cambiar la velocidad en baudios de forma permanente

Esta parte es opcional. La velocidad en baudios predeterminada es 115200, pero si desea cambiarla a otra velocidad en baudios, simplemente puede escribir el siguiente comando en el monitor serial Arduino.

Por ejemplo, si desea cambiar a 9600 baudios / 8 bits de datos / 1 bit de parada / sin bit de paridad / sin control de flujo.

Escribir:

AT + UART_DEF = 9600, 8, 1, 0, 0

La respuesta debe ser:

OK

El comando anterior cambia la velocidad en baudios de forma permanente a 9600, pero puede elegir cualquiera de las velocidades en baudios estándar.

Paso 7: solución de problemas

Solución de problemas
Solución de problemas
Solución de problemas
Solución de problemas

Si hay alguna anomalía después de flashear exitosamente el firmware, por ejemplo, en Serial Monitor, después de seleccionar la velocidad en baudios predeterminada de 115200 y escribir: AT pero no ve ninguna respuesta o si escribe AT + GMR y recibe alguna otra otro tipo de información que no sea la información de la versión del firmware, es posible que haya actualizado el firmware incorrecto. En ese caso, en el programa Flash Download Tools, después de presionar el botón START para comenzar el procedimiento de flasheo del firmware, el botón verde de estado muestra SYNC y esa es la etapa donde la información del módulo ESP se extrae y se pone a disposición en DETECTED INFO. Esta información es crucial para determinar el firmware correcto y los archivos correctos para actualizar.

Lo siguiente es para mi módulo ESP-01:

vendedor flash:

E0h: N / A flash devID: 4014h QUAD; cristal de 8 Mbit: 26 Mhz

Su INFORMACIÓN DETECTADA dependerá del modelo ESP-01. Pero esto le permitirá deducir el tamaño correcto del flash. En mi ESP, es de 8 Mbit, lo que equivale a 1 MB. Entonces, esto significa que debo elegir 512 KB + 512 KB de los archivos de firmware. Y esto también significa que el firmware 1.7.0 o 1.7.1 no funcionará correctamente para mi módulo ESP, lo que también confirmé al actualizar este firmware y probarlo. Además, en la descripción del firmware 1.7.0 y 1.7.1 en el sitio web oficial de recursos de Espressif, se incluye la siguiente información: "Limitado por el tamaño del archivo bin AT, solo` 1024 + 1024 flash map` es compatible con defecto." 1024 + 1024 significa que es para un módulo ESP con un tamaño flash total de 2048 KB o 2 MB.

Nota: En caso de que se lo pregunte, puede degradar o actualizar entre diferentes versiones de firmware sin restricciones. Si algo sale mal, puede volver a flashear con diferentes parámetros o probar con un firmware diferente.

Recomendado: