Sommario:

Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO: 7 passaggi
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO: 7 passaggi

Video: Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO: 7 passaggi

Video: Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO: 7 passaggi
Video: ESP-01 ESP8266 WiFi IOT Flashing Firmware Update Ai Thinker (512kBytes/4Mbits) Tutorial 1 2024, Novembre
Anonim
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO
Ripristina o aggiorna il firmware sul modulo ESP8266 (ESP-01) utilizzando Arduino UNO

Il modulo ESP-01 che ho usato originariamente era dotato di firmware AI Thinker precedente, che limita le sue capacità poiché molti comandi AT utili non sono supportati.

In genere è una buona idea aggiornare il firmware per correzioni di bug e, inoltre, a seconda delle funzionalità necessarie dal modulo ESP, potrebbe essere necessario un set più completo di comandi AT supportati. Questo tutorial spiega anche come ripristinare o eseguire il flashing del firmware Espressif originale se ti capita di rovinare il firmware ESP, ad esempio, attraverso alcuni comandi AT errati. Questo è quello che è successo quando ho provato a cambiare la velocità di trasmissione predefinita da 115200 a 9600. Ho usato il seguente comando (basato su una rapida ricerca su Google):

AT+IPR=9600

Questo ha murato il modulo ESP-01. Nessun comando AT funzionava più, il che mi ha spinto a fare ulteriori ricerche e dopo molte ore ho finalmente trovato un modo per ripristinare il mio ESP-01 e installare l'ultimo firmware compatibile. Quindi, ho deciso che valeva la pena condividere l'intero processo.

Attenzione: in base alla mia esperienza, consiglio vivamente di non utilizzare il comando AT+IPR per modificare la velocità di trasmissione poiché molto probabilmente richiederà di eseguire nuovamente il flash del firmware. Tuttavia, esistono molte varianti diverse del modulo ESP-01 con diverse dimensioni del flash e versione del firmware di fabbrica, quindi la tua esperienza potrebbe variare.

Il modulo ESP-01 non è conforme a 5 V e richiede 3,3 V per alimentarlo ma anche per funzionare correttamente a livello logico. Per comunicare con il computer, il modulo necessita inoltre di un convertitore da USB a seriale. Quindi, invece di utilizzare un convertitore di tensione e un adattatore da USB a seriale, ho deciso di optare per una soluzione più semplice. Dato che ho già un Arduino UNO, ho usato quest'ultimo per alimentare il modulo ESP-01 e stabilire la comunicazione tra ESP-01 e il computer, operando efficacemente come un ponte seriale.

Forniture

  1. Modulo ESP-01
  2. Arduino UNO (con cavo USB)
  3. Ponticelli DuPont fili
  4. tagliere

Passaggio 1: collegamenti dei cavi

Collegamenti dei cavi
Collegamenti dei cavi
Collegamenti dei cavi
Collegamenti dei cavi
Collegamenti dei cavi
Collegamenti dei cavi

I collegamenti dei cavi con il modulo Arduino UNO e ESP-01 possono essere realizzati facilmente utilizzando cavi jumper e una breadboard. Le connessioni tra la scheda di sviluppo Arduino e il modulo ESP sono descritte nella tabella. Le connessioni RX e TX in questo caso non sono invertite, poiché la comunicazione non avviene tra il modulo Arduino e l'ESP ma tra l'ESP e il computer. Quindi, in questo caso, la scheda Arduino UNO viene utilizzata come bridge seriale tramite il convertitore da USB a seriale integrato.

La connessione dei pin RX tra la scheda Arduino e il modulo ESP deve essere effettuata tramite un partitore di tensione, poiché ESP-01 funziona a livello logico 3,3 V e ricevere un livello logico 5 V dall'Arduino UNO potrebbe danneggiare il modulo ESP. È possibile costruire un semplice partitore di tensione da 3,3 V utilizzando solo 2 resistori come mostrato in figura. Facoltativamente, è possibile utilizzare un convertitore di livello logico.

Attenzione: per la mia configurazione, ho appena cablato direttamente i pin RX (non consigliabile!) e tutto ha funzionato, ma se decidi di rinunciare alla conversione del livello logico, procedi a tuo rischio e pericolo!

Per stabilire una connessione di terra comune, il pin di terra di Arduino UNO è collegato al pin di terra del modulo ESP.

L'Arduino UNO viene utilizzato per fornire alimentazione a 3,3 V direttamente al pin VCC del modulo ESP. Collegare il pin da 3,3 V alla breadboard utilizzando un ponticello, poiché i 3,3 V verranno utilizzati non solo per il pin VCC dell'ESP, ma anche per il pin CH_PD dell'ESP per abilitare il chip ESP.

Il pin RESET su Arduino UNO è collegato a Ground per bypassare qualsiasi codice caricato tramite Arduino in modo che il codice venga invece inviato dal computer all'ESP-01.

La figura della tabella mostra il set completo di connessioni per il flashing del firmware, ma in questa fase, non collegare i pin di reset e GPIO_0 di ESP poiché leggeremo solo le informazioni del firmware nel passaggio successivo.

Passaggio 2: verifica la versione del firmware

Controlla la versione del firmware
Controlla la versione del firmware

Per trovare la versione del firmware ESP-01, nel monitor seriale IDE Arduino, digitare:

AT+GMR

Nota: tutti i comandi AT devono essere digitati in maiuscolo senza spazi.

Ecco l'output seriale per il mio ESP-01 (il tuo modulo ESP potrebbe non mostrare esattamente le stesse informazioni in quanto dipende dal modello specifico e dalla data di rilascio):

AT+GMR

Versione AT:0.25.0.0 (5 giugno 2015 16:27:16) Versione SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 giugno 2015 23:23:50 OK

Ora, per aggiornare all'ultimo firmware ufficiale Espressif ESP8266EX, vai alla sezione delle risorse del suo sito Web:

Nota: l'elenco dei firmware disponibili potrebbe non essere compatibile con il tuo modello ESP-01. Controlla la sezione Risoluzione dei problemi alla fine di questo tutorial per ulteriori informazioni.

Passaggio 3: preparazione dell'installazione: prima dell'aggiornamento del firmware

Preparazione della configurazione: prima del flashing del firmware
Preparazione della configurazione: prima del flashing del firmware

Ora prepareremo Arduino UNO per la procedura di flashing del firmware ESP-01.

Assicurati che il filo di Arduino RESET sia scollegato da Ground. Inoltre, i cavi TX e RX dell'Arduino UNO devono essere scollegati dal modulo ESP-01.

Apri Arduino IDE e dal menu in alto, vai su File> Esempi> 01. Basics> BareMinimum. Carica lo schizzo su Arduino UNO. Questo schizzo vuoto garantirà che non si verifichino interferenze di comunicazione con il modulo ESP.

Ricollegare i cavi RX e TX tra UNO ed ESP-01. Inoltre, collegare il pin RESET dell'UNO a Ground.

Il pin CH_PD o CH_EN sta per 'Chip Power-Down' o 'Chip Enable' e deve essere posizionato su HIGH o collegato a 3,3 V per abilitare il chip ESP.

Sono necessari due cavi jumper aggiuntivi per i seguenti pin ESP: GPIO_0 e RESET.

GPIO_2 non viene utilizzato e lasciato disconnesso.

L'ESP-01 deve essere impostato in modalità di programmazione in modo che il codice possa essere caricato su di esso. Ma l'ESP-01 non ha l'hardware aggiuntivo a bordo necessario per raggiungere questo obiettivo direttamente, quindi tutto deve essere collegato separatamente. Per uso personale, non mi sono preoccupato di usare gli interruttori, ma ho semplicemente usato due cavi jumper maschio-femmina collegati ai pin GPIO_0 e RESET del modulo ESP-01 e li ho collegati ai pin di terra comuni della breadboard dal Ground di Arduino UNO.

Prima di iniziare la procedura di lampeggio, GPIO_0 viene collegato a Ground per l'intera procedura di lampeggio per abilitare la modalità di programmazione.

Il pin RESET viene collegato a massa per un secondo e poi rimosso. Ciò consente di caricare il nuovo firmware.

Passaggio 4: scarica lo strumento lampeggiante e il firmware

Scarica lo strumento lampeggiante e il firmware
Scarica lo strumento lampeggiante e il firmware

Il firmware utilizzato è di Espressif, il produttore originale del chip ESP8266.

Vai a: https://www.espressif.com/en/products/hardware/esp8266ex/resources per accedere agli strumenti ufficiali e ai file del firmware AT.

Nella scheda "Strumenti", scarica gli strumenti di download di Flash (ESP8266 e ESP32), attualmente l'ultimo è V3.6.8.

Nella scheda "AT", scarica l'ultimo firmware AT compatibile, che è ESP8266 AT Bin V1.6.2 per il mio modello ESP-01. Dipende dal modello ESP-01 poiché può avere dimensioni di memoria flash diverse. Troverai maggiori informazioni a riguardo nella sezione INFO RILEVATE del programma Flash Download Tools dopo aver cliccato su START per iniziare la procedura di flashing. Quindi, se non sei sicuro delle dimensioni del flash o dei file del firmware da selezionare, esegui semplicemente il programma per ottenere le informazioni corrette sul tuo modulo ESP.

Dopo aver lampeggiato, puoi utilizzare i comandi AT per testare e lavorare con ESP-01. Scarica il set di istruzioni AT ESP8266 ufficiale:

Passaggio 5: procedura di lampeggio

Procedura di lampeggio
Procedura di lampeggio
Procedura di lampeggio
Procedura di lampeggio
Procedura di lampeggio
Procedura di lampeggio
Procedura di lampeggio
Procedura di lampeggio

Estrai il file zip di Flash Download Tools e apri il file exe. Assicurati di eseguirlo come amministratore se stai usando Windows. Si aprirà prima una finestra DOS, seguita da una finestra pop-up. Seleziona lo strumento di download di ESP8266. Si aprirà una finestra con diverse opzioni configurabili.

In questa fase, fare riferimento allo screenshot per vedere esattamente quali opzioni selezionare e cosa digitare nelle caselle del codice esadecimale accanto a ciascuno dei file del firmware selezionati.

Nota: selezionare i file del firmware nello stesso ordine poiché la procedura di flash viene eseguita in sequenza. Il file blank.bin deve essere selezionato tre volte come mostrato nella schermata del set di istruzioni AT.

Per trovare i codici esadecimali o gli indirizzi corretti, controllare il documento ufficiale del set di istruzioni AT. Ho allegato uno screenshot della tabella che ho usato per lampeggiare il mio modulo ESP.

Quindi, premi semplicemente il pulsante START e guarda la magia accadere. Il testo del pulsante mostrerà SYNC e la sezione DETECTED INFO mostrerà le specifiche del tuo modulo ESP. Quindi, il testo mostrerà DOWNLOAD e la barra di avanzamento si attiverà mentre i file del firmware vengono caricati nella memoria flash ESP. Al termine della procedura di flashing del firmware, vedrai: FINISH.

Chiudi il programma Flash Download Tools. Ciò è necessario per liberare la porta seriale per consentire al monitor seriale IDE di Arduino di prendere il sopravvento.

Scollegare il pin ESP GPIO_0 dalla connessione Ground. Questo disabiliterà la modalità di programmazione.

Connettere RESET a terra per 1 secondo e poi disconnettersi. Questo ripristinerà il modulo.

Apri Arduino IDE. Dal menu in alto, seleziona Strumenti > Porta > seleziona la porta COM corretta. Apri Serial Monitor e scegli "Both NL & CR" e seleziona la velocità di trasmissione di 115200 che è quella predefinita.

Tipo:

A

Se la procedura di lampeggio è andata a buon fine, la risposta sarà:

ok

Per verificare il tuo nuovo firmware, digita:

AT+GMR

Ecco l'output del monitor seriale per il mio ESP-01:

AT+GMR

Versione AT: 1.6.2.0 (13 aprile 2018 11:10:59) Versione SDK: 2.2.1 (6ab97e9) ora di compilazione: 7 giugno 2018 19:34:26 Versione Bin (Wroom 02): 1.6.2 OK

Passaggio 6: modificare la velocità di trasmissione in modo permanente

Modificare la velocità di trasmissione in modo permanente
Modificare la velocità di trasmissione in modo permanente

Questa parte è facoltativa. La velocità di trasmissione predefinita è 115200, ma se si desidera cambiarla in un'altra velocità di trasmissione, è sufficiente digitare il seguente comando nel monitor seriale di Arduino.

Ad esempio, se si desidera passare a 9600 baud rate / 8 bit di dati / 1 bit di stop / nessun bit di parità / nessun controllo di flusso.

Digitare:

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

La risposta dovrebbe essere:

ok

Il comando sopra cambia la velocità di trasmissione in modo permanente a 9600 ma puoi scegliere una qualsiasi delle velocità di trasmissione standard.

Passaggio 7: risoluzione dei problemi

Risoluzione dei problemi
Risoluzione dei problemi
Risoluzione dei problemi
Risoluzione dei problemi

In caso di anomalie dopo il corretto flashing del firmware, ad esempio nel Serial Monitor, dopo aver selezionato il baud rate predefinito di 115200 e digitare: AT ma non si vede alcuna risposta o se si digita AT+GMR e si riceve qualche altro tipo di informazioni diverse dalle informazioni sulla versione del firmware, potresti aver lampeggiato il firmware sbagliato. In tal caso, nel programma Flash Download Tools, dopo aver premuto il pulsante START per iniziare la procedura di flashing del firmware, il pulsante di stato verde legge SYNC ed è la fase in cui le informazioni del modulo ESP vengono estratte e rese disponibili sotto DETECTED INFO. Queste informazioni sono fondamentali per determinare il firmware corretto e i file corretti da flashare.

Quanto segue è per il mio modulo ESP-01:

venditore flash:

E0h: N/A flash devID: 4014h QUAD; 8 Mbit di cristallo: 26 Mhz

Le tue INFO RILEVATE dipenderanno dal modello ESP-01. Ma questo ti permetterà di dedurre la dimensione corretta del flash. Nel mio ESP, è 8Mbit che equivale a 1 MB. Quindi, questo significa che dovrei scegliere 512 KB + 512 KB dai file del firmware. E questo significa anche che il firmware 1.7.0 o 1.7.1 non funzionerà correttamente per il mio modulo ESP, cosa che ho anche confermato lampeggiando questi firmware e testando. Inoltre, nella descrizione del firmware 1.7.0 e 1.7.1 sul sito Web ufficiale delle risorse Espressif, sono elencate le seguenti informazioni: "Limitato dalla dimensione del file bin AT, solo `1024+1024 flash map` è supportato da predefinito." 1024+1024 significa che è per un modulo ESP con una dimensione flash totale di 2048 KB o 2 MB.

Nota: nel caso ve lo stiate chiedendo, è possibile eseguire il downgrade o l'aggiornamento tra diverse versioni del firmware senza alcuna restrizione. Se qualcosa va storto, puoi semplicemente eseguire nuovamente il flash con parametri diversi o provare un firmware diverso.

Consigliato: