Taula de continguts:

Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO: 7 passos
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO: 7 passos

Vídeo: Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO: 7 passos

Vídeo: Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO: 7 passos
Vídeo: Robótica: ESP8266 restauración de fábrica 2024, Desembre
Anonim
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO
Restaurar o actualitzar el microprogramari del mòdul ESP8266 (ESP-01) mitjançant Arduino UNO

El mòdul ESP-01 que feia servir originalment venia amb un microprogramari més antic d’AI Thinker, que limita les seves capacitats, ja que no s’admeten moltes ordres AT útils.

En general, és una bona idea actualitzar el firmware per a la correcció d’errors i, en funció de les funcionalitats necessàries del mòdul ESP, és possible que sigui necessari un conjunt més complet d’ordres AT compatibles. Aquest tutorial també explica com restaurar o fer flash el microprogramari original d'Espressif si es fa malbé el microprogramari ESP, per exemple, mitjançant algunes ordres AT incorrectes. Això és el que va passar quan vaig intentar canviar la velocitat de transmissió per defecte de 115200 a 9600. Vaig utilitzar l'ordre següent (basada en una cerca ràpida a Google):

AT + IPR = 9600

Això va tapiar el mòdul ESP-01. Ja no funcionava cap ordre AT, cosa que em va motivar a fer més investigacions i, després de moltes hores, finalment vaig trobar la manera de restaurar el meu ESP-01 i d’instal·lar el darrer firmware compatible. Per tant, vaig decidir que valia la pena compartir tot el procés.

Precaució: Basat en la meva experiència, us recomanaria que no utilitzeu l'ordre AT + IPR per canviar la vostra velocitat de transmissió, ja que és molt probable que necessiteu tornar a llampar el firmware. Tanmateix, hi ha moltes variants diferents del mòdul ESP-01 amb mida de flaix diferent i versió de firmware de fàbrica, de manera que la vostra experiència pot variar.

El mòdul ESP-01 no compleix 5 V i requereix 3,3 V per alimentar-lo, però també per funcionar correctament a nivell lògic. Per comunicar-se amb l'ordinador, el mòdul també necessita un convertidor USB a sèrie. Per tant, en lloc d’utilitzar un convertidor de tensió i un adaptador USB a sèrie, vaig decidir optar per una solució més senzilla. Com que ja tinc un Arduino UNO, he utilitzat aquest darrer per alimentar el mòdul ESP-01 i establir la comunicació entre l’ESP-01 i l’ordinador, funcionant efectivament com a pont en sèrie.

Subministraments

  1. Mòdul ESP-01
  2. Arduino UNO (amb cable USB)
  3. Cavalls de pont DuPont
  4. Taula de pa

Pas 1: connexions per cable

Connexions per cable
Connexions per cable
Connexions per cable
Connexions per cable
Connexions per cable
Connexions per cable

Les connexions de cable amb el mòdul Arduino UNO i ESP-01 es poden fer fàcilment mitjançant cables jumper i una placa de control. Les connexions entre la placa de desenvolupament Arduino i el mòdul ESP es descriuen a la taula. Les connexions RX i TX no s’inverteixen en aquest cas, ja que la comunicació no s’està produint entre el mòdul Arduino i ESP sinó entre l’ESP i l’ordinador. Per tant, en aquest cas, la placa Arduino UNO s’utilitza com a pont sèrie mitjançant el convertidor USB a sèrie incorporat.

La connexió de pins RX entre la placa Arduino i el mòdul ESP s’hauria de fer mitjançant un divisor de tensió, ja que l’ESP-01 funciona en un nivell lògic de 3,3 V i rebre un nivell lògic de 5 V de l’Arduino UNO podria danyar el mòdul ESP. Podeu construir un simple divisor de voltatge de 3,3 V utilitzant només 2 resistències, tal com es mostra a la figura. Opcionalment, podeu utilitzar un convertidor de nivell lògic.

Atenció: per a la meva configuració, acabo de connectar els pins RX directament (no és recomanable) i tot ha funcionat, però si decidiu renunciar a la conversió de nivell lògic, continueu sota el vostre propi risc.

Per establir una connexió de terra comuna, el pin de terra Arduino UNO està connectat al pin de terra del mòdul ESP.

L’Arduino UNO s’utilitza per proporcionar alimentació de 3,3 V directament al pin VCC del mòdul ESP. Connecteu el pin de 3,3 V a la placa mitjançant un cable de pont, ja que el 3,3 V s’utilitzarà no només per al pin VCC de l’ESP sinó també per al pin CH_PD de l’ESP per habilitar el xip ESP.

El pin RESET de l'Arduino UNO està connectat a terra per evitar qualsevol codi penjat a través d'Arduino de manera que el codi s'enviï des de l'ordinador a l'ESP-01.

La figura de la taula mostra el conjunt complet de connexions per al parpelleig del microprogramari, però en aquesta fase no connecteu els restabliments de l'ESP i els pins GPIO_0, ja que només llegirem la informació del microprogramari al següent pas.

Pas 2: comproveu la versió del microprogramari

Comproveu la versió del microprogramari
Comproveu la versió del microprogramari

Per trobar la versió del microprogramari ESP-01, a Arduino IDE Serial Monitor, escriviu:

AT + GMR

Nota: Cal escriure totes les ordres AT en majúscules sense espais.

Aquí teniu la sortida de sèrie del meu ESP-01 (és possible que el vostre mòdul ESP no mostri exactament la mateixa informació ja que depèn del model específic i de la data de llançament):

AT + GMR

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

Ara, per actualitzar al darrer firmware oficial d’Espressif ESP8266EX, aneu a la secció de recursos del seu lloc web:

Nota: És possible que la llista de firmware disponible no sigui compatible amb el vostre model ESP-01. Consulteu la secció de resolució de problemes al final d’aquest tutorial per obtenir més informació.

Pas 3: Preparació de la configuració: abans que el firmware no parpellegi

Preparació de la configuració: abans que el firmware no parpellegi
Preparació de la configuració: abans que el firmware no parpellegi

Ara, prepararem l’Arduino UNO per al procediment de parpelleig del firmware ESP-01.

Assegureu-vos que el cable RESET Arduino està desconnectat de terra. A més, els cables TX i RX de l’Arduino UNO han de desconnectar-se del mòdul ESP-01.

Obriu Arduino IDE i, al menú superior, aneu a Fitxer> Exemples> 01. Fonaments> BareMinimum. Pengeu l'esbós a Arduino UNO. Aquest esbós en blanc assegurarà que no es produeixi cap interferència de comunicació amb el mòdul ESP.

Torneu a connectar els cables RX i TX entre UNO i ESP-01. A més, connecteu el pin RESET de l’ONU a terra.

El pin CH_PD o CH_EN significa "Apagat de xip" o "Activació de xip" i s'ha de treure ALT o connectar-lo a 3,3 V per habilitar el xip ESP.

Es necessiten dos cables de pont addicionals per als següents pins ESP: GPIO_0 i RESET.

GPIO_2 no s'utilitza i es deixa desconnectat.

Cal configurar l’ESP-01 en mode de programació perquè es pugui penjar codi al mateix. Però l'ESP-01 no disposa del maquinari addicional necessari per aconseguir-ho directament, de manera que cal connectar-lo per separat. Per al meu propi ús, no em vaig molestar a utilitzar commutadors, sinó que vaig utilitzar simplement dos cables de pont masculí-femella connectats als pins GPIO_0 i RESET del mòdul ESP-01 i els vaig connectar als pins de terra comuns de la placa des de la terra d’Arduino UNO.

Abans d'iniciar el procediment de parpelleig, GPIO_0 està connectat a terra durant tot el procediment de parpelleig per habilitar el mode de programació.

El pin RESET es connecta a terra durant un segon i després es treu. Això permet carregar el nou firmware.

Pas 4: descarregueu l'eina intermitent i el microprogramari

Descarregueu Flashing Tool i Firmware
Descarregueu Flashing Tool i Firmware

El firmware utilitzat prové d’Espressif, que és el fabricant original del xip ESP8266.

Aneu a: https://www.espressif.com/en/products/hardware/esp8266ex/resources per accedir a les eines oficials i als fitxers de firmware AT.

A la pestanya "Eines", descarregueu les eines de descàrrega de Flash (ESP8266 i ESP32), actualment l'última és V3.6.8.

A la pestanya "AT", descarregueu el darrer firmware compatible amb AT, que és ESP8266 AT Bin V1.6.2 per al meu model ESP-01. Depèn del model ESP-01, ja que pot tenir una mida de memòria flash diferent. Trobareu més informació al respecte a la secció INFORMACIÓ DETECTADA del programa Eines de descàrrega de Flash després de fer clic a INICI per iniciar el procediment de parpelleig. Per tant, si no esteu segur de la mida del flaix ni dels fitxers de firmware que heu de seleccionar, només cal que executeu el programa per obtenir la informació correcta sobre el vostre mòdul ESP.

Després de parpellejar, podeu utilitzar les ordres AT per provar i treballar amb l'ESP-01. Descarregueu el conjunt d'instruccions ESP8266 AT oficial:

Pas 5: procediment intermitent

Procediment intermitent
Procediment intermitent
Procediment intermitent
Procediment intermitent
Procediment intermitent
Procediment intermitent
Procediment intermitent
Procediment intermitent

Extraieu el fitxer zip de Flash Download Tools i obriu el fitxer exe. Assegureu-vos d'executar-lo com a administrador si utilitzeu Windows. Primer s’obrirà una finestra DOS, seguida d’una finestra emergent. Seleccioneu l'eina de descàrrega ESP8266. Això obrirà una finestra amb diverses opcions configurables.

En aquesta etapa, consulteu la captura de pantalla per veure exactament quines opcions seleccionar i què escriure als quadres de codi hexadecimal al costat de cadascun dels fitxers de firmware seleccionats.

Nota: Seleccioneu els fitxers de microprogramari en el mateix ordre, ja que el procediment de flash es fa de manera seqüencial. Cal seleccionar el fitxer blank.bin tres vegades tal com es mostra a la captura de pantalla del conjunt d’instruccions AT.

Per trobar els codis o adreces hexadecimals correctes, consulteu el document oficial del conjunt d'instruccions AT. He adjuntat una captura de pantalla de la taula que he utilitzat per llampegar el mòdul ESP.

A continuació, només cal prémer el botó INICI i veure com passa la màgia. El text del botó mostrarà SYNC i la secció DETECTED INFO mostrarà les especificacions del vostre mòdul ESP. A continuació, el text mostrarà DESCÀRREGA i la barra de progrés s’activarà a mesura que es carregaran els fitxers de firmware a la memòria flash ESP. Un cop fet el procediment de parpelleig del firmware, veureu: FINALITZAR.

Tanqueu el programa Flash Download Tools. Això és necessari per alliberar el port sèrie per permetre que Arduino IDE Serial Monitor es faci càrrec.

Desconnecteu el pin ESP GPIO_0 de la connexió de terra. Això desactivarà el mode de programació.

Connecteu RESET a terra durant 1 segon i després desconnecteu-lo. Això restablirà el mòdul.

Obriu Arduino IDE. Al menú superior, seleccioneu Eines> Port> seleccioneu el port COM correcte. Obriu el monitor sèrie i trieu "Tant NL com CR" i seleccioneu la velocitat en bauds de 115200, que és la predeterminada.

Tipus:

AT

Si el procediment de parpelleig ha anat correctament, la resposta serà:

D'acord

Per verificar el nou microprogramari, escriviu:

AT + GMR

Aquí teniu la sortida del monitor sèrie del meu ESP-01:

AT + GMR

Versió AT: 1.6.2.0 (13 d'abril de 2018 11:10:59) Versió de l'SDK: 2.2.1 (6ab97e9) temps de compilació: 7 de juny de 2018 19:34:26 Versió de la paperera (Wroom 02): 1.6.2 OK

Pas 6: canvieu la velocitat de transmissió permanentment

Canvieu la velocitat de transmissió permanentment
Canvieu la velocitat de transmissió permanentment

Aquesta part és opcional. La velocitat de transmissió per defecte és 115200, però si voleu canviar-la a una altra velocitat de transmissió, simplement podeu escriure l’ordre següent al monitor sèrie Arduino.

Per exemple, si voleu canviar a 9600 baud rate / 8 bits de dades / 1 bits d'aturada / sense bit de paritat / sense control de flux.

Escriure:

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

La resposta ha de ser:

D'acord

L'ordre anterior canvia la velocitat de transmissió permanentment a 9600, però podeu triar qualsevol de les velocitats de transmissió estàndard.

Pas 7: resolució de problemes

Resolució de problemes
Resolució de problemes
Resolució de problemes
Resolució de problemes

Si hi ha alguna anomalia després de parpellejar amb èxit el firmware, per exemple, al monitor sèrie, després de seleccionar la velocitat de transmissió per defecte de 115200 i escriure: AT però no veieu cap resposta o si escriviu AT + GMR i en rebeu alguna altra un tipus d’informació diferent de la informació de la versió del microprogramari, és possible que hagueu flashjat el microprogramari incorrecte. En aquest cas, al programa Flash Download Tools, després de prémer el botó INICI per iniciar el procediment de parpelleig del microprogramari, el botó verd d’estat diu SYNC i és l’etapa on s’extreu la informació del mòdul ESP i es posa a disposició d’INFO DETECTADA. Aquesta informació és crucial per determinar el microprogramari adequat i els fitxers correctes per fer flash.

El següent és per al meu mòdul ESP-01:

proveïdor de flash:

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

La vostra informació DETECTADA dependrà del model ESP-01. Però això us permetrà deduir la mida del flaix correcta. A la meva ESP, és de 8 Mb, que equival a 1 MB. Per tant, això significa que hauria de triar 512 KB + 512 KB entre els fitxers de firmware. I això també significa que el microprogramari 1.7.0 o 1.7.1 no funcionarà correctament per al meu mòdul ESP, cosa que també he confirmat fent un parpelleig d’aquest microprogramari i provant-ho. A més, a la descripció del microprogramari 1.7.0 i 1.7.1 al lloc web oficial de recursos d'Espressif, es mostra la informació següent: "Limitat per la mida del fitxer AT bin, només és compatible amb` 1024 + 1024 flash map ' per defecte. " 1024 + 1024 significa que és per a un mòdul ESP amb una mida total de flaix de 2048 KB o 2 MB.

Nota: En cas que us ho pregunteu, podeu actualitzar o actualitzar versions diferents de firmware sense restriccions. Si alguna cosa surt malament, podeu tornar a parpellejar amb paràmetres diferents o provar un altre microprogramari.

Recomanat: