Sommario:

Collega Arduino Uno con ESP8266: 9 passaggi
Collega Arduino Uno con ESP8266: 9 passaggi

Video: Collega Arduino Uno con ESP8266: 9 passaggi

Video: Collega Arduino Uno con ESP8266: 9 passaggi
Video: ESP8266 ESP01 WI-FI-UART | Программирование LDmicro-Roboremo 2024, Dicembre
Anonim
Collega Arduino Uno con ESP8266
Collega Arduino Uno con ESP8266

Accoglienza! Stai per leggere una guida passo passo su come connettere correttamente il tuo Arduino Uno a Internet con ESP8266 (ESP-01). È anche il mio primo Instructable in assoluto, quindi nudo con me per favore!

Vorrei iniziare dicendo che l'ESP8266 è un hardware minuscolo e a basso prezzo che, se programmato correttamente, può aprire un mondo enorme, specialmente quello IOT. Improvvisamente tutti i tuoi progetti possono essere attivati attraverso il web, che sia attraverso il tuo telefono o pc, con un clic di un pulsante. Le possibilità sono infinite e in qualche modo mi entusiasma davvero. Sfortunatamente non è sempre un processo facile e molto probabilmente incontrerai problemi che io non ho. In ogni caso, farò del mio meglio per rispondere alle domande e per menzionare ogni problema che ho riscontrato!

Aggiornamento 2020: di recente ho dovuto aggiornare un nuovo ESP8266 e ho utilizzato questo articolo come guida personale su come farlo. Mi sono subito reso conto che alcuni link che avevo fornito erano obsoleti/non funzionavano, quindi ho provato a sostituirli di nuovo. In tal modo, ho scoperto che esiste un nuovo software lampeggiante per ESP8266, nonché alcuni firmware ben documentati e aggiornati. Ho fatto del mio meglio per aggiornare l'ESP all'ultimo firmware possibile, ma senza alcun successo. Il nuovo lampeggiatore è più sofisticato, ma allo stesso tempo più complicato. Sono disponibili molti più download di firmware (il che è sorprendente), ma allo stesso tempo gli utenti non hanno idea di quale scaricare. Tecnicamente, tutto questo suona davvero bene e l'ESP ha finalmente un supporto e una documentazione "ufficiali", ma allo stesso tempo è diventato molto più complicato. Dopo circa 4 ore di ricerca e alcuni tentativi ed errori, ho deciso di rinunciare e utilizzare semplicemente lo stesso flasher e file che ho usato in questo articolo. Ho aggiornato i link e ora li ospito io stesso, quindi finché non sbaglio, saranno online per sempre. Se desideri leggere un po' di più su queste nuove aggiunte dalla community, passa all'ultimo passaggio di questo Instructable in cui ho pubblicato alcuni link extra.

Passaggio 1: hardware

Hardware
Hardware

Aggiornamento 2020: ho trovato un video di YouTube che si collega effettivamente all'ESP senza saldare nulla e senza adattatori!

Va bene, quindi questa è una parte un po' complicata poiché ci sono molti modi per comunicare con ESP6288. Ho cercato di trovare il modo più semplice possibile e mi dispiace dirtelo, ma non credo che sarai in grado di caricare correttamente il codice sull'ESP senza saldare un piccolo interruttore o alcuni pulsanti … Alla fine ho utilizzato il seguente hardware:

  1. Arduino Uno
  2. ESP8266 (ESP-01)
  3. Adattatore USB ESP8266
  4. Adattatore ESP-01
  5. Passa all'adattatore USB
  6. 4 ponticelli femmina-maschio
  7. Cavo USB per collegare Arduino e PC

Come vedi, non sono così costosi e non c'è bisogno di usare una breadboard né tutti quegli strani resistori e cose del genere. Sono tutti semplici adattatori e cablaggi.

Ovviamente, avrai bisogno di un Arduino e di ESP8266. Ma poi servono anche due adattatori per l'ESP:

  • Uno per poterlo programmare (numero 3 della lista). Questo è anche l'adattatore che avrà la nostra modifica con un interruttore.
  • Un secondo adattatore in modo da non uccidere l'ESP collegandolo all'Arduino (numero 4 nell'elenco). Poiché l'ESP esegue 3,3 V, 5 V da Arduino lo uccideranno. E i 3,3 V di Arduino non sono abbastanza potenti.

Infine sono necessari anche dei cavi jumper e un cavo USB per collegare l'Arduino al PC.

Passaggio 2: saldatura di un interruttore all'adattatore USB

Saldatura di un interruttore all'adattatore USB
Saldatura di un interruttore all'adattatore USB
Saldatura di un interruttore all'adattatore USB
Saldatura di un interruttore all'adattatore USB

Sfortunatamente, per programmare l'ESP, avrai bisogno di un modo per connettere il suo pin GND e il pin GPIO0. Sono riuscito a saldare un piccolo interruttore che ti permette di scegliere se vuoi essere in "Modalità programma" o meno. Il seguente video di Youtube ti aiuterà in questo compito, ti consiglio vivamente di guardarlo, poiché ti dice anche qualcosa sul software e sul perché devi collegare Ground e GPIO 0.

In breve, questo è quello che ho fatto:

  • Taglia una delle gambe esterne dell'interruttore, può essere quella destra o quella sinistra
  • Capovolgere l'adattatore USB e saldare le due gambe dell'interruttore al pin GND e al pin GPIO0. Fare attenzione a non collegare altri pin in quanto potrebbe non funzionare in seguito.
  • Metti alla prova il tuo interruttore con un multimetro

Ancora una volta, in caso di dubbio, controlla il link Youtube sopra.

Inoltre, l'immagine sopra ha l'interruttore sulla "Modalità programma". Nel caso in cui tu abbia saldato esattamente gli stessi pin dell'interruttore che ho io, ora sai da che parte è la "Modalità programma".

E se non ti piacciono gli interruttori, ecco un tutorial con i pulsanti.

Passaggio 3: software

Per coloro che sono solo alla ricerca di collegamenti, eccoli qui.

ESP8266:

  • lampeggiante
  • Firmware (sono abbastanza sicuro che questa sarà l'ultima versione, dal momento che non è stata aggiornata da dicembre 2016)

Arduino Uno:

  • Arduino IDE
  • URL Board Manager (anche questo non cambierà, è sempre lo stesso link)

E per coloro che non hanno idea di cosa significhino quei collegamenti, lascia che ti guidi!

  1. Il primo passo è installare l'IDE Arduino. Dovrebbe essere abbastanza semplice… Premi avanti avanti ecc. e il gioco è fatto.
  2. Il prossimo passo è la configurazione dell'IDE in modo da poter programmare il tuo ESP. Per fare ciò, dovrai andare su File -> Preferenze e in basso sotto URL di Gestione schede aggiuntive: incollare il seguente URL.
  3. Quindi vai a strumenti -> Board -> Boards Manager e scorri fino in fondo fino a trovarne uno chiamato esp8266 e premi installa. Ultima versione per favore. Al termine dell'installazione, riavvia l'IDE.
  4. Ora vai a scaricare sia il flasher che il firmware per l'ESP. Crea una cartella sul desktop chiamata "Flasher" e decomprimi entrambi i file scaricati al suo interno. Ci serviranno più tardi.

Fantastico, in questo momento dovresti avere tutto il software necessario per programmare l'ESP!

Passaggio 4: test dell'ESP

Il prossimo è il tuo primo collegamento con l'ESP. Questa parte è un po' complicata e ciò che ha funzionato per me potrebbe non funzionare per te… Speriamo per il meglio.

Iniziamo caricando uno schizzo predefinito che fa lampeggiare un LED blu sull'ESP. Perché funzioni, avrai bisogno di quanto segue:

  • Un adattatore USB modificato per l'ESP, quindi puoi impostarlo su "Modalità programma". Passaggio 2 di questo Instructable.
  • Scopri a quale porta USB (porta COM) sarà collegato il tuo ESP.

Se non conosci la porta COM, non preoccuparti. È facile scoprirlo. Apri il tuo IDE e fai clic su Strumenti -> Porta e prendi nota delle porte elencate. Successivamente, inserisci l'adattatore USB e controlla nuovamente le porte elencate. La nuova è la porta COM che stai cercando!

PS: sono un utente di Windows. Se ricordo bene, i Mac non le chiamano porte COM. Ad ogni modo, dovrebbe ancora funzionare!

Quindi, ora che conosci la tua porta, sentiti libero di collegare il tuo adattatore USB! Dovrebbe essere in "Modalità programma", in altre parole, GND e GPIO0 dovrebbero essere collegati. Apri l'IDE e vai su Strumenti -> Scheda e scegli il modulo ESP8266 generico. Quindi, in Strumenti assicurati di avere le seguenti impostazioni:

  • Scheda: "Modulo generico ESP8266"
  • Porta: la tua porta COM

Infine, vai su File -> Esempi -> ESP8266 -> Blink e fai clic sul piccolo segno di spunta nell'angolo in alto a sinistra dell'IDE. Questo verificherà il tuo codice e ti dirà se c'è qualcosa che non va. Ti consiglio vivamente di farlo ogni volta prima di caricare uno schizzo sull'ESP o su Arduino! In caso di successo, vedrai un "Compilazione completata". testo. L'unica cosa rimasta ora è fare clic sull'icona "freccia destra" in alto a sinistra dell'IDE per caricare il codice. Se tutto è impostato correttamente, dovresti vederlo caricare e alla fine finire. Dai un'occhiata al tuo ESP, dovrebbe avere un LED lampeggiante! Congratulazioni, hai appena caricato il tuo primo programma sul tuo ESP!

Nel caso in cui tu abbia riscontrato un errore, non preoccuparti. Probabilmente l'interruttore non era sul lato destro. Scollega l'adattatore USB e "cambia l'interruttore", ricollegalo e ripeti il processo. Se funziona, sai che questo è il lato "Modalità programma"! Se ancora non funziona, buona fortuna. Questo è quello che intendevo con "ciò che ha funzionato per me potrebbe non funzionare per te"… Posta domande/problemi nei commenti e farò del mio meglio per aiutarti!

PS: sentiti libero di provare altri esempi! Forse il File -> Esempi -> ESP8266Wifi -> WifiScan. Dopo il caricamento, apri Strumenti -> Serial Monitor e attendi qualche secondo. Se non viene visualizzato nulla, impostare il Baud rate su 9600 o 115200. E utilizzare "Both NL & CR". Maggiori informazioni su questo più avanti in questo articolo, quindi non preoccuparti se non hai ricevuto alcuna risposta!

Passaggio 5: testare i comandi AT

Prova i comandi AT
Prova i comandi AT

Chiamo questo passaggio facoltativo perché all'inizio nessuno di tutti i comandi AT funzionava per me. Anche se ero sicuro che l'ESP funzionasse bene perché ha lampeggiato con lo schizzo precedente e sono anche riuscito a cercare il Wifi. Ma ogni volta che provavo a parlargli tramite i comandi AT non ottenevo mai una risposta. Ad ogni modo, ti mostrerò i passaggi che ho fatto per poterci parlare. Se non funziona, vai al passaggio successivo.

Collega il tuo ESP all'adattatore USB e collegalo al PC. Assicurati che non sia in "Modalità programma"! Vai su Strumenti e cambia la scheda in Modulo ESP8266 generico. Assicurati che sia selezionata la porta corretta, quindi apri il monitor seriale (Ctrl + Maiusc + M) e imposta le seguenti impostazioni:

  • Sia NL che CR
  • 115200 Baud

Se tutto è corretto, prova a digitare "AT" nella barra in alto e premi invio. Dovresti ricevere un "OK" indietro. Se ottieni un "OK", allora santo cielo sei appena riuscito a connetterti con il tuo ESP e puoi essere sia orgoglioso che felice! Quindi digita "AT + GMR" per ottenere maggiori informazioni sul tuo ESP. Nel caso in cui la versione dell'SDK sia 1.54, puoi anche saltare il passaggio "Flashing dell'ultimo firmware" poiché lo hai già.

Nel caso in cui non avessi ricevuto una risposta, sentiti libero di riprovare e/o modificare il Baud rate. Ti consiglio di non "perdere" troppo tempo con questo, poiché sai che il tuo ESP funziona grazie al passaggio 4.

PS: se l'IDE vuole che tu salvi lo schizzo prima di verificarlo/caricarlo, non salvarlo. Ho avuto alcuni problemi con il salvataggio dei file e il monitor seriale non funzionava. Non sono ancora sicuro del perché, devo fare altri test, ma ti consiglio di non salvare i tuoi schizzi.

Passaggio 6: aggiornamento del firmware più recente

Aggiornamento del firmware più recente
Aggiornamento del firmware più recente

Anche se il passaggio precedente non ha funzionato per te, prova ad aggiornare il firmware con questo passaggio, forse lo risolverà!

Ora che sai come programmare il tuo ESP, è ora di aggiornare il firmware! Inizia collegando il tuo ESP all'adattatore USB e quindi selezionando la scheda e la porta corrette. Non dimenticare di metterlo in "Modalità programma", altrimenti il lampeggio non funzionerà!

Successivamente, dovrai aprire la cartella che hai creato nel "Passaggio 2: Software" ricordi? Con il flasher e il file.bin. Aprilo ed esegui esp8266_flasher.exe. Se ti vengono richiesti i diritti di amministratore, rispondi di sì. Ora è anche un buon momento per chiudere l'IDE, solo per assicurarti che nulla interferisca. Fare clic sul pulsante Bin e selezionare un file denominato "AiThinker_ESP8266_DIO_8M_8M_20160615_V1.5.4.bin". Assicurati che la tua porta sia quella giusta, che la finestra successiva sia impostata su 0x00000 e che il tuo ESP sia in "Modalità programma" e fai clic su Download. Dovrebbe iniziare a caricare il firmware sul tuo ESP e il LED blu dovrebbe lampeggiare. Aspetta un po' finché non è finito.

Al termine, verrai ricompensato con un errore "Impossibile uscire dalla modalità Flash", il che va bene. Ignoralo e chiudi il lampeggiatore. Hai appena aggiornato il firmware del tuo ESP! Bello.

In caso di errori, di nuovo: assicurati che la tua porta sia quella giusta, che la finestra successiva sia impostata su 0x00000 e che il tuo ESP sia in "Modalità programma"! Se ancora non funziona, direi che il tuo interruttore non funziona correttamente.

Infine, potresti provare a parlare con il tuo ESP tramite AT ora, dai un'occhiata al passaggio "Test AT Commands". Se ancora non funziona, non preoccuparti. Vai avanti e carica di nuovo l'esempio di Blink per assicurarti di non aver rotto il tuo ESP. Se funziona, sei ancora a posto!

Passaggio 7: collegamento di Arduino ed ESP

Collegamento di Arduino ed ESP
Collegamento di Arduino ed ESP

Questo è un semplice passaggio che ti mostra come collegare l'ESP ad Arduino Uno! Come menzionato nel passaggio "Hardware", ho usato l'adattatore ESP-01.

Innanzitutto, collega il tuo ESP all'adattatore ESP-01 e assicurati che sia rivolto nel modo giusto! Quindi, prendi i tuoi 4 ponticelli e collegali in questo modo:

  • Pin 3 su Arduino per Pin RX sull'adattatore
  • Pin 2 su Arduino a Pin TX sull'adattatore
  • Pin 5.5V su Arduino per Pin VCC sull'adattatore
  • Pin GND su Arduino per Pin GND sull'adattatore

Cablaggio fatto. Facile pzy giusto?

PS: consiglio di utilizzare un filo rosso per la connessione 5V e un filo nero per la connessione GND. È solo uno standard in elettronica.

Passaggio 8: fine + cose da tenere a mente

Bene, se hai seguito la mia guida e non ho incasinato nulla, ora dovresti almeno essere in grado di avere un ESP funzionante con firmware aggiornato. Forse parla anche con te e tu con lui, sarebbe perfetto! Vai avanti ed esplora questo meraviglioso mondo di IOT e simili. Forse vorrai accendere una luce con il clic di un pulsante sul tuo telefono, o forse accendere il sistema di irrigazione nel tuo giardino (come sto cercando di fare). Non lo so, ti lascio scegliere. Sentiti libero di scrivere alcuni feedback/domande su questo istruibile qui sotto!

Solo alcune cose extra da tenere a mente:

  • Durante il caricamento del codice sul tuo Arduino, il Pin 0 (RX) deve essere gratuito!
  • Se stai eseguendo il tuo ESP tramite 3.3V da Arduino, fai attenzione che potrebbe non essere abbastanza potente e potresti ricevere errori a causa di ciò! Consiglio vivamente l'adattatore ESP-01.
  • Nel caso in cui desideri comunicare con il tuo ESP tramite Arduino e non con l'adattatore USB, dovrai fare quanto segue:

    1. Necessario: dovrai essere in grado di parlare con i comandi AT con il tuo ESP tramite l'adattatore USB per poter passare!
    2. Vai avanti e collega il tuo adattatore USB all'ESP. Assicurati che non sia in "Modalità programma"!
    3. Scegli la scheda ESP8266 e la porta corretta e apri il monitor seriale (115200 Baud).
    4. Digita "AT" e ottieni un "OK" indietro.
    5. Dovremo modificare il Baud rate predefinito dell'ESP con il seguente comando: "AT+UART_DEF=9600, 8, 1, 0, 0" (o per alcune versioni "AT+CIOBAUD=9600").
    6. Dovresti ricevere un "OK" o un qualche tipo di conferma.
    7. Chiudere il monitor seriale.
    8. Scollega l'adattatore USB e collega l'ESP all'adattatore Arduino. Collega l'adattatore ad Arduino come mostrato nel passaggio "Collegamento di Arduino ed ESP".
    9. Collega Arduino al tuo PC.
    10. Cambia la scheda in Arduino e seleziona la porta corretta.
    11. Carica questo codice su Arduino.
    12. Apri il monitor seriale ancora una volta, ma questa volta a 9600 Baud.
    13. Ora dovresti essere in grado di digitare "AT" e ottenere un "OK".

Passaggio 9: collegamenti

Ecco un elenco di alcuni link che ho trovato sul web che mi hanno aiutato, e potrebbero anche aiutare te!

  • Schizzo per Arduino Uno per parlare con l'ESP
  • Imposta il tuo ESP in "modalità programma" con un interruttore o pulsanti

Aggiornamento 2020:

  • Guida su come flashare con il nuovo software flasher
  • Iniziare con Espressif
  • Download di Flasher e SDK/AT di Espressif
  • Informazioni generali sulla maggior parte delle cose trattate in questo articolo qui (incluse informazioni su come far lampeggiare l'ESP senza adattatori)

Consigliato: