Sommario:
- Passaggio 1: cose di cui avrai bisogno
- Passaggio 2: alcune informazioni su ESP8266
- Passaggio 3: pinout di ESP8266
- Passaggio 4: cosa dovrebbe essere usato per comunicare con ESP8266?
- Passaggio 5: montaggio dell'ESP8266 su breadboard
- Passaggio 6: alimentazione
- Passaggio 7: conversione del livello logico
- Passaggio 8: connessioni
- Passaggio 9: iniziare
- Passaggio 10: comandi AT
- Passaggio 11: sintassi generale dei comandi AT
- Passaggio 12: connessione al Wi-Fi
- Passaggio 13: Parlare di cose
- Passaggio 14: altri comandi AT
- Passaggio 15: configurazione della connessione TCP
- Passaggio 16: invio del Tweet
- Passaggio 17: cosa fare dopo?
Video: Guida per principianti a ESP8266 e tweet utilizzando ESP8266: 17 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Ho imparato a conoscere Arduino 2 anni fa. Così ho iniziato a giocare con cose semplici come LED, pulsanti, motori ecc. Poi ho pensato che non sarebbe stato bello connettersi per fare cose come visualizzare il tempo del giorno, i prezzi delle azioni, gli orari dei treni su un display LCD. Ho scoperto che ciò poteva essere fatto inviando e ricevendo dati tramite Internet. Quindi la soluzione era connettersi a Internet. Lì è iniziata la mia ricerca su come connettere Arduino a Internet e inviare e ricevere dati. Ho appreso dei moduli wifi su Internet e li ho trovati molto costosi. Poi ho appreso dell'ESP8266.
Ho letto molto su Internet sul modulo ESP8266 circa un anno fa e ne ho acquistato uno, ma ho iniziato a lavorare con loro solo il mese scorso. All'epoca non erano disponibili informazioni dettagliate. Tuttavia ora sono disponibili molta documentazione e video su Internet per quanto riguarda firmware, comandi AT, progetti ecc. Così ho deciso di iniziare.
Ho scritto questo tutorial come guida per principianti poiché ho dovuto affrontare molti problemi nel cablaggio e nell'iniziare con ESP8266. Quindi ho deciso di scrivere questo Instructable in modo che altre persone che riscontrano problemi con i loro moduli possano risolverli più velocemente
In questo Instructable cercherò di mostrare
- Come collegare un ESP8266 e comunicare con esso tramite Arduino Uno.
- Cercherò anche di mostrare come è possibile inviare un tweet tramite Thingspeak.
Cosa può fare l'ESP8266? È limitato dalla tua immaginazione. Ho visto progetti e tutorial su Internet che mostrano come recuperare la temperatura di una città, i prezzi delle azioni, l'invio e la ricezione di e-mail, le telefonate e molto altro ancora. questo Instructable come inviare un tweet.
Passaggio 1: cose di cui avrai bisogno
Ecco le cose di cui avrai bisogno. La maggior parte di questi può essere acquistata da qualsiasi negozio di materiale elettrico o online (ho fornito i collegamenti per riferimento).
- 1xESP8266(ESP-01) -ebay
- 1xBreadboard adattatore (scopri come crearne uno qui o usa alcuni cavi jumper)
- 1xLM2596 -ebay
- 1xConvertitore di livello logico -ebay
- 1xArduino Uno
- Cavo USB per Arduino Uno
- 1xBreadboard -ebay
- Fili -ebay
- Arduino IDE
- Un account con Thingspeak
Il costo totale sarà di circa Rs 600 (circa $ 9). Ho escluso il costo di Arduino Uno in quanto dipende se si desidera un originale o un clone. I cloni più economici sono disponibili a circa Rs 500 (circa $ 4).
Passaggio 2: alcune informazioni su ESP8266
ESP8266 è stato lanciato nel 2014 solo un anno fa, quindi è abbastanza nuovo. I chip sono prodotti da Espressif.
Vantaggio
Il più grande vantaggio di ESP8266 è forse il suo costo. È abbastanza economico e puoi acquistarne un paio in una volta sola. Prima che me ne accorgessi non potevo nemmeno pensare di acquistare un modulo wifi. Erano troppo costosi. Le nuove versioni di ESP8266 vengono rilasciate abbastanza frequentemente e l'ultima è ESP 12. Tuttavia in questo Instructable mi concentrerò solo su ESP 01 che è abbastanza popolare. Inoltre, quando acquisti ESP8266 viene precaricato con il firmware AT predefinito. Quindi sei pronto per iniziare non appena ne acquisti uno. Inoltre, come vedrai da questo tutorial, è abbastanza facile interfacciarli.
Svantaggio
Ogni dispositivo ha i suoi vantaggi e svantaggi e l'ESP non è diverso. L'ESP può rivelarsi a volte molto complicato e frustrante con cui lavorare. Poiché è abbastanza nuovo, sarà difficile ottenere informazioni al riguardo. Fortunatamente una comunità su esp8266.com esiste, il che è di grande aiuto. Inoltre, a volte inizia anche a fare cose inaspettate come vomitare un carico di spazzatura attraverso la connessione seriale, ecc.
Nota che c'è molta documentazione disponibile su Internet e alcune parti di essa sono in conflitto. Questo Instructable non è diverso. Mentre giocavo con il mio ESP8266 ho scoperto che si discostava molto da quanto menzionato su Internet (il tuo potrebbe troppo) ma ha funzionato bene.
Passaggio 3: pinout di ESP8266
L'ESP8266 ha 8 pin come mostrato.
Gnd e Vcc dovrebbero essere collegati come al solito rispettivamente a terra e alimentazione. L'ESP8266 funziona a 3,3 V.
Il pin RESET viene utilizzato per ripristinare manualmente l'ESP. Normalmente dovrebbe essere collegato a 3,3 V. Se si desidera ripristinare l'ESP, collegare questo pin a massa momentaneamente e poi di nuovo a 3,3 V.
CH_PD è lo spegnimento del chip che dovrebbe essere normalmente collegato a 3.3V.
GPIO0 e GPIO2 sono pin di uscita di ingresso generici. Questi dovrebbero essere normalmente collegati a 3,3 V. Tuttavia, quando si esegue il flashing del firmware, collegare GPIO0 a gnd.
I pin Rx e Tx sono i pin di trasmissione e ricezione di ESP8266. Funzionano con logica a 3,3 V, ovvero 3,3 V è la logica ALTA per ESP8266.
I collegamenti dettagliati vengono forniti nei passaggi successivi.
Passaggio 4: cosa dovrebbe essere usato per comunicare con ESP8266?
Esistono molti dispositivi che possono essere utilizzati per comunicare con ESP8266 come programmatori FTDI, convertitore seriale da USB a TTL, Arduino ecc. Tuttavia ho usato un Arduino Uno semplicemente perché è il più semplice e quasi tutti ce l'hanno. Anche se tu se hai un Arduino hai anche l'IDE Arduino e il suo monitor seriale può essere utilizzato per la comunicazione con ESP8266. Quindi non spendere soldi per programmatori FTDI ecc.
Tuttavia, se lo desideri o se ne hai già uno, puoi utilizzare un programmatore FTDI o un convertitore seriale da USB a TTL (maggiori informazioni su come collegarli in seguito). Inoltre ci sono molti software come RealTerm o putty. Puoi usare questi allo stesso modo del monitor seriale dell'IDE di Arduino.
Passaggio 5: montaggio dell'ESP8266 su breadboard
Si noti che i pin di ESP8266 non sono compatibili con la breadboard. Questo può essere superato in 2 modi.
Utilizzare cavi jumper da femmina a maschio che possono rendere le cose disordinate o
Fai come mostrato in questo Instructable o
Usa una scheda adattatore, creane una tu stesso (ce ne sono molte su Instructables) che è pulita.
Passaggio 6: alimentazione
L'ESP8266 funziona con alimentazione a 3,3 V. Non collegarlo al pin 5 V su Arduino. Probabilmente brucerà.
Alcuni tutorial hanno suggerito di creare un circuito divisore di tensione utilizzando resistori da 1k, 2k con 5V come ingresso e ottenere 3,3V attraverso il resistore da 2k e fornirlo all'Arduino. Tuttavia, ho scoperto che l'ESP non si è nemmeno acceso quando l'ho fatto.
Sono stato in grado di accenderlo utilizzando 3,3 V su Arduino, ma ho scoperto che l'ESP si è surriscaldato dopo un po' di tempo.
Puoi usare un regolatore di tensione da 3,3 V.
Oppure puoi usare il convertitore step-down dc-dc LM2596. Questi sono abbastanza economici. E io li ho usati. Dare 5 V da Arduino all'ingresso. Regolare il potenziometro sul modulo, fino a quando l'uscita diventa 3.3VI ha scoperto che l'ESP può essere alimentato da uno di questi per ore. Effettuare i collegamenti come mostrato in figura.
Passaggio 7: conversione del livello logico
Si dice che l'ESP ha una logica a 3,3 V mentre Arduino ha una logica a 5 V.
Ciò significa che in ESP 3.3V è logico ALTO mentre in Arduino 5V è logico ALTO. Ciò potrebbe causare alcuni problemi durante il collegamento tra loro.
Ho scoperto su Internet che la conversione del livello logico deve essere applicata durante l'interfacciamento di ESP Rx e Tx con Arduino.
Alcuni tutorial hanno menzionato che è necessaria la conversione del livello logico durante l'interfacciamento del pin ESP Rx.
Tuttavia ho scoperto che il semplice collegamento dei pin ESP Rx e Tx all'Arduino non ha causato alcun problema
Ho collegato Rx e Tx tramite convertitore di livello logico e Rx da solo ma non ho ottenuto alcuna risposta.
Tuttavia ho scoperto che anche il collegamento del pin Tx ESP tramite il convertitore di livello logico durante il collegamento diretto del Tx non ha causato problemi
Quindi il convertitore di livello logico può essere utilizzato o meno.
Usa qualsiasi metodo che funzioni per te attraverso tentativi ed errori.
Passaggio 8: connessioni
Le connessioni di ESP8266 sono:
ESP8266
Gnd ------------------- Gnd
GPIO2 --------------- 3.3V
GPIO0 --------------- 3.3V
Rx -------------------- Rx di Arduino
Tx --------------------- Tx di Arduino (diretto o tramite convertitore di livello logico)
CH_PD -------------- 3.3V
RESET -------------- 3.3V
Vcc-------------------- 3.3V
(Si noti che in alcune versioni ESP Rx dovrebbe essere collegato ad Arduino Tx e ESP Tx dovrebbe essere collegato ad Arduino Rx).
Se stai utilizzando un programmatore FTDI o un convertitore seriale da USB a TTL, collega rispettivamente il loro Tx e Rx a Rx e Tx di ESP8266.
Passaggio 9: iniziare
Dopo aver effettuato i collegamenti, caricare
configurazione nulla()
{}
ciclo vuoto()
{}
cioè uno schizzo vuoto per Arduino..
Apri il monitor seriale e impostalo su "Both NL & CR".
Sperimenta con il Baud rate. Di solito dovrebbe essere 9600 anche se a volte potrebbe essere 115200.
Passaggio 10: comandi AT
Dire semplicemente che i comandi AT sono comandi che possono essere inviati all'ESP8266 in modo da consentirgli di eseguire alcune funzioni come il riavvio, la connessione al wifi ecc. L'ESP in risposta invierà una conferma sotto forma di testo. Di seguito ne ho spiegati alcuni Comandi AT e come risponde l'ESP. Nota che per invio intendo digitare il comando e premere invio (invio).
Invia AT tramite il monitor seriale
Questo comando viene utilizzato come comando di prova.
Come risponde l'ESP: dovrebbe essere restituito OK.
Invia AT+RST tramite il monitor seriale
Questo comando viene utilizzato per riavviare il modulo.
Come risponde l'ESP: ESP restituisce un carico di spazzatura. Tuttavia, cerca Pronto o pronto.
Invia AT+GMR tramite il monitor seriale
Questo comando viene utilizzato per determinare la versione del firmware del modulo.
Come risponde l'ESP: la versione del firmware dovrebbe essere restituita.
Il firmware è un pezzo di software che viene installato su un dispositivo di solito sulla sua ROM (memoria di sola lettura) cioè non è pensato per essere cambiato frequentemente o per niente. Fornisce il controllo e la manipolazione dei dati del dispositivo. ESP8266 ha un numero di diversi firmware, tutti abbastanza facili da flashare (installare).
Passaggio 11: sintassi generale dei comandi AT
Viene fornita la sintassi generale dei comandi AT per eseguire diverse funzioni:
AT+parametro=?
Quando un comando di questo tipo viene inviato tramite il monitor seriale, l'ESP restituisce tutti i valori che il parametro può assumere.
AT+parametro=valore
Quando un comando di questo tipo viene inviato tramite il monitor seriale, l'ESP imposta il valore del parametro su val.
AT+parametro?
Quando un comando di questo tipo viene inviato tramite il monitor seriale, l'ESP restituisce il valore corrente del parametro.
Alcuni comandi AT possono richiedere solo uno dei tipi precedenti, mentre altri possono richiedere tutti e 3.
Un esempio di comando possibile in tutti e 3 i tipi precedenti è CWMODE, che viene utilizzato per impostare la modalità wifi.
Invia AT+CWMODE=? attraverso il monitor seriale
Come risponde l'ESP: tutti i valori che ESP CWMODE può assumere (1-3) vengono restituiti specificamente +CWMODE (1-3). Dove
1=statico
2=AP
3=Sia statico che AP
Invia AT+CWMODE=1 attraverso il monitor seriale
Come risponde l'ESP: OK dovrebbe essere restituito se c'è un cambiamento nel CWMODE dal suo valore precedente ed è impostato su statico, altrimenti non dovrebbe essere restituito alcun cambiamento se non c'è alcun cambiamento nel valore CWMODE.
IMPORTANTE: a meno che CWMODE non sia impostato su 1, i comandi nei passaggi successivi non funzioneranno.
Invia AT+CWMODE? tramite il monitor seriale
Come risponde l'ESP: dovrebbe essere restituito il valore attuale di CWMODE, in particolare se si è seguito il passaggio precedente dovrebbe essere restituito +CWMODE:1.
Passaggio 12: connessione al Wi-Fi
Invia AT+CWLAP attraverso il monitor seriale
Questo comando viene utilizzato per elencare tutte le reti nell'area.
Come risponde l'ESP: dovrebbe essere restituito un elenco di tutti i punti di accesso o reti Wi-Fi disponibili.
Invia AT+CWJAP="SSID", "password"
(comprese le doppie virgolette).
Questo comando viene utilizzato per accedere a una rete Wi-Fi.
Come risponde l'ESP: OK dovrebbe essere restituito se il modulo è stato connesso alla rete.
Invia AT+CWJAP? attraverso il monitor seriale
Questo comando viene utilizzato per determinare la rete a cui è attualmente connesso l'ESP.
Come risponde l'ESP: Verrà restituita la rete a cui è connesso l'ESP. In particolare +CWJAP:"SSID"
Invia AT+CWQAP tramite il monitor seriale
Questo comando viene utilizzato per disconnettersi dalla rete a cui è attualmente connesso l'ESP.
Come risponde l'ESP: L'ESP esce dalla rete a cui è connesso e viene restituito OK.
Invia AT+CIFSR tramite il monitor seriale
Questo comando viene utilizzato per determinare l'indirizzo IP dell'ESP.
Come risponde l'ESP: viene restituito l'indirizzo IP dell'ESP.
Passaggio 13: Parlare di cose
Se non hai creato un account su Thingspeak, creane uno ora.
Dopo aver creato un account su Thingspeak, vai su App>ThingTweet.
Collega il tuo account Twitter con esso.
Prendere nota della chiave API che viene generata.
Qui, dopo che l'app ThingTweet è stata utilizzata per collegare un account Twitter al tuo account ThingSpeak, puoi inviare un tweet utilizzando l'API TweetContol.
Un'API (interfaccia del programma applicativo) è un codice che consente a due programmi software di comunicare tra loro.
Alcune altre API disponibili per gli sviluppatori sono l'API di Google Maps, l'API Open Weather ecc.
Solo dopo che l'ESP è stato impostato, verificato e connesso al wifi (in pratica tutti i passaggi indicati nei 2 passaggi precedenti), eseguire i passaggi indicati di seguito
Passaggio 14: altri comandi AT
Invia AT+CIPMODE=0, attraverso il monitor seriale
Come risponde l'ESP: viene restituito OK.
Il comando CIPMODE viene utilizzato per impostare la modalità di trasferimento.
0=modalità normale
1=Modalità passthrough UART-WiFi
Invia AT+CIPMUX=1 attraverso il monitor seriale
Come risponde l'ESP: viene restituito OK.
Il comando CIPMUX viene utilizzato per impostare connessioni singole o multiple.
0=connessione singola
1=connessione multipla
Passaggio 15: configurazione della connessione TCP
Tieni presente che a partire dal primo comando, non appena invii il primo, la connessione verrà stabilita solo per un tempo limitato. Quindi invia i comandi il più rapidamente possibile.
Invia AT+CIPSTART=0, "TCP", "api.thingspeak.com", 80 attraverso il monitor seriale
Come risponde l'ESP: Linked viene restituito se la connessione è stata stabilita.
Questo comando viene utilizzato per stabilire una connessione TCP.
La sintassi è AT+CIPSTART=link ID, type, remote IP, remote port
dove
link ID=ID della connessione di rete (0~4), utilizzato per la multiconnessione.
tipo=stringa, "TCP" o "UDP".
IP remoto=stringa, indirizzo IP remoto (indirizzo del sito web).
porta remota=stringa, numero di porta remota (di solito selezionato per essere 80).
Invia AT+CIPSEND=0, 110 attraverso il monitor seriale
Come risponde l'ESP: > (maggiore di) viene restituito se il comando ha esito positivo.
Questo comando viene utilizzato per inviare dati.
La sintassi è AT+CIPSEND=link ID, length
dove
link ID=ID della connessione (0~4), per multi-connessione. Poiché CIPMUX è stato impostato su 1, è 1.
length=lunghezza dati, MAX 2048 byte. Generalmente scegli un numero grande per la lunghezza.
Passaggio 16: invio del Tweet
Ora per l'invio del tweet
Invia GET /apps/thingtweet/1/statuses/update?api_key=yourAPI&status=yourtweet attraverso il monitor seriale.
Sostituisci la tua API con la chiave API e il tuo tweet con qualsiasi tweet che desideri.
Non appena invii il comando sopra, inizia a premere invio (return) a intervalli di circa 1 secondo. Dopo un po' di tempo, SEND OK, +IPD, 0, 1:1 e OK verranno restituiti, il che significa che il tweet è stato pubblicato.
Apri il tuo Twitter e controlla se il tweet è stato pubblicato o meno.
Si noti inoltre che lo stesso tweet non può essere inviato ripetutamente.
La stringa sopra che è stata inviata (GET….), è una richiesta HTTP GET.
La richiesta GET viene utilizzata per recuperare i dati dal server specificato (api.thingspeak.com).
Passaggio 17: cosa fare dopo?
(Guarda il video in almeno 360p)
Vai a questo repository per scaricare il codice e gli schemi. Fai clic sul pulsante "Clone or Download" (di colore verde sul lato destro) e seleziona "Download ZIP" per scaricare il file zip. Ora estrai il contenuto sul tuo computer per ottenere il codice e gli schemi (nella cartella schemi). Ho anche caricato un cheatsheet, che riassume tutti i comandi AT, in questo repository.
Ci sono molte ottime risorse disponibili su Internet che si occupano di ESP8266. Ne ho menzionate alcune qui:
- Video di Kevin Darrah.
- ALLaboutEE video.
- esp8266.com
Puoi anche sperimentare di più con i comandi AT. Ci sono molte API disponibili su Internet che possono fare ogni sorta di cose come ottenere il tempo, i prezzi delle azioni, ecc.
Documentazione completa sui comandi AT
Inoltre sto attualmente lavorando su un programma che twitta automaticamente i valori analogici di un sensore e lo pubblicherò una volta che funzionerà correttamente.
Se ti è piaciuto il mio istruttivo votalo nel concorso Arduino all the things.
Consigliato:
Guida per principianti a Raspberry Pi: 6 passaggi (con immagini)
Guida per principianti a Raspberry Pi: da un po' di tempo lavoro con Arduino. È facile, economico e fa il suo lavoro. Ma ultimamente mi sono orientato maggiormente verso i progetti IoT. Così ho iniziato a utilizzare la scheda di sviluppo ESP e ha funzionato perfettamente. Ma ora voglio andare verso
Come usare il multimetro in Tamil - Guida per principianti - Multimetro per principianti: 8 passaggi
Come usare il multimetro in Tamil | Guida per principianti | Multimetro per principianti: Ciao amici, in questo tutorial, ho spiegato come utilizzare il multimetro in tutti i tipi di circuiti elettronici in 7 passaggi diversi come1) test di continuità per la risoluzione dei problemi hardware2) misurazione della corrente continua 3) test diodi e LED 4) misurazione Resi
Una guida completa per principianti alla saldatura SMD: 5 passaggi (con immagini)
Una guida completa per principianti alla saldatura SMD: va bene, quindi la saldatura è piuttosto semplice per i componenti a foro passante, ma poi ci sono momenti in cui devi andare minuscolo * inserire un riferimento ant-man qui * e le abilità che hai imparato per la saldatura TH non lo fanno applica più.Benvenuto nel mondo di
Una guida per principianti ai microcontrollori: 10 passaggi (con immagini)
Una guida per principianti ai microcontrollori: cosa hanno in comune controller remoti, router e robot? Microcontrollori! Al giorno d'oggi, i microcontrollori per principianti sono facili da usare e programmare con solo un laptop, un cavo USB e alcuni software open source (gratuiti). Woooh!! Tutti i
Pike - Guida in modo più sicuro, guida in modo più intelligente, guida una picca!: 5 passaggi
Pike - Guida in modo più sicuro, guida in modo più intelligente, guida un luccio!: Benvenuto nel mio progetto chiamato Pike! Questo è un progetto che fa parte della mia formazione. Sono uno studente NMCT a Howest in Belgio. L'obiettivo era creare qualcosa di intelligente utilizzando un Raspberry Pi. Avevamo una completa libertà in cui volevamo rendere intelligenti. Per me è stato