Sommario:

ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL Semplice: 5 passaggi
ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL Semplice: 5 passaggi

Video: ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL Semplice: 5 passaggi

Video: ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL Semplice: 5 passaggi
Video: Учебное пособие по счетчику подписчиков YouTube 2024, Giugno
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL semplice
ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL semplice

Questa guida ha lo scopo di aiutare le persone che hanno acquistato il convertitore TTL ESP8266 ESP-12E UART Wireless WIFI Shield e non sanno come usarlo con Arduino.

Inizialmente, questo tutorial è stato scritto in portoghese qui in Brasile. Ho fatto del mio meglio per scriverlo in inglese. Quindi perdonami per alcuni errori che potrebbero essere nella scrittura.

Questa istruzione è stata suddivisa come segue:

Passaggio 1: conoscere il convertitore TTL ESP8266 ESP-12E UART Wireless WIFI Shield per Arduino

Passaggio 2: aggiornamento del firmware su ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter per Arduino

Passaggio 3: Scudo, Scudo, Altro e Moer? Importa?

Passaggio 4: Shield Moer - Risoluzione della comunicazione seriale RX / TX

Passaggio 5: server Web con ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter per Arduino

Ti consiglio di leggere tutti i passaggi per imparare il più possibile su questo scudo.

Passaggio 1: conoscere il convertitore TTL ESP8266 ESP-12E UART Wireless WIFI Shield per Arduino

Il convertitore TTL Shield WIFI wireless ESP8266 ESP-12E UART (Shield WiFi ESP8266) semplifica la connessione di Arduino alle reti WiFi tramite ESP8266. Quando lo si utilizza, non è più necessario montare un circuito con più componenti e fili per interconnettere un ESP8266 all'Arduino, è sufficiente collegare la scheda all'Arduino, posizionare il percorso del DIP switch in base alla modalità di funzionamento dello scudo e programmare l'Arduino per connettersi a reti Wi-Fi. Inoltre, la scheda può essere utilizzata senza Arduino, in quanto dispone di tutti i pin-out dell'ESP-12E.

Nello scudo c'è l'informazione che è stato creato da una persona di nome WangTongze e che ne possiede i diritti è elecshop.ml. Inizialmente il creatore dello scudo ha cercato di raccogliere fondi per il suo progetto attraverso Indiegogo (sito di finanziamento collettivo), ma non è riuscito a raccogliere fondi.

Caratteristiche del modello ESP8266 ESP-12E:

- Architettura RISC a 32 bit- Il processore può funzionare a 80MHz/160MHz- Memoria flash da 32MB- 64kB per le istruzioni- 96kB per i dati- Standard nativo WiFi 802.11b/g/n- Funziona in modalità AP, Station o AP + Station- Dispone di 11 pin digitali- Ha 1 pin analogico con risoluzione a 10 bit- I pin digitali tranne il D0 hanno interrupt, PWM, I2C e un filo- Programmabile tramite USB o WiFi (OTA)- Compatibile con Arduino IDE- Compatibile con moduli e sensori utilizzati in Arduino

Di seguito puoi leggere le caratteristiche principali di questo scudo:

- La dimensione di Arduino Uno R3 e il pinning sono compatibili con Arduino Uno, Mega 2560, Leonardo e derivati.- Le versioni minori di Arduino (Nano e Pro Mini, ad esempio) sono compatibili, ma i collegamenti devono essere effettuati tramite jumper.- La tensione Arduino (5V) viene utilizzata per alimentare lo shield.- Dispone di un regolatore di tensione AMS1117 3.3V, quindi la tensione di 5V fornita da Arduino viene ridotta per alimentare lo shield senza bisogno di alimentazione esterna.- Ha un convertitore di livello logico integrato, quindi il livello Arduino TTL (5V) non danneggia l'ESP8266 che opera con livello TTL 3.3V.- Dispone di un DIP switch a 4 vie che serve per modificare le modalità operative della scheda.- Modalità operative disponibili: WiFi Shield per Arduino / invio comandi AT tramite Arduino / aggiornamento firmware tramite USB Convertitore seriale esterno/standalone.- Dispone di led indicativi (PWR/DFU/AP/STA).- Essendo in formato shield, permette l'inserimento di altri shield e moduli.- Ha il pulsante ESP-RST per ripristinare l'ESP8266.- Th Il pin ADC ESP8266 è disponibile in due forme sulla scheda, la prima su un pin con intervallo di lettura da 0 a 1 V e la seconda forma nell'intervallo da 0 a 3,3 V.

Nell'immagine sono evidenziate le parti principali dello scudo:

Immagine
Immagine

A (PIN DIGITALI): sequenza di pin utilizzati dall'Arduino.

B (ESP8266 PIN): ESP8266-12E e i rispettivi pin. Sul retro della targa è riportata la nomenclatura dei perni.

C (CONNESSIONE ADATTATORE USB SERIALE ESTERNO): sequenza di pin utilizzata per collegare l'adattatore USB seriale esterno per l'aggiornamento del firmware o il debug di ESP8266.

D (SHIELD MAINTENANCE PINS): Una sequenza di tre pin identificata come Maintenance Only e utilizzata per verificare che il regolatore di tensione riceva e fornisca correttamente le tensioni. NON DEVE ESSERE UTILIZZATO COME FONTE DI FORNITURA.

E (DIP SWITCH PER MODIFICA MODALITÀ DI FUNZIONAMENTO): DIP switch a quattro vie per cambio modalità di funzionamento.

CONTATTO 1 (P1) e CONTATTO 2 (P2): utilizzati per collegare l'RX (rappresentato da P1) e TX (rappresentato da P2) dell'ESP8266 ai pin D0 (RX) e D1 (TX) di Arduino. P1 e P2 in posizione OFF disabilitano la connessione RX da ESP8266 ad Arduino TX e TX da ESP8266 ad Arduino RX.

CONTATTO 3 (P3) e CONTATTO 4 (P4): utilizzati per abilitare e disabilitare la modalità di aggiornamento del firmware per ESP8266. Per abilitare la scrittura/caricamento del firmware su ESP8266, P3 e P4 devono essere in posizione ON. Quando P4 è in posizione ON, il LED DFU si accende, indicando che ESP8266 è abilitato a ricevere il firmware. Per disabilitare la modalità di aggiornamento del firmware e impostare ESP8266 sul funzionamento normale, è sufficiente impostare P3 e P4 su OFF.

NOTA: tutti e 4 i contatti in posizione OFF indicano che ESP8266 sta funzionando in modalità normale accanto ad Arduino

F (AD8 FROM ESP8266): assegnazione dei pin per l'ADC ESP8266. Un pin che opera nell'intervallo da 0 a 1V e un altro pin che opera nell'intervallo da 0 a 3,3V. Questi pin verranno utilizzati solo quando si utilizza ESP8266 da solo (modalità autonoma).

G (RESET ESP8266): pulsante utilizzato per ripristinare ESP8266. Ogni volta che si modifica la posizione degli interruttori DIP, è necessario premere il pulsante ESP-RST.

H (PIN ANALOGICO E ALIMENTAZIONE): sequenza di pin utilizzati dall'Arduino.

Questo shield ha una particolarità nei contatti P1 e P2 del DIP Switch e questa particolarità, infatti genera un grande dubbio nelle persone che provano ad utilizzare lo shield.

Secondo il creatore dello scudo, quando lo si collega all'Arduino saranno necessari solo 2 pin. Questi pin sarebbero D0 e D1 (rispettivamente RX e TX di Arduino) e inoltre i contatti P1 e P2 del DIP Switch sullo schermo devono essere in posizione ON per il collegamento.

In uno dei pochi documenti cinesi che ho ottenuto su questo scudo, il creatore del tabellone dice:

P1 e P2 sono codificatori di bit e vengono utilizzati per determinare se il seriale ESP8266 è collegato o meno ad Arduino D0 e D1.

In un'altra sezione del documento è menzionato:

Questa scheda di espansione mantiene occupata la seriale Arduino, collegando RX da ESP8266 a TX da Arduino e TX da ESP8266 a Arduino RX.

I pin D0 (RX) e D1 (TX) di Arduino corrispondono alla comunicazione seriale/USB nativa, quindi questi pin rimangono occupati ogni volta che inviamo codice alla scheda o utilizziamo il monitor seriale. Pertanto, se i contatti P1 e P2 dello shield sono in posizione ON, l'ESP8266 utilizzerà Arduino D0 e D1 e non sarà possibile inviare codici o utilizzare la seriale in quanto sarà occupata. Inoltre, per inviare comandi AT allo shield, è necessario che l'ESP8266 RX sia collegato all'Arduino RX e che l'ESP8266 TX sia collegato all'Arduino TX. Ciò accadrà solo se invertiamo le connessioni come mostrato nell'immagine qui sotto:

Immagine
Immagine

Vedi ho piegato i contatti D0 e D1 dello shield e ho collegato Arduino D0 al D1 dello shield e D1 dell'Arduino al D0 dello shield. Utilizzando la connessione in questo modo (Arduino utilizzato come bridge di connessione), sono stato in grado di inviare comandi AT all'ESP8266 e ho confermato ciò che già immaginavo.

La forma operativa standard dello shield richiede che un codice (webserver o firmware, per esempio) venga caricato nello shield e un altro codice venga caricato nell'Arduino per inviare, ricevere e interpretare i dati provenienti dalla seriale nativa. Maggiori dettagli su questa forma di comunicazione verranno visualizzati nei prossimi passaggi.

Ad ogni modo, questa caratteristica dello shield non interferisce nel suo funzionamento, in quanto solitamente emuliamo una seriale su altri pin digitali di Arduino in modo da avere a disposizione la seriale nativa. Inoltre, se è necessario inviare comandi AT allo shield, possiamo collegarlo all'Arduino tramite quattro cavi oppure utilizzare un convertitore USB seriale.

Infine, lo scudo era molto stabile e rendeva molto facile l'assemblaggio dei circuiti. Ho provato con Arduino Uno R3 e Mega 2560 R3.

Nel passaggio successivo imparerai come aggiornare/cambiare il firmware dello scudo.

Passaggio 2: aggiornamento del firmware su ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter per Arduino

Per collegare lo shield al computer è necessario utilizzare un convertitore USB seriale. Se non si dispone di un convertitore USB seriale convenzionale, è possibile utilizzare il convertitore Arduino Uno R3 come intermedio. Esistono diversi modelli di convertitori USB seriali sul mercato, ma per questo tutorial ho utilizzato l'adattatore convertitore USB seriale TTL PL2303HX.

Per aggiornare lo scudo, usa:

Strumenti di download flash ESP8266

Il firmware che verrà utilizzato è:

Firmware Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT

Una volta scaricato il programma e il firmware, copiali entrambi nella root (unità C) di Windows.

Decomprimi flash_download_tools_v2.4_150924.rar e verrà generata la cartella FLASH_DOWNLOAD_TOOLS_v2.4_150924.

Utilizzo del convertitore USB seriale Arduino Uno R3 come intermediario:

Il prossimo passo è collegare lo scudo al computer. Se non si dispone di un convertitore USB seriale standard, è possibile utilizzare Arduino Uno R3 per collegare lo shield e il computer. Oltre all'Arduino Uno R3 con cavo USB avrai bisogno di:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL04 - Cavi jumper maschio-femmina

NOTA: prima di montare lo schema elettrico di Arduino, è necessario caricare un codice vuoto sulla scheda per assicurarsi che non venga utilizzato il convertitore USB seriale. Carica il codice qui sotto nel tuo Arduino e procedi:

void setup() { // inserisci qui il tuo codice di configurazione, per eseguirlo una volta: } void loop() { // inserisci qui il tuo codice principale, per eseguirlo ripetutamente: }

Immagine
Immagine

NOTA: fare attenzione quando si collega il pin di schermatura da 3,3 V ad Arduino.

Utilizzo dell'adattatore convertitore USB seriale TTL PL2303HX:

Avrai bisogno dei seguenti elementi oltre all'adattatore convertitore USB seriale TTL PL2303HX:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield Convertitore TTL04 - Cavi jumper maschio-femmina

Immagine
Immagine

NOTA: Il PL2303 ha alimentazione 5V e 3V3. Usa l'alimentazione 3V3 e ignora il pin 5V

Dopo aver eseguito uno degli schemi di connessione sopra indicati, è sufficiente collegare il cavo USB (ad Arduino e al computer) o il convertitore USB seriale al computer.

Quindi vai su "Pannello di controllo" in Windows, "Gestione dispositivi" e nella finestra che si apre vai su "Porte (COM e LPT)". È possibile visualizzare il dispositivo connesso e il numero di porta COM su cui è stato allocato. A titolo dimostrativo ho collegato al computer sia l'Arduino che il convertitore USB seriale e nell'immagine sotto potete vedere come appaiono i dispositivi nel manager:

Immagine
Immagine

Se stai usando PL2303HX e non viene riconosciuto da Windows, accedi al post Convertitore USB TTL seriale PL2303HX - Installazione in Windows 10, vedi come risolverlo e poi torna per continuare.

Ora vai alla cartella FLASH_DOWNLOAD_TOOLS_v2.4_150924 ed esegui ESP_DOWNLOAD_TOOL_V2.4.exe:

Immagine
Immagine

Sullo shield, posizionare i contatti P3 e P4 del DIP Switch in posizione ON e quindi premere il pulsante ESP-RST sulla scheda in modo che lo shield entri in modalità di aggiornamento firmware:

Immagine
Immagine

Con il programma aperto, deselezionare l'opzione 'SpiAutoSet', selezionare la porta COM, selezionare 'BAUDRATE' 115200, deselezionare qualsiasi casella di controllo contrassegnata in 'Download Path Config', configurare le altre opzioni come mostrato di seguito e fare clic su 'START':

Immagine
Immagine

Se la comunicazione con ESP8266 WiFi Shield è OK, vedrai le informazioni in "INFO RILEVATE", "Indirizzo MAC" e "SINCRONIZZAZIONE":

Immagine
Immagine

NOTA: se il programma restituisce 'FAIL', verificare di aver selezionato la porta COM corretta, verificare se i tasti P3 e P4 del DIP switch sono ON, fare clic sul pulsante ESP-RST, fare clic su STOP e ancora su START.

In 'Download Path Config' dovresti selezionare il file 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' scaricato. Fare clic su '…' del primo campo e nella finestra che si apre navigare fino alla cartella in cui è stato inserito il firmware e selezionare il file 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. Nel campo "ADDR" inserisci l'offset 0x00000 e seleziona la casella di controllo per terminare. Al termine, avrai le impostazioni come mostrato di seguito:

Immagine
Immagine

Ora fai clic su START per avviare il processo:

NOTA: se si utilizza il convertitore USB seriale Arduino come intermediario tra lo shield e il computer, fare clic sul pulsante ESP-RST dello shield prima di fare clic su START. Se si utilizza un convertitore USB seriale convenzionale questa procedura non è necessaria

Immagine
Immagine

Attendi il completamento del processo di aggiornamento del firmware (ci vorranno circa sette minuti per il completamento del processo):

Immagine
Immagine

Dopo aver completato il processo di aggiornamento del firmware, chiudere le finestre ESP_DOWNLOAD_TOOL_V2.4, riportare i contatti P3 e P4 del DIP Switch in posizione OFF e premere il pulsante ESP-RST sullo shield in modo che possa uscire dalla modalità di aggiornamento del firmware.

Ora apri l'IDE di Arduino in modo da poter inviare comandi AT alla scheda per verificare che il firmware sia stato aggiornato correttamente e che la scheda risponda ai comandi.

Con l'IDE aperto vai al menu "Strumenti" e quindi nell'opzione "Porta" seleziona la porta COM. Nota nell'immagine qui sotto che ho selezionato la porta COM7 (probabilmente la tua porta sarà diversa):

Immagine
Immagine

NON è necessario selezionare la scheda nell'IDE poiché ciò è irrilevante per l'invio di comandi AT.

Apri il "Monitor seriale" e controlla nel piè di pagina se la velocità è impostata su 115200 e se è selezionato "Entrambi, NL e CR":

Immagine
Immagine

Ora digita il comando "AT" (senza virgolette) e dai "INVIO" o fai clic su "Invia". Se la connessione funziona dovrai restituire il messaggio 'OK':

Immagine
Immagine

NOTA: Se l'invio del comando NON riceve alcun feedback o riceve una stringa di caratteri casuale, modificare la velocità da 115200 del monitor seriale a 9600 e inviare nuovamente il comando

In 'Serial Monitor' digitare il comando 'AT + GMR' (senza virgolette) e dare 'INVIO' o fare clic su 'Invia'. Se ricevi un feedback come mostrato di seguito, il tuo ESP8266 WiFi Shield è stato aggiornato con successo:

Immagine
Immagine

Se si desidera modificare il baudrate di comunicazione con lo shield 9600, immettere il comando 'AT + UART_DEF = 9600, 8, 1, 0, 0' (senza virgolette) e dare 'ENTER' o fare clic su 'Invia'. Se ricevi le informazioni come mostrato di seguito, la velocità di comunicazione è cambiata:

Immagine
Immagine

NOTA: quando si modifica la velocità di trasmissione dello scudo, è necessario modificare anche la velocità da 115200 a 9600 nel piè di pagina Monitor seriale. Quindi inviare nuovamente il comando 'AT' (senza virgolette) e premere 'INVIO' o fare clic su 'Invia'. Se ricevi "OK" come reso, la comunicazione funziona

Se vuoi usare lo shield per assegnare il WiFi ad Arduino, la velocità di comunicazione ideale è 9600 baud.

Nel passaggio successivo scoprirai che scudo possiedi, dato che è possibile trovare in commercio almeno tre scudi che sembrano uguali, ma in realtà queste schede hanno dei punti che le differenziano, anche nella questione della lavorando con Arduino attraverso la comunicazione attraverso la seriale nativa.

Passaggio 3: Scudo, Scudo, Altro e Moer? Importa?

Se si tratta dell'ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter, è possibile trovare almeno tre schede apparentemente uguali, ma in realtà queste schede hanno alcuni punti che le differenziano, anche nella questione del funzionamento con il Arduino tramite comunicazione seriale nativa.

Di seguito puoi vedere cosa differenzia le schede e scoprire qual è la tua.

Shiald WiFi ESP8266:

Immagine
Immagine

Nota che su questo tabellone la parola Scudo è scritta "Shiald" e la parola "more" ha la "m" minuscola. Nei test che ho fatto per lungo tempo, la scheda NON ha mostrato alcun difetto nel suo funzionamento.

Scudo WiFi ESP8266:

Immagine
Immagine

Nota che su questa lavagna la parola Scudo è scritta correttamente e la parola "Altro" ha la "M" in maiuscolo. Per quanto riguarda il funzionamento, questa scheda si comporta allo stesso modo della versione Shiald, ovvero la scheda non è difettosa.

Quindi vuoi dire che le schede Shiald e Shield hanno differenze solo nella questione della seta PCB?

Sì, queste due carte hanno differenza solo per quanto riguarda la scrittura di due parole. Il circuito su entrambe le schede è lo stesso ed entrambi funzionano perfettamente con Arduino o da soli (modalità standalone). Considerando che l'Arduino ha caricato il codice corretto e che anche uno degli shield ha il firmware corretto, dopo aver attaccato lo shield ad Arduino e collegato il cavo USB, è sufficiente mettere i contatti P1 e P2 del DIP switch in posizione ON e verrà effettuata la comunicazione tramite seriale nativa (pin D0 e D1) tra le schede.

Alcuni dicono che questa versione di Shiald ha la connessione wireless instabile, ma io affermo che non c'è affatto instabilità.

Scudo WiFi ESP8266 (più):

Immagine
Immagine

Nota che su questa lavagna la parola Shield è scritta correttamente e la parola "More" è scritta "Moer", cioè sbagliata. Purtroppo questa scheda non funziona come dovrebbe e se è collegata ad Arduino (con i contatti del DIP switch OFF o ON) e l'utente prova a caricare un codice su Arduino, nell'IDE apparirà un messaggio di errore come il caricamento fallirà.

Se il tuo shield è quello che viene scritto in Moer e hai avuto problemi ad usarlo con il tuo Arduino tramite la comunicazione seriale nativa, vai al passaggio successivo e impara come risolvere il problema. Se il tuo scudo NON È IL Moer, vai al passaggio 5.

Passaggio 4: Shield Moer - Risoluzione della comunicazione seriale RX / TX

Se questa scheda (Moer) è accoppiata ad Arduino (con i contatti del DIP switch OFF o ON) e l'utente tenta di caricare un codice su Arduino, nell'IDE apparirà un messaggio di errore poiché il caricamento fallirà. Ciò è dovuto a un errore del componente utilizzato nella costruzione dello scudo.

Lo shield che ha una corretta costruzione e funzionamento, ha saldato due MOSFET Channel N e sono identificati come J1Y. Uno dei transistor J1Y è collegato all'ESP8266 RX e l'altro è collegato all'ESP8266 TX. Nell'immagine sottostante si possono vedere evidenziati i due transistor:

Immagine
Immagine

Questo transistor J1Y è un BSS138 il cui scopo è quello di consentire ai circuiti a livello logico 5V di comunicare con circuiti a livello logico 3,3V e viceversa. Poiché ESP8266 ha un livello logico di 3,3 V e Arduino ha un livello logico di 5 V, è necessario utilizzare un convertitore di livello logico per garantire il perfetto funzionamento dell'ESP8266.

Nello shield Moer sono saldati sulla scheda due transistor identificati come J3Y. Nell'immagine sottostante si possono vedere evidenziati i due transistor:

Immagine
Immagine

Il transistor J3Y è un S8050 NPN e questo tipo di transistor è comunemente usato nei circuiti amplificatori. Per qualche ragione al momento della costruzione dello scudo Moer, usarono il transistor J3Y invece del convertitore di livello logico J1Y.

In questo modo i pin RX e TX di ESP8266 non funzioneranno come dovrebbero e quindi lo shield non avrà alcuna comunicazione seriale con Arduino. Poiché lo shield comunica con Arduino tramite la seriale nativa (pin D0 e D1), con esso accoppiato all'Arduino il caricamento del codice (nell'Arduino) non andrà mai a buon fine, perché in alcuni casi ci saranno sempre circa 2,8V nel RX e Arduino TX o 0V costanti, tutto a causa dei transistor sbagliati.

Dopo tutte queste informazioni, è chiaro che l'unica soluzione per lo shield Moer è la sostituzione dei transistor J3Y con transistor J1Y. Per questa procedura avrai bisogno oltre allo scudo della pazienza di Moer e:

01 - Saldatore01 - Stagno01 - Pinze o pinze ad ago01 - Ventosa per saldatura02 - BSS138 (J1Y)

Il transistor BSS138 (J1Y) viene utilizzato nel convertitore di livello logico da 3,3 V / 5 V.

NOTA: la procedura seguente richiede che tu sappia come maneggiare un saldatore e che tu abbia la minima esperienza di saldatura. I componenti che verranno rimossi e quelli che verranno sostituiti sono componenti SMD e richiedono maggiore cura e pazienza durante la saldatura con un comune saldatore. Fare attenzione a non lasciare il saldatore troppo a lungo sui terminali del transistor in quanto ciò potrebbe danneggiarli

Con il saldatore caldo, scalda uno dei terminali del transistor e mettici dello stagno. Eseguire questa procedura per ciascuno dei terminali dei due transistor. L'eccessiva saldatura ai terminali faciliterà la rimozione dei transistor:

Immagine
Immagine

Ora prendi le pinzette / pinze, tieni il transistor dai lati, riscalda il lato del transistor che ha un solo terminale e forza il transistor verso l'alto in modo che il terminale si allenti dalla saldatura. Sempre con le pinzette/pinze che trattengono il transistor, prova ad appoggiare la punta del saldatore contro gli altri due terminali e forza il transistor verso l'alto per terminare di sganciarlo dalla scheda. Fai questo per entrambi i transistor e fai molta attenzione:

Immagine
Immagine

Rimossi i due IC J3Y dallo scudo, posizionare semplicemente l'IC J1Y in posizione, tenerlo con le pinzette / pinze e riscaldare ciascuna estremità dello scudo in modo che lo stagno si unisca al contatto. Se i contatti sono a bassa saldatura, riscaldali e metti più stagno. Fai questo per entrambi i transistor e fai molta attenzione:

Immagine
Immagine

Dopo la riparazione, il suo shield che in precedenza non aveva comunicazione diretta con Arduino, ha iniziato ad avere connessione alla scheda tramite la seriale nativa (pin D0 e D1).

Un primo test per confermare che la riparazione è andata a buon fine è collegare lo shield (con tutti i contatti del DIP switch OFF) ad Arduino, collegare il cavo USB alla scheda e al computer e tentare di caricare un codice nell'Arduino. Se tutto è a posto, il codice verrà caricato correttamente.

Passaggio 5: server Web con ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter per Arduino

Come requisito principale per continuare questo passaggio, dovresti aver eseguito il passaggio 2.

Come accennato in precedenza, per poter utilizzare lo shield con Arduino tramite la seriale nativa (pin D0 e D1), è necessario che nello shield venga caricato un codice e che su Arduino venga caricato un altro codice per inviare, ricevere ed interpretare il dati scambiati attraverso il seriale nativo. Nello shield possiamo mettere un firmware di comandi AT e programmare Arduino per inviare i comandi allo shield per connettersi a una rete WiFi e controllare gli ingressi e le uscite di Arduino.

In questo passaggio utilizzeremo la libreria WiFiESP, poiché ha già tutte le funzioni necessarie per integrare l'ESP8266 (Shield WiFi ESP8266 nel nostro caso) all'Arduino e assegnare il WiFi alla scheda. La libreria WiFiESP funziona inviando comandi AT, quindi la connessione alla rete wireless del router e qualsiasi richiesta fatta al server web comporterà l'invio di comandi AT allo shield.

Perché la libreria WiFiESP funzioni, la versione del firmware del comando AT deve essere almeno 0.25 o superiore. Quindi, se non conosci la versione del comando AT del tuo shield, vai al passaggio 2 per aggiornare la scheda con il firmware che ha una versione del comando AT di 1.2.0.0 e poi torna per continuare.

Una cosa che ho identificato durante i miei test con lo shield e l'Arduino è che poiché la comunicazione tra di loro avviene tramite la seriale nativa (pin D0 e D1), diventa necessario che la seriale sia di uso esclusivo per la comunicazione tra di loro. Pertanto, non consiglio di utilizzare "Serial.print() / Serial.println()" per stampare informazioni sul monitor seriale IDE di Arduino o su qualsiasi altro programma che visualizzi informazioni seriali.

Per impostazione predefinita, la libreria WiFiESP è configurata per visualizzare errori seriali, avvisi e altre informazioni di comunicazione tra Arduino e ESP8266. Come ho detto prima, il seriale dovrebbe essere rilasciato per la comunicazione tra Arduino e lo shield. Pertanto, ho modificato un file dalla libreria e disabilitato la visualizzazione di tutte le informazioni nel seriale. Le uniche informazioni che verranno visualizzate sul monitor seriale sono i comandi AT che la libreria invia allo shield per connettersi alla rete wireless o i comandi AT per eseguire le richieste fatte al webserver.

Scarica la libreria WiFIESP modificata e installala nell'IDE Arduino:

WiFIESP Mod

Nella cartella di installazione della libreria è sufficiente accedere al percorso "WiFiEsp-master\src\utility" e al suo interno è presente il file "debug.h" che è stato modificato per disabilitare la visualizzazione delle informazioni sul seriale. Aprendo il file in Notepad++, ad esempio, abbiamo le righe 25, 26, 27, 28 e 29 che mostrano una numerazione corrispondente per i tipi di informazioni che verranno visualizzate sul monitor seriale. Si noti che il numero 0 disabilita la visualizzazione di tutte le informazioni sul monitor seriale. Infine, nella riga 32 ho configurato "_ESPLOGLEVEL_" con valore 0:

Immagine
Immagine

Se desideri utilizzare la libreria WiFiESP in altri progetti con ESP8266 e hai bisogno che le informazioni vengano visualizzate sul monitor seriale, imposta semplicemente "_ESPLOGLEVEL_" al valore 3 (valore predefinito della libreria) e salva il file.

Poiché il tuo shield ha già la versione del firmware del comando AT 0.25 o successiva, continuiamo.

Attacca lo shield al tuo Arduino (Uno, Mega, Leonardo o altra versione che permette di attaccare lo shield), metti tutti i contatti del DIP switch in posizione OFF, collega un LED tra il pin 13 e GND, e collega il cavo USB al Arduino e il computer:

Immagine
Immagine

Ho usato l'Arduino Mega 2560, tuttavia, il risultato finale sarà lo stesso se si utilizza un'altra scheda Arduino che consente di accoppiare lo shield.

Scarica il codice dal link e aprilo nell'IDE di Arduino:

Codice Web Server

Se stai usando Arduino Leonardo, vai alle righe 19 e 20 del codice e cambia la parola Serial in Serial1, come mostrato nell'immagine qui sotto:

Immagine
Immagine

Nel codice devi inserire il nome della tua rete WiFi nella riga char * ssid = "NOME DELLA TUA RETE WIFI";, la password deve inserire nella riga char * password = "PASSWORD DELLA TUA RETE WIFI"; e sulla riga WiFi.config (IPAddress … dovresti inserire un indirizzo IP disponibile sulla tua rete wireless poiché questo codice utilizza IP statico:

Immagine
Immagine

Nel menu "Strumenti" seleziona "Scheda" e seleziona il modello del tuo Arduino. Sempre nel menu "Strumenti", seleziona l'opzione "Porta" e controlla la porta COM in cui è stato allocato il tuo Arduino.

Fare clic sul pulsante per inviare il codice ad Arduino e attendere il caricamento.

Dopo aver caricato il codice su Arduino, scollegare il cavo USB dalla scheda, mettere i contatti P1 e P2 del DIP Switch dello shield in posizione ON e collegare nuovamente il cavo USB ad Arduino.

NOTA: Fintanto che i contatti P1 e P2 dello shield sono in posizione ON, non sarà possibile inviare codici ad Arduino perché la seriale nativa sarà occupata. Ricorda che ogni volta che cambi la posizione degli interruttori DIP switch, premi il pulsante ESP-RST

Apri immediatamente il monitor seriale Arduino IDE:

Immagine
Immagine

Con il monitor seriale aperto è possibile seguire i comandi AT che vengono inviati allo shield per eseguire il server web. Se non vengono visualizzate informazioni all'apertura del monitor seriale, premi il pulsante RESET sul tuo Arduino e attendi.

Si noti che sul monitor seriale il comando "AT + CIPSTA_CUR" mostra l'indirizzo IP per connettersi al webserver e il comando "AT + CWJAP_CUR" mostra il nome e la password della rete wireless a cui è connesso lo shield:

Immagine
Immagine

Copia l'indirizzo IP mostrato sul monitor seriale, apri il tuo browser internet, incolla l'indirizzo IP e premi ENTER per accedere. Verrà caricata una pagina web simile a quella seguente:

Immagine
Immagine

La pagina web ha un pulsante che sarà responsabile dell'accensione/spegnimento del LED collegato al pin 13 di Arduino. Premere il pulsante per accendere/spegnere il LED e vedere che lo stato corrente viene aggiornato sulla pagina.

È possibile accedere alla pagina Web anche tramite smartphone o tablet, ad esempio.

Guarda il video qui sotto per il risultato finale:

Questa è stata una pratica semplice, perché lo scopo era mostrare quanto sia facile usare lo shield con Arduino. Tutti i progetti che trovate su internet che utilizzano l'ESP8266 per assegnare il WiFi ad Arduino, possono essere riprodotti con questo WiFi Shield, la differenza è che non avrete bisogno di montare dei divisori di tensione nella scheda prototipi per comunicare tra le piattaforme, e in modo semplice progetti non dovrai preoccuparti di alimentare il circuito con un alimentatore esterno. Inoltre, il tuo progetto avrà un'estetica molto più gradevole.

Ora che sai come integrare Shield WiFi ESP8266 con Arduino da un server web, modifica semplicemente il codice e implementa un progetto più elaborato o inizia a sviluppare il tuo codice.

Ancora una volta, mi scuso per gli errori in inglese.

Se hai domande sullo scudo, chiedi e sarò felice di rispondere.

Consigliato: