ESP8266 arduino comandi AT

Qualche ordine fa ho acquistato dei moduli ESP8266 da usare con arduino per qualche interessante progetto wifi a basso consumo e costo.

ESP8266 WiFi Serial Transceiver Module

L’ESP8266 è un modulo WiFi molto economico, meno di 10 euro, che ti offre la possibilità di essere connesso facilmente ad un micro controllore, come arduino, mediante 2 pin seriali Tx ed Rx ed interagire con lo sketch mediante comandi AT.

Prima di avventurarmi in progetti con un componente nuovo eseguo sempre qualche test semplice, come quello che ti ripropongo, e nel quale oltre a verificare la facilità di utilizzo del componente eseguo anche un piccolo test funzionale per comprendere l’ambito nel quale posso impiegarlo e con quali limiti / rischi.

Caratteristiche dell’ESP8266

Cercando in internet ho trovato alcuni link che descrivono le caratteristiche di questo componente:

  • GitHub ho trovato una wiki interessante in cui sono riportati versioni, formati e pin presenti sui differenti modelli di ESP8266 che puoi trovare in commercio;
  • ESP8266 Community Forum raccoglie tantissima documentazione ed esempi di utilizzo
  • Iteadstudio ha pubblicato una guida completa ai comandi AT.

Questo solo per citare alcuni dei link in cui puoi trovare informazioni.

ESP8266 caracteristics

I comandi AT

Giusto per accennare ai comandi AT parto dalla definizione presa su wikipedia:

“La maggior parte dei modem fonici utilizza i comandi AT Hayes, uno specifico insieme di comandi originalmente sviluppato per il modem Hayes Smartmodem da 300 baud.

La stringa di inizializzazione consiste di una serie di comandi che prepara il modem per la comunicazione, impostando caratteristiche come il tipo di connessione, i tempi di attesa, la rilevazione delsegnale di occupato eccetera. Nei modelli di modem più recenti l’inizializzazione viene gestita da programmi con una qualche interfaccia grafica, in modo che l’utente non debba digitare questi comandi e neanche conoscerne l’esistenza.”

Per il mio test ho utilizzato alcuni dei comandi AT disponibili e supportati dall’ESP8266 prendendo come riferimento i comandi riportati in uno dei link suggeriti al paragrafo precedente.

Colleghiamo l’ESP 8266 ad arduino

il collegamento del modulo è molto semplice e puoi applicarlo sia alla versione uno del modulo sia alla versione 2 che differiscono per la presenza, o assenza, dei pin CH_PD,RST, GPIO0 e GPIO2 e per l’interfaccia di comunicazione seriale in quanto nella versione 1 ( sinistra ) l’interfaccia è di tipo RX/Tx nella versione 2 ( destra ) l’interfaccia è di tipo U0Rx/U0Tx ossia ( UART0 ):

ESP8266 connection pinout

io ho realizzato uno schema di connessione diretta ai pin 0 ed 1 di arduino in modo da utilizzare quest’ultimo come semplice passacarte verso l’ESP8266:

ESP8266 schema

 

Upload sketch to arduino

lo sketch che ho utilizzato è il più semplice di tutti, lo sketch vuoto:

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

la sua funzione è semplicemente permettere ad arduino di non far nulla e non interferire con la comunicazione seriale che transita direttamente al modulo.

Il primo test dell’ESP8266

Per il primo test devi utilizzare, come detto, i comandi AT in modo da comprendere quali operazioni potrai fare con il tuo ESP8266 direttamente connesso ad Arduino.

Inizia con aprire il monitor seriale dell’IDE, dopo aver collegato arduino al computer ed al modulo ESP8266 come descritto sopra.

Il monitor seriale devi configurarlo in modo che ad ogni invio di stringa seriale aggiunga al termine sia il carattere di fine riga sia quello di ritorno a capo, come in figura:

ESP8266 Serial Monitor Settings

inoltre è necessario che la velocità di comunicazione ( baud ) sia la medesima tra il modulo ed il monitor seriale.

Le velocità possibili per questo modulo sono 3: 9600, 57600 e 115200, ancora non mi è chiarissimo come distinguere quale velocità vada impostata per ciascun modello, posso dirti che dopo 2 prove la terza è quella che mi ha dato esito positivo e quindi ho impostato la comunicazione a 115200:

ESP8266 Serial Monitor Settings baud

trovata la giusta impostazione di comunicazione, in termini di baud, puoi inviare un reset al modulo con il comando AT+RST:

ESP8266 AT+RST result

a cui seguono una serie di informazioni restituite direttamente sul monitor seriale.

Puoi interrogare il modulo per farti restituire alcune informazioni quali la versione del firmware ( AT+GMR ):

ESP8266 AT+GMR firmware version

e successivamente ho chiesto al modulo di impostare la modalità operativa:

  • 1 Sta ( Station – CLient )
  • 2 AP ( Access Point )
  • 3 Both ( Entrambe )

usando il comando AT+CWMODE?, che permette sia di eseguire richieste di questo tipo sia di impostare la modalità desiderata, ho richiesto di visualizzarmi la modalità impostata:

ESP8266 AT+CWMODEora sia che la modallità in cui sta operando è Client ( 1 ) puoi passare a verificare quali reti WiFi ci sono nei paraggi e sono captate dal modulo, per farlo usi il comando AT+CWLAP:

ESP8266 AT+CWLAP scan wifi network

e scopri sia le reti disponibili sia i Mac Address delle interfacce che espongono le reti wifi.

Ora puoi chiedere al tuo modulo di eseguire la Join alla rete wifi:

ESP8266 AT+CWJAP join Access Point

con il comando AT+CWJAP che accetta come primo parametro l’SSID e come secondo parametro la password di accesso.

Infine per verificare che la join sia avvenuta correttamente ho chiesto al modulo di restituirmi l’Ip ricevuto dal router con il comando AT+CIFSR e poi ho confrontato il risultato, che vedi nella schermata precedente, con quanto presente sul router:

ESP8266 on router

Buona sperimentazione !!!

 

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/esp8266-arduino-comandi-at.html

203 commenti

1 ping

Vai al modulo dei commenti

    • davide il 25 Maggio 2015 alle 10:01
    • Rispondi

    Ciao,
    anche io sto facendo prove con questo modulo.
    Quello che volevo chiederti è: come hai collegato tu il modulo ad arduino, così facendo non lo danneggi?
    Siccome il modulo si alimenta a 3V3 i livelli su TX e RX dovrebbero essere a 3V3 giusto?
    Però i pin di arduino non escono a 5V?
    Non servirebbe un traslatore di livelli per sicurezza?

    Grazie

    ciao
    davide

    1. Ciao Davide,
      osservazione corretta il modulo ESP8266 base prevede una connessione RX/TX a 3,3v ( vedi versione uno del modulo ).
      Quella che ho utilizzato io è la versione due ( immagine a destra ) in cui i pin RX e Tx sono di tipo U0RX/U0TX ( UART0 ) che da wikipedia ( http://it.wikipedia.org/wiki/UART ) è a supporto delle interfacce RS-232 che a loro volta ( http://it.wikipedia.org/wiki/EIA_RS-232 ) risultano in grado di supportare tensioni da -15v a -3v e da 3v a 15v.

      Aggiungerò questa precisazione anche nell’articolo, grazie per aver posto la domanda.

        • davide il 25 Maggio 2015 alle 12:32
        • Rispondi

        scusami non era sfoggita questa differenza..
        Grazie a te per il tuo lavoro, che trovo sempre molto utile e interessante.

        Ho visto che si possono programmare con il linguaggio “LUA” questi moduli; parlerai anche di questo, nei prossimi articoli?

        • lesto il 29 Aprile 2016 alle 16:03
        • Rispondi

        assolutamente no, prego prova pure ad applicare il voltaggio a 12v che esce dalla tua seriale hardware del pc e vedi che bella frittura che fai.

        La rs232 prevede sì voltaggi a -+5v, MA esiste la VARIANTE TTL (5v) e LVTTL (3V).

        I pin ESP NON sono 5v tolerant e chiuque segua questa guida dannegga (anche se non in modo immediato) il proprio chip.

        1. Ciao Lesto,
          hai ragione, infatti in qualche commento ho segnalato la necessità di utilizzare uno shift-level.

            • Antonio il 14 Maggio 2017 alle 10:19

            Scusatemi ma a questo punto non ho più le idee chiare: posso collegare una ver. 2 del modulo direttamente a RX/TX di Arduino? Mauro, come devo collegarli quindi? Grazie in anticipo.

          1. Ciao Antonio,
            purtroppo sembra dipendere dalla versione della board. Ti consiglio sempre un level shifter da 5v a 3,3v e viceversa su TX ed Rx

    • Alessandro il 25 Maggio 2015 alle 15:10
    • Rispondi

    Ciao mauro, ho già fatto esperimenti su questo modulo usando il linguaggio LUA, tuttavia non riesco a mandarlo in sleep mode. (tra l’altro ho dovuto fare una saldatura tra il RST e la massa, richiesta altrimenti non si potrebbe mandarlo in sleep).

    Se dovessi affacciarti al problema, gradirei saperlo, magari ci salti fuori tu!

    Ciao, grazie.

    1. Ciao Alessandro,
      non mi sono ancora dedicato alla modalità sleep .. se mi capiterà di doverla utilizzare ne publicherò di certo un articolo.

    • bernardo il 25 Maggio 2015 alle 15:39
    • Rispondi

    ciao mauro!
    ho da poco acquistato questo modulino con l’intento di accendere qualche led da remoto, magari con un qualsiasi smartphone o pc ma non riesco ancora a trovare qualche guida adatta, potresti aiutarmi??

    ti ringrazio!!

    1. Ciao Bernardo,
      lo sto studiando anche io in questi giorni, se studi anche tu magari ci confrontiamo quando avrò pronto un progetto o lo avrai terminato tu.

        • bernardo il 25 Maggio 2015 alle 21:20
        • Rispondi

        d’accordo! 😉

    • Guido il 28 Maggio 2015 alle 01:43
    • Rispondi

    Ciao Mauro,
    non so se questo è il posto giusto per porti questa domanda comunque mi spiego. Vorrei connettere arduino ad internet tramite Wifi col metodo più economico possibile (quindi ho escluso la wifi shield). Come posso fare?
    Grazie

    1. Ciao Guido,
      ad oggi l’unico componente economico, inteso in termini di costo del componente stesso, che conosco in ambito WiFi è proprio l’ESP8266.
      Posta la domanda nel modo in cui l’hai formulata potrebbe non essere la risposta giusta. Dovresti essere più specifico su cosa desideri realizzare.

        • Guido il 3 Giugno 2015 alle 23:23
        • Rispondi

        Grazie mille per la risposta. Devo leggere dati da alcuni sensori e accendere vari led a seconda dei valori acquisiti utilizzando un’app android. ho acquistato ESP8266 Olimex ed è arrivato oggi ma ho dei problemi con la programmazione di questo perché non ho il cavo FTDI.

        ……..it/gp/product/B00SRRS5NM?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00#productDetails

        ………it/gp/product/B00R04ICDG/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

        Hai qualche suggerimento?

        1. Ciao Guido,
          non è consentito incollare link a siti generalisti e di vendita on-line che non mantengano costanti i loro prodotti.
          Purtroppo non conosco e non ho mai provato i componenti che stai utilizzando.
          Se è solo un problema di cavo FTDI puoi usare Arduino come interfaccia, come descritto in questo articolo ed in tanti altri sul web

    • Andrea il 28 Maggio 2015 alle 09:59
    • Rispondi

    Buongiorno Mauro,
    solo da poco mi sono avvicinato ed appassionato al mondo di Arduino e per motivi economici volevo acquistare un Arduino Uno Rev. 3 ed una scheda ESP8266. In merito al collegamento del modulo ESP8266 ad arduino ho letto di tutto e di più ma non ho ancora le idee chiare. Vorrei realizzare il collegamento diretto da te proposto senza complicazioni ulteriori dovute all’uso di diodi, resistenze, regolatori di tensione, alimentatori esterni, ecc e pertanto avrei delle domande da porti:
    1) Puoi postarci per favore un’immagine del tuo modulo Wi-Fi per comprendere bene la versione due dello stesso;
    2) Il collegamento diretto dell’ESP8266 versione 2, come da te illustrato nella parte alta di questa pagina, continua a funzionare senza problemi? nonostante le incompatibilità di tensione [3.5V (ESP) – 5V (Arduino)] e l’esosa richiesta di energia da parte dell’ESP (215mA), come evidenziato da molti utenti e soprattutto dalla documentazione tecnica del produttore. In particolare ho letto che alimentando l’ESP solo con Arduino 3.3V si possono verificare delle instabilità di funzionamento del Wi-Fi legate alla scarsa alimentazione di Arduino (solo 50mA).

    Certo di una cortese risposta
    Ringrazio anticipatamente ed auguro buon lavoro.
    Andrea Petrelli

    1. Ciao Andrea,
      l’immagine del mio modulo è esattamente quella mostrata nella prima immagine dell’articolo.
      Premetto che io ho utilizzato ancora poco il modulo ESP8266 e per poco tempo per cui i dati vanno considerati alla luce di questa informazione;
      Il modulo è stato connesso solo il tempo necessario ad eseguire qualche esperimento, 10/15min, per cui non si è danneggiato l’arduino; se avessi necessità di utilizzare l’ESP8266 per maggior tempo predisporrei un regolatore separato o l’uso di una ila esterna a 3,3v

      Discorso differente è la tensione TX Rx leggi nei commenti precedenti il discorso U0Tx U0Rx di cui la mia versione del modulo è dotata.

    • Andrea Petrelli il 28 Maggio 2015 alle 21:18
    • Rispondi

    Ciao Mauro,
    Grazie per la cortese risposta.
    Scusami se ritorno sulla domanda precedente ma credo che l’immagine a cui tu ti riferisci corrisponde all’ESP versione uno , infatti ti invito a notare che nella parte Inferire destra dell’antenna mancano dei componenti, forse dei led, che invece sono presenti nello scema rosso e nero riportato più in basso.
    Sull’ESP è possibile leggere le sigle U0Tx U0Rx, in modo da individuare la versione due?
    Ci puoi fornire le sigle presenti sui suoi componenti in modo da identificare correttamente l’ESP versione due?
    Ringrazio cordialmente
    Andrea

    1. Ciao Andrea,
      l’immagine l’ho presa direttamente dal sito da cui ho acquistato la mia, immaginavo corrispondesse al prodotto acquistato.
      Trovi il link al sito di acquisto, subito sotto l’immagine, puoi acquistare il tuo modulo da loro citando il mio articolo.
      Dai contati U0Tx e U0Rx puoi solo recuperare le informazioni sulla versione del firmware, come descritto nell’articolo.
      In generale un buon motodo empirico per capire se il tuo modulo è ver1 o ver2 è non collegare il pin CH_PD e collegarti via seriale: la ver1 funziona, la ver2 no.

    • pasquale il 28 Maggio 2015 alle 22:57
    • Rispondi

    ciao mauro ma posso programmarlo con arduino e poi staccarlo e farlo funzionare come antenna access point usarlo come prolunga per il wifi?

    1. Ciao Pasquale,
      senza arduino dovresti trovare un altro micro controllore con interfaccia seriale.

    • Davide il 3 Giugno 2015 alle 12:05
    • Rispondi

    ciao Mauro,
    ti espongo il mio problema:
    sto utilizzando anche io i modulini ESP8266 e ho modificato il firmware per farlo lavorare in nodemcu.
    Ho caricato correttamente il firmware, ma se prova a eseguire comandi o a caricare un file *.lua, non riesco perchè mi da errore di TIMEOUT (il software espolore intendo)
    Per caso è capitato anche a te?

    grazie

    ciao
    davide

    1. Ciao Davide,
      non ho ancora provato nessuna delle cose che mi hai descritto.
      Non so se ritoccherò il firmware alla luce di quanto mi scrivi 🙂

        • davide il 3 Giugno 2015 alle 15:22
        • Rispondi

        ciao Mauro,
        però se non carichi il firmware che ti dicevo io, ti perdi delle funzionalità intressanti del modulo come per esempio la possibilità di settarlo master I2C mettendo i 2 pin come SDA e SCL.
        Ti spiego cosa voglio fare:
        -collego il modulino wi-fi ad arduino in i2c e setto il modulino come “master reader” e arduino come “slave writer”
        -ad arduino collego vari sensori
        -tramite il modulino wi-fi interrogo in i2c arduino e mi faccio dare i valori dei vari sensori
        -invio tali valori in wi-fi a raspberry il quale tramite il cms “emoncms” analizza i dati e crea statistiche/grafici

        che ne dici? secondo te può funzionare la cosa?

        ciao
        davide

        1. Ciao Davide,
          probabilmente il firmware che hai caricato ti da molte interessanti potenzialità.
          Ciò che non farei è scomodare un Wifi per un ambiente limitato e nel quale dei trasmettitori XBee o semplici RF potrebbero bastare.

            • Davide il 4 Giugno 2015 alle 08:40

            Ciao Mauro,
            quello che dici è vero però è anche vero che un modulino wi-fi costa molto meno di un modulo XBee; per quanto riguarda il modulo RF sono un po dubbioso sulle velocità di trasferimento dati che riesci ad avere e sulla affidabilità della trasmissione.
            Ti aggiorno che ho trovato anche il modo per tornare al firmware che ti permette di utilizzare i comandi AT con il modulino WI-FI. Cosa stai provando a fare con questi modulini? secondo me con il firmware di default presente su questi modulini, sei un po limitato con quello che puoi fare 🙂

            Ciao
            Davide

          1. Ciao Davide,
            valuterò, ho sempre in mente tanti progetti e a volte avvio un progetto, poi mi dedico ad altro, poi mi dedico ad altro, poi mi dedico ad altro, poi mi dedico ad altro ed magari torno al primo..
            Per adesso sono in fase di test e sperimentazione con questi moduli.

    • Davide il 4 Giugno 2015 alle 12:54
    • Rispondi

    Ciao Mauro,
    se vuoi quando ho finito il mio progetto, ti posso scrivere un documento di quello che hai fatto e magari lo pubblichi sul tuo sito :); a me farebbe piacere.
    Anche a me piacerebbe creare un sito/blog o pagina facebook dove mettere dei tutorial semplici su arduino, raspberry e elettronica in generale, dopo tutti lavoro nel settore da 15 anni circa e qualcosina l’ho imparata.
    Tu cosa mi consigli di fare? da dove partire e cosa creare?se un sito, un blog da wordpress o una pagina facebook? come visibilità iniziale secondo me andrebbe bene anche facebook, tu che dici?

    Ciao
    davide

    1. Ciao Davide,
      a me farebbe piacere pubblicare i tuoi esperimenti e con alcuni altri appassionati con la tua stessa voglia abbiamo deciso di pubblicare gli articoli sul questo blog ma con credenziali da autore.
      Il vantaggio è stato reciproco: io ho beneficiato di alcuni articoli e spunti interessanti da offrire ai miei visitatori ed al contempo ciascuno ha ricevuto in cambio:
      – la visibilità di cui il blog già gode sui motori di ricerca
      – uno spazio a disposizione in cui scrivere e ritrovare i propri articoli, leggere i commenti e rispondere agli appassionati
      – la tranquillità di poter scriver quello che desideravano e quando
      – nessun costo di hosting/housing annuale

      Io ho anche aiutato qualcuno dal punto di vista editoriale all’inizio su sua richiesta.
      Se ti va possiamo adottare la medesima formula, conto di poter offrire questa opportunità sempre a più appassionati ed insieme contribuire alla diffusione della nostra passione.

      Se non ti interessa io ti consiglio un blog wordpress, del resto io ho scelto WP, all’inizio la visibilità è poca ma successivamente, dopo qualche centinaio di articoli, trarrai più soddisfazione che da una pagina FB.

        • davide il 4 Giugno 2015 alle 17:39
        • Rispondi

        Ciao Mauro,
        ti ringrazio per l’opportunità che mi dai; al momento è presto per dirti ti passo tutto un mio progetto finito perchè ne ho ancora di strada per finirlo, però la cosa mi interessa molto (mi è sempre interessato il divulgare idee).
        Se decido di fare un blog in wordpress per esempio, pubblicando qualche cosa anche sul tuo sito, posso come dici tu aumentare al visibilità del mio blog.
        Chiariamoci io lo faccio senza “scopo di lucro”, ma solo come passione e soddisfazione personale.
        Te lo dico sinceramente, il tuo è uno dei pochi blog che parlano di arduino in modo semplice e portano a termine un progetto, perchè in giro ci sono molti siti che fanno solo accenni alle cose e in modo confusionario.
        Per il momento ti ringrazio per la possibilità che potresti darmi, spero di riuscire a fare un tutorial il più semplice possibile 🙂
        Saresti interessato anche a dei tutorial di teoria o di nuove tecnologie?

        Grazie per la tua disponibilità. Se dovessi avere bisogno di consigli o un tuo parere su un tutorial che realizzo posso tranquillamente inviarti un email? spero che non mi fai pagare la tua consulenza :)?

        Ciao
        Davide

        1. Ciao Davide,
          comprendo e condivido le tue idee.
          In merito alla condivisione di articoli purché non ci siano duplicati io sono sempre disponibile a pubblicare i tuoi tutorial.
          Su tutorial di teoria, mandami pure qualche esempio via email così li valutiamo e ci confrontiamo.

          Se non chiedi un progetto su commissione, i consigli non si pagano 🙂

  1. Ma sei proprio sicuro che i PIN seriali della scheda tengano 5v?
    Io dalle specifiche tecniche: http://bbs.espressif.com/download/file.php?id=439 non vedo niente che indichi che possano tollerare piu’ di 3.0~3.6V.

    1. Ciao Andrea,
      il chip ESP8266 probabilmente no, ma io ho usato, come vedi in questo articolo, un modello di scheda che ha anche altri componenti e che da specifica funziona in UART Tx ed Rx.
      In generale posso dirti di averla utilizzata senza problemi con il mio arduino per l’esperimento che vedi descritto.

    • Andrea il 10 Giugno 2015 alle 15:16
    • Rispondi

    Ciao hai per caso provato a fare un web server? perchè io ho provato in tutti i modi ma non riesco ho provato anche ad aggiornare l’esp ma niente da fare

    1. Ciao Andrea,
      mi sembra pretenzioso un webserver usando un arduino ed un ESP8266.
      Se intendi realizzare una pagina statica che risponda al tuo Pc/Smartphone è un progetto che intendo realizzare ma per adesso sto ancora studiando le componenti da utilizzare.

    • Luca il 4 Luglio 2015 alle 18:23
    • Rispondi

    Salve, sono riuscito a fare tutto… ma quando provo a pingarlo… ho un ping spaventoso

    1500,650…sempre sopra i 600 comunque …. e a volte vado in timeout da richiesta scaduta.

    Cosa può essere?

    Grazie mille

    1. Ciao Luca,
      dovresti fare qualche test di rete più approfondito per comprendere se il problema possa dipendere dalla comunicazione tra il computer ed il router, tra l’ESP8266 e il router o se si tratti di pacchetti persi per un cattivo routing.

    • Prax il 17 Agosto 2015 alle 09:49
    • Rispondi

    Ciao Mauro.
    Confermo che l’ESP8266 non può essere usato direttamente collegato all’Arduino, il modulo deve essere usato con i livelli logici a 3.3V (Seriale) e anche l’alimentazione 3.3V dell’arduino non è sufficiente.
    Ho notato un altro problema sul tuo schema, hai collegato l’U0RXD del modulo con RX dell’arduino e U0TXD con TX.
    Ovviamente per funzionare devi collegare U0RXD con TX e U0TXD con RX, sicuramente nelle prove lo avevi collegato in modo corretto altrimenti non avrebbe funzionato. Avrai avuto una svista mentre lo disegnavi con fritzing.

    L’articolo è uno dei migliori in lingua italiana. Complimenti, bel sito.

    1. Ciao Prax,
      grazie per la correzione sul circuito è stata una svista.
      Corretto 🙂

      • Domenico Giacinti il 6 Gennaio 2016 alle 15:49
      • Rispondi

      Era giusto come collegato in precedenza… La dicitura RX su arduino indica i dati ricevuti dalla USB, quindi va collegato all’URXD del modulo, e di conseguenza il TX di arduino all’UTXD del modulo. Talvolta è necessario guardare gli schemi elettrici oltre che la serigrafia su PCB.

      1. Grazie Domenico

    • BITMANRC il 17 Settembre 2015 alle 05:11
    • Rispondi

    Ho acquistato ESP8266-01 da pochi giorni, ho scoperto che è un ai-thinker,
    collegando come consigli nello schema in alto, nel caricare i programmino mi da errori, se scollego il piedino CH_PD, allora mi fa caricare. quindi dopo caricato il programma, con o senza collegamento del piedino CH_PD, effettuo i comandi AT+…. ma nessuna risposta.
    cosa ne dici?

    ecco gli errori con CH_PD collegato

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x93
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x93
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x93
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x93
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x93

    e cosi via sino a 10.-……

    1. Ciao Bitmanrc,
      penso tu non abbia idea di come funzioni arduino e come utilizzarlo in modalità di semplice programmatore/interfaccia USB-Seriale.
      Trovi alcuni tutorial sul blog in cui ho descritto come fare.
      Lo sketch devi caricalo senza il modulo connesso, va bene anche solo disconnettere il CH_PD in quanto in questa modalità il modulo ESP8266 non funziona.
      Successivamente colleghi il modulo ed usi il monitor seriale per inviare i comandi AT senza caricare nuovamente lo sketch.

    • Bernardo il 17 Settembre 2015 alle 21:03
    • Rispondi

    Ciao Mauro,
    Volevo sapere se conosci qualche guida per poter dare dei comandi 0,1 sulle uscite digitali che dispone arduino da una pagina web o da app di terze parti come blynk.

    Grazie!

    1. Ciao Bernardo,
      sto provando a realizzare dei progetti con questo modulo, ti consiglio di cercare “web server ESP8266” ci sono molti esempi nel web.
      Non mi sento di consigliartene nessuno in particolare xché li sto valutando ancora.

    • Mattia il 19 Settembre 2015 alle 12:21
    • Rispondi

    Ciao!
    Sto cercando di comunicare con il mio ESP8266 attraverso la scheda Arduino usata come convertitore USB-seriale. Ho fleshato il codice vuoto, poi ho collegato in pin RX e TX rispettivamente agli TX e RX dell’arduino e (come letto anche da altri blog) ho collegato il pin RESET a GND, (invece di staccare fisicamente l’atmega, dato che ho la versione SMD). Tuttavia, provando anche diversi baud rate non riesco a comunicare con l’ESP (il modulo è funzionante perché utilizzando SoftwareSerial risponde). Noto anche che il led TX dell’arduino si illumina molto debolmente. Secondo te quale potrebbe essere il problema?

    1. Ciao Mattia,
      nel mio schema non c’è il reset connesso a massa, mi sorge il dubbio che crei qualche corto circuito che spiegherebbe la debole accensione del led di arduino.
      Se con la SoftwareSerial funziona, proseguirei con la comunicazione/programmazione mediante SoftwareSerial, come mai vuoi cambiare questa modalità?

        • Mattia il 21 Settembre 2015 alle 11:20
        • Rispondi

        Non ho continuato ad utilizzare la SoftwareSerial perché la lunghezza del buffer è di 64byte, troppo corta per poter leggere correttamente i messaggi dell’ESP8266.

        Grazie comunque della risposta, ho googlato un po’ in giro e ho trovato un approccio molto interessante su http://www.arduinesp.com

        1. Ciao Mattia,
          comprendo il limite dei 64byte. Interessante link lo consulterò certamente.

      • MIchael il 27 Settembre 2015 alle 19:54
      • Rispondi

      Sul datasheet dell’esp8266(https://nurdspace.nl/images/e/e0/ESP8266_Specifications_English.pdf) a pag.10 si può notare come il modulo abbia picchi di assorbimento fino a 215mA. Probabilmente il problema di Mattia è dato da questo.

      @Mattia: quale soluzione hai trovato al limite del buffer di 64byte? ho cercato sul sito che hai linkato ma non ho trovato riferimenti…

      Michael

      1. Ciao Michael,
        lascio visibile il tuo commento in modo che Mattia possa risponderti.

    • BITMANRC il 2 Ottobre 2015 alle 00:17
    • Rispondi

    Arduino+ESP8266, per ricevere e trasmettere, come in questo codice, cosa ha che non va ?
    inviando questo comando da htl 192.168.1.102/?Comando=33
    non mi va… cosa è che nn funziona.
    ps: per invio in GET è perfetto

    [[ codice rimosso in automatico ]]

    1. Ciao Bitmanrc,
      come avrai letto in fondo ad ogni articolo: è vietato incollare codici nei commenti. Il codice viene automaticamente rimosso dai commenti.
      Leggendo il tuo commento non comprendo cosa mi chiedi, se provi a descrivermi cosa accade provo ad aiutarti.

        • BITMANRC il 8 Ottobre 2015 alle 04:11
        • Rispondi

        ho un arduino mega
        adesso lo sto usando a inviare e ricevere dati tramite Ethernet,
        diciamo una domotica o cosa simile.
        pigiando il pulsante arduino invia tramite Ethernet una stringa ad una pagina XXXX.ASP
        con il comando GET… blablabla…..
        fin qui tutto ok
        adesso vorrei inviare e ricevere tramite ESP8266, quindi collegato alla rete wifi di casa e di conseguenza ad internet,
        sto usando un programma creato da
        https://petestechprojects.wordpress.com/2014/12/10/mini-server-on-arduino-esp8266/
        con questo aiuto riesco a ricevere dati da una pagina html o asp, insomma qualcosa che si colleghi all’indirizzo arduino+esp.
        la cosa che non riesco a fare, che arduino invii da solo in autonomia la stringa del tipo

        GET /ARDUINO.asp?Azione=22&Comando=CTRL&ArduinoIP=192,168,1,33

        quindi inviando questa stringa, la pagina che la riceve, memorizza tutto su un mysql.

        Temperatura, Pulsanti premuti per casa, ecc. vengono memorizza in mysql, al fine di avere un storico, facendo si che arduino invii il comando da solo per ogni evento verificato,
        inoltre dopo 120 secondi invia in automatico un comandi per aggiornare l’IP di casa, cosi la pagina ASP che utilizzo puà avere e collegarsi ad un IP valido e soprattutto l’IP mio…
        Grazie (Spero di essermi spiegato :-()

        1. Ciao BITMANRC,
          arduino lavora per cicli ( loop() ) per cui non dovresti aver difficoltà a inserire un contatore che arrivato al valore desiderato scateni l’evento di invio.
          Ci sono numerosi esempi online.

            • BITMANRC il 9 Ottobre 2015 alle 19:22

            non riesco a farlo, diciamo che in modalità ethernet, vado alla grande, ma con ESP8266, nulla da fare

            potresti indicarmi una parte dello steck da inserire in quel programma che ho linkato?
            Grazie

          1. Ciao Bitmanrc,
            purtroppo non correggo o aggiungo parti a sketch che non scrivo in quanto non sono così bravo da capire cosa fa l tuo sketch senza provarlo e provarlo è impossibile per questioni di tempo.
            Posso solo suggerirti di ragionare su come fare e consultare quanti più tutorial possibili per comprendere cosa fare.

    • BITMANRC il 15 Ottobre 2015 alle 04:11
    • Rispondi

    ok grazie

    • marco il 29 Ottobre 2015 alle 19:04
    • Rispondi

    un chiarimento: alcuni autori dicono che non conviene alimentare da arduino perche’ assorbe piu’ di 200mA e l’ingresso dei segnali deve essere di 3.3V, come mai non hai preso alcuna precauzione ? ti ringrazio in anticipo per i chiarimenti. ciao

    1. Ciao Marco,
      sono due considerazioni differenti:
      1. alimentazione sui 3,3v che su arduino uno eroga, da scheda tecnica ufficiale, 50mA ed il dispositivo ne assorbe fino a 200mA
      2. segnali a 3,3v sui pin dell’ESP8266 per Tx ed Rx e 5v su Arduino

      In generale per un test, come ho fatto io, puoi tranquillamente sorvolare perché nessun componente ne è danneggiato.
      Su un funzionamento prolungato è bene predisporre una alimentazione esterna a 3,3v per il punto 1 ed un adattatore di segnale per Tx ed Rx.

      In particolare per il punto 2, ho già risposto in altri commenti, che dipende anche dall’Hw su cui il componente è inserito in quanto il mio dispositivo ESP8266 è montato su una basetta ( versione 2 ) i cui ingressi Tx/Rx sono di tipo UART che supporta segnali a 5v.

    • Joseph il 30 Ottobre 2015 alle 17:32
    • Rispondi

    Ciao Mauro,

    per semplificare al massimo il sistema, il mio intento è quello di accendere/spegnere un led tramite arduino, utilizzando il modulo ESP8266. Per evitare il problema del voltaggio ho acquistato due moduli “Modulo ESP-01 ESP8266 WiFi Transceiver Module Arduino, PIC New version 8Mb FLASH” e l’adattatore “ADP-01 Adattatore per ESP-01 ESP8266 Breadboard Adapter Level Converter 3.3V- 5V”. Attualmente, per i test, utilizzo Arduino UNO e ESP8266 in trasmissione, mentre in ricezione utilizzo ESP2866 e Arduino Mega. Ho letto tutta la parte relativa al funzionamento dell’ESP8266 e sono riuscito a far dialogare i due moduli in Wi-Fi, uno come server e l’altro come client. Ma coma faccio ad accendere il led su arduino mega, mandando il segnale da arduino uno? Ho già provato ad utilizzare le classiche funzioni di scrittura/lettura seriale, ma non funziona. Non so se ho reso l’idea del problema.

    Avresti qualche forum dove si spiega come far comunicare due schede arduino tramite questi moduli wireless?

    Grazie

    1. Ciao Joseph,
      purtroppo non ho link da suggerirti.
      Tuttavia se sei riuscito a far comunicare i due moduli sai già utilizzare i comandi AT ed il passaggio a controllare i led passa da questa strada.

    • Paolo il 8 Novembre 2015 alle 12:35
    • Rispondi

    Ciao Mauro, sono nuovo nel mondo Arduino quindi ti chiedo scusa per la mia incompetenza

    Ho collegato l’ESP8266 all’Arduino come hai mostrato in figura, detto questo sembra andare si accende vedo la rete wifi ma non riesco a inviargli comandi da monitor seriale, cioè al momento che gli invio dei comandi rimane bianco il monitor seriale!

    Magari sto sbagliando qualcosa ma non capisco cosa:

    I collegamenti dovrebbero essere giusti, il circuito è molto semplice poi ti ripeto si accende, il modulo funziona, invece per comunicare carico lo sketch con il modulo staccato e apro il monitor seriale, riattacco il modulo e provo a inviare il comando AT+RST e non va, rimane bianco non mi restituisce niente!

    Non so più cosa fare! Probabilmente la mia poca conoscenza di Arduino non mi aiuta, secondo me sto sbagliando qualcosa di veramente stupido!

    grazie per la disponibilità e per il tutorial!

    1. Ciao Paolo,
      da quello che scrivi sembra che i comandi non arrivino al modulo, come fai a dire che vedi la rete WiFi?
      riesci ad eseguire lo scan dei SSID WiFi ?

        • Paolo il 8 Novembre 2015 alle 17:54
        • Rispondi

        Mi sono espresso male forse, con il termine funziona intendevo che il modulo si accende e se eseguo lo scan da un dispositivo tipo da un cellulare trovò la rete!
        Il problema e a monte, non riesco proprio a configurarlo!

          • michele il 8 Novembre 2015 alle 19:38
          • Rispondi

          anche io ho lo stesso problema, uso esp8266 01 con adattatore adp-01. il cell mi rileva la rete wifi(e indirizzo ip) ma non riesco a far comunicarlo con arduino Leonardo. nè cambiando baund o porta usb o tr e rx. niente

          1. Ciao Michele,
            arduino leonardo ha due interfacce seriali, trovi la descrizione sulla pagina ufficiale arduino.cc
            Io ti consiglio di utilizzarne una per comunicare con il PC ed una per l’ESP8266 senza ricorrere alla SoftwareSerial che con la Leonardo complica le cose.

        1. Ciao Paolo,
          potresti avere un problema di baud rate differente tra il tuo modulo e quello impostato su arduino, dovrai fare un po di test cercando di comprendere quale sia l’impostazione giusta per il tuo modulo.

    • Nicola il 30 Novembre 2015 alle 10:13
    • Rispondi

    Buongiorno,
    ho in mio possesso il modulo in oggetto e volevo provarlo ma ho alcuni dubbi:
    1) Il modulo funziona a 3,3 V quindi in tutti i progetti che ho visto su internet viene attaccato direttamente ad Arduino sui 3,3V. Tutti però riconoscono che il modulo in questione ha picchi di assorbimento di corrente di 320mA mentre sappiamo che Arduino sul pin 3,3V al massimo arriva a 150mA.
    Tutti infatti consigliano di alimentarlo esternamente, ma nessuno fornisce una soluzione pratica su come farlo. La mia domanda dunque è questa: avendo a disposizione 2 normali pile AA da 1,5 Volt (o 3 ricaricabili da 1,2V) messe in serie a formare 3V (o 3,6V)
    possiamo alimentare ugualmente il modulo wi-fi in oggetto? Dai datasheet del modulo leggo infatti che accetta in ingresso un range tra 1.7V e 3.6V).

    2) Alimentando separatamente Arduino e separatamente il modulo Wifi vale il concetto di massa comune per cui il Gnd del modulo Wifi e il terminale negativo delle pile in serie devono essere attaccati entrambi il pin Gnd di Arduino ?

    Grazie

    Nicola

    • Luca il 21 Dicembre 2015 alle 14:20
    • Rispondi

    Ciao, ho un problema abbastanza strano. Ho collegato tutto come hai scritto nell’articolo, e con un analizzatore wifi vedo che il modulo crea la rete, senza che io faccio niente.

    Il problema e’ che non riesco a inviargli nulla. Sui 9600 baud ottengo caratteri strani, anche senza scrivere nulla, e stessa cosa sui 57600. Sui 115200 invece rimane tutto bianco, anche se la barra di scorrimento aumenta, quindi puo anche essere che invii qualcosa.

    Ho due ESP8266 e 4 arduino uno, ho provato tutte le combinaizioni, cambiato i cavi. Niente da fare.

    Hai qualche idea?
    Grazie

    1. Ciao Luca,
      hai provato velocità di connessione seriale differenti, magari i tuoi moduli usano un baud rate differente.

        • Luca il 27 Dicembre 2015 alle 08:16
        • Rispondi

        Ciao Mauro, si ho provato tutte le velocità ma ottengo sempre gli stessi risultati.

        Luca

        1. Potrebbe essere danneggiato l’ESP8266 o mancargli il Fw.
          In entrambi i casi ti consiglio di approfondire sui siti dedicati a questo integrato come eseguire il ripristino del Fw o come verificare eventuali malfunzionamenti elettronici.

    • MARCO il 15 Gennaio 2016 alle 18:53
    • Rispondi

    CIAO MAURO, io quando metto at+cwmode? mi esce sempre 2, come faccio a cambiarlo?

    1. Ciao Marco,
      è scritto due righe sopra nella stessa immagine in cui mostro il comando.
      Se vuoi approfondire i comandi fai riferimento al manuale di cui ho messo il link.

    • vale il 24 Gennaio 2016 alle 13:09
    • Rispondi

    Ciao Mauro,
    Ho un problema col mio modulo ESP8266. Se carico uno sketch vuoto, come tu hai spiegato, e successivamente invio comandi AT, il modulo risponde senza problemi. Quando invece carico uno sketch per usare il modulo come server inviando i comandi dal web, non funziona. Ho provato a scrivere diversi sketch e usare alcuni trovati su internet, ma nessuno va.

    1. Ciao Vale,
      per gli sketch che hai trovato in internet devi chiedere ai rispettivi autori.
      Potrebbero esserci delle peculiarità che io ignoro.
      Io posso risponderti solo sui miei articoli e sketch.

    • zoomx il 26 Gennaio 2016 alle 21:10
    • Rispondi

    Mauro, non ti seccare, ma sarebbe meglio che modificassi lo schema elettrico in alto poiché non potrà mai funzionare. Arduino sulla linea a 3.3V fornisce solamente 50mA assolutamente insufficienti. Inoltre i pin dell’ESP8266 non gradiscono affatto i 5V e oltre a malfunzionamenti alla lunga si rischia di bruciare il piedino RX.
    Magari sostituiscilo con quello allegato al primo post di questo thread.
    https://forum.arduino.cc/index.php?topic=265682.0
    oppure ci sono altri schemi con traslatori di livello più sofisticati.

    1. Grazie Zoomx,
      lascio il tuo commento per chi volesse approfondire l’argomento.

  2. Ciao Mauro, sono Gabriele (quello della mano robotica con XBee).
    Un ragazzo mi ha chiesto se al posto del modulo XBee fosse possibile utilizzare questo ESP-01 (con ESP8266). Ti ripropongo il problema: utilizzando questo modulo dovrei inviare 5 segnali analogici letti dagli analog input dell’Arduino trasmittente ad un Arduino ricevente, nel più breve tempo possibile (15ms anche per permettere il movimento dei servomotori).
    Utilizzando il modulo XBee è piuttosto semplice perchè basta usare “Serial.write(…)” e “Serial.read(…)”, inoltre il modulo XBee è preconfigurato e non ha nemmeno bisogno di essere programmato via PC se si vuole usarlo subito.
    Con questo ESP la situazione è simile o c’è del codice da aggiungere? Perché ho notato che questo usa proprio il WiFi, ma il collegamento è simile a quello dell’XBee.
    Grazie per la pazienza Mauro!

    1. Ciao Gabriele,
      felice di leggere un tuo intervento sul blog.
      Si gli ESP8266 sono dei moduli WiFi e come tali il codice è più complesso in quanto il serial.write puoi comunque inviarlo ma devi farlo usando i comandi AT ed un protocollo TCP. La complessità sale ma potrebbe essere una bella sfida per te e per far evolvere il tuo progetto.

      Qualche osservazione:
      1. coinvolgi il ragazzo che ti ha posto l’esigenza per lavorare insieme, così che non debba fare tutto tu;
      2. considera che la latenza del WiFi potrebbe compromettere i tempi di risposta;
      3. sicuramente un vantaggio del WiFi è puoi concentrarti solo sulla mano e controllarla da Pc o in futuro da un’app.

    • nino il 29 Febbraio 2016 alle 10:19
    • Rispondi

    vedo che l’ argomento interessa tanto …mi chiedevo come fare per connettere un esp8266 a progetti arduino gia testati in modo da effettuare l’ upload di sketch da remoto tramite wifi

    1. Ciao Nino,
      non ho mai provato questa possibilità e non sono certo sia possibile.

    • Paolo il 3 Aprile 2016 alle 13:45
    • Rispondi

    Ciao Mauro , sto cercando di trovare il giusto settaggio del monitor seriale ma solo a 19200 baud al comando AT+RST mi restituisce questo messaggio ” i� ” (senza apici). negli altri settaggi niente.
    Ciao e grazie.

    1. Ciao Paolo,
      è un po’ basso 19200 e il risultato, lo vedi anche tu, non è leggibile.
      Prova a usare un interfaccia USB Seriale per connetterti al modulo.

    • lorenzo il 9 Aprile 2016 alle 19:53
    • Rispondi

    ciao, sto facendo un progetto e uso vari sensori ad esempio temperatura, pressione; e tramite il modulo wifi volevo ricevere i dati su palmare. come si fa a configurare l’esp 8266 come acess piont sempre con i comandi AT?

    1. Ciao Lorenzo,
      nella pagina di definizione dei comandi AT dovrebbe essere riportata la specifica per realizzare quello che desideri.

    • Andrea il 11 Aprile 2016 alle 11:27
    • Rispondi

    Ciao Mauro io ho un:
    esp01
    Anduino Leonardo oppure arduino Due
    Smartphone Android

    quello che io vorrei fare è una comunicazione seriale tra il mio android e l’esp01 (l’ho fatta tempo fa con hC-05 però è un bluetooth), l’esp lo volevo collegare possibilmente sul mio arduino (così ho la possibilità di avere più pin a mia disposizione) e leggere l’RX proveniente dal modulo

    Con il bluetooth che avevo ho impostato un rx e tx sull’arduino e collegato i corrispettivi rx e tx dell’hc05
    dopo di ché mi collegavo con il mio telefono sul modulo hc05 e il gioco era fatto, scrivevo su un serial monitor scaricato per android e poi mi compariva sul pc

    Non so quale sia il migliore AT o NODEMCU io preferirei usare l’AT così posso collegare l’esp01 con arduino ed avere più pin a disposizione

    Spero di essere stato chiaro

    1. Ciao Andrea,
      la descrizione di cosa vuoi fare è chiara, non ho compreso cosa mi chiedi.

        • Andrea il 12 Aprile 2016 alle 01:31
        • Rispondi

        non so come scrivere il codice ; non so cosa caricare sull’esp e cosa su arduino

        1. Ciao Andrea,
          posso solo suggerirti di studiare i miei esempi, la documentazione on-line sull’ESP8266 e imparare a scrivere quello che ti occorre.
          Diversamente non saprei come aiutarti.

            • Andrea il 13 Aprile 2016 alle 10:22

            Non riesco a trovare i tuoi esempi
            Ho un’altra domanda anche. è possibile comunicare in wifi tramite due esp01?

          1. Ciao Andrea,
            è tutto scritto in questo articolo, non ricordo di aver scritto molto su questo componente. Il web è ricco di esperimenti da seguire.
            Per la seconda domanda: la comunicazione WiFi degli ESP8266 è standard Tcp/Udp base poi devi decidere tu come usarla.

    • Giovanni il 13 Aprile 2016 alle 16:21
    • Rispondi

    ciao Mauro ti volevo chiedere se è possibile assegnare un indirizzo IP statico am modulo ESP8266

    1. Ciao Giovanni,
      si è possibile farlo, con i comandi AT puoi fare quello che desideri.

    • Tommaso il 27 Aprile 2016 alle 11:56
    • Rispondi

    Ciao, non riesco a collegare il mio Arduino mega all’Esp 8266, ho collegato come sta nell’articolo, però non riesco a farlo comunicare, non dà segni di vita, chi mi può dare una mano?

    1. Ciao Tommaso,
      hai verificato i collegamenti Tx ed Rx ? devono essere invertiti tra genuino ed esp8266.
      Un altro consiglio è di controllare/modificare la velocità di comunicazione che potrebbe essere anche di 115200.

    • Fabio il 28 Aprile 2016 alle 09:21
    • Rispondi

    Ciao Mauro, ho acquistato dalla Cina un modulo Esp8266 es01 versione 2 come il tuo nell’immagine a destra ho caricato nell’arduino lo sketch vuoto come suggerisci tu , ho parametrizzato il monitor seriale provando le tre velocità di comunicazione , ma qualsiasi comando AT io invio non ho risposta dal modulo i collegamenti vanno bene che cosa può essere? Problema di software interno al modulo?grazie

    1. Ciao Fabio,
      se i collegamenti sei sicuro siano corretti prova a variare la velocità di comunicazione, a volte è differente dalla mia.
      Se neppure così funziona potrebbe essere difettoso il componente o da aggiornare il firmware dell’ESP8266, trovi dei tutorial sul web.

    • Fabio il 29 Aprile 2016 alle 11:15
    • Rispondi

    Ciao Mauro,
    Innanzitutto grazie per la tua risposta, ti chiedo ancora una cosa io ho dedotto che il modulo sia una versione 2 grazie alla foto da te pubblicata ma non c’è un metodo sicuro per saperlo? Poiché i pin RX e TX io li ho collegati direttamente all’ Arduino senza alcun partitore. Grazie

    1. Ciao Fabio,
      la certezza la puoi avere dal produttore/venditore che deve rilasciarti la documentazione per utilizzarla.
      Ricorda che Tx dell’ESP8266 va su Rx di arduino e viceversa.
      Se devi usarla a lungo, e non solo per un test ti consiglio anche uno shiftlevel da 5v a 3,3v o il classico partitore di resistenze

    • Massimiliano il 29 Aprile 2016 alle 16:38
    • Rispondi

    Ciao Fabio.
    Sono finalmente riuscito a far funzionare il mio ESP8266 collegato con un Arduino Mega e si connette alla perfezione sul mio Access Point.
    Ho bisogno di memorizzare tramite una variabile string l’indirizzo IP dato dal DHCP (dell’access point) e che visualizzo tramite il comando AT+CIFSR sul serial Monitor.
    Chiedo scusa in anticipo per la mia ignoranza…ma se poi postarmi qualche esempio o indicarmi qualche link in merito.

    Ringrazio in anticipo

    Massimiliano

    1. Ciao Massimiliano,
      il valore di risposta AT+CIFSR è in realtà una stringa seriale in risposta alla tua chiamata.
      Puoi inviare il comando via seriale e metterti in ascolto usando un ciclo while che memorizzi il valore in una stringa.

      Se non sai come fare puoi prendere ad esempio uno qualsiasi degli esempi sulla comunicazione seriale e comprendere, leggendoli, come adattarti il codice.
      Purtroppo non conosco risorse on-line da consigliarti su cui si affronti del codice già pronto come serve a te.

    • Andrea il 4 Maggio 2016 alle 21:26
    • Rispondi

    Salve Mauro

    , io sto letteralmente impazzendo per trovare uno sketch o esempi per il modulo Esp8266.

    vorrei leggere l’aoutput di un file php sul mio sito ( un contatore visite) per poi visualizzare le visite su un display I2C seriale.

    per il discorso display nessun problema ma non riesco a partire con la scheda wifi. di sicuro devo fare un GET o readfile ma non so da dove iniziare. tra l’altro vedendo alcuni esempio utilizzano librerie che non trovo in rete .

    Lei potrebbe darmi qualche dritta gentilmente ??

    grazie

    1. Ciao Andrea,
      hai provato con il nodeMCU ha un firmware che supporta già molte implementazioni utili.

    • Andrea Corgiatini il 18 Maggio 2016 alle 07:28
    • Rispondi

    Ciao Mauro. Ho un modulo esp8266-01. Il problema è il seguente: ho il led blu acceso, la wifi è vista ad esempio dal mio cellulare, ma il modulo non accetta più nessun comando AT. Se lo sconnetto e riconnetto nulla cambia. Tale comportamento si è attivato successivamente ad aver inviato un comando di AT+RST.
    Uso Arduino come interfaccia. Fino a quando avevo il solo led rosso acceso, il modulo rispondeva ai comandi AT. Come mai? Come faccio a sbloccarlo?

    Grazie per tua risposta

    1. Ciao Andrea,
      il led blu acceso mi lascia pensare che il modulo sia in modalità di programmazione firmware, tuttavia i moduli di questo tipo non hanno sempre gli stessi colori dei led per indicare le modalità per cui dovrai indagare meglio sullo stato del dispositivo facendoti aiutare dal datasheet del produttore.

    • MAURIZIO il 12 Giugno 2016 alle 12:17
    • Rispondi

    buongiorno,
    si potrebbe usare come modem wifi per connessioni internet ,collegandolo alla porta usb con il convertitore adattatore “USB to RS232 Serial TTL” ?

    grazie
    Maurizio

    1. Ciao Maurizio,
      intendi usarlo come UsbKey WiFi?
      Non l’ho mai visto utilizzare in questo nodo.

        • MAURIZIO il 13 Giugno 2016 alle 20:44
        • Rispondi

        Ciao Mauro,
        si, intendevo un uso come UsbKey,volevo collegare la scheda ,direttamente al dipolo di una antenna direttiva.

        1. Ciao Maurizio,
          confermo di non averla mai vista utilizzare in questo modo, non escudo sia possibile con un apposito firmware.

    • Alex il 6 Luglio 2016 alle 16:26
    • Rispondi

    ciao ! è possibile utilizzare piu moduli per diversificare il segnale di impulso radio?

    1. Ciao Alex,
      intendi per andare su canali differenti del WiFi ?

    • Giosuè il 28 Settembre 2016 alle 17:48
    • Rispondi

    Ciao Mauro, ho acquistato il modulo esp8266 in modo da poter accendere i led da remoto ma la mia intenzione non era quella di programmare il modulo bensì quella di ricevere un dato(stringa, bit o altro) da un dispositivo e farlo interpretare da arduino per fargli poi svolgere le azioni che gli programmo. E possibile che arduino e esp8266 non possono proprio comunicare? C’è un metodo che non conosco o un sito che dovrei guardare?GRAZIE UN ANTICIPO

    1. Ciao Giosuè,
      arduino ed ESP8266 possono comunicare via seriale, io ti consiglio l’uso della SoftwareSerial per simulare la comunicazione seriale su pin differenti dal Tx ed Rx classici di arduino.
      Nel mio blog trovi molte info in merito a questo metodo di comunicazione.

    • Alessandro il 8 Ottobre 2016 alle 16:04
    • Rispondi

    Ciao e complimenti x il lavoro svolto…
    io vorrei usare due moduli esp8266 per comunicare esclusivamente
    tra due arduini senza passare x nessun modem/router wifi
    è possibile ?
    Grazie
    Saluti

    1. Ciao Alessandro,
      si è possibile creando una rete ad-hoc con uno dei due ESP8266 e connettendo il secondo all’SSID generato dal primo.
      Se ti occorrono delucidazioni sulle reti puoi leggere qualche manuale di networking e WiFi che è molto dettagliato sull’argomento.

    • leonardo marche il 17 Ottobre 2016 alle 20:47
    • Rispondi

    Buona sera Mauro,
    ho fatto la programmazione dell’ESP8266 Spakfun tramite IDE( e scheda ) arduino utilizzando i piedini 10 e 11 come tx/rx ( via software serial).
    Tutto perfetto, ho configurato il modulo come STA , configurato ssid/pw ecc. si connette e gli viene dato il suo IP dal DHCP del router di casa.
    Il modulo dalla fabbrica mi e’ arrivato a 115200 baud, tramite AT+CIOBAUD l’ho impostato a 9600 ( per diversi motivi, piu’ avanto potro’ usare velocita’ maggiori).
    Cosa e’ successo : faccio un bel AT+RST e tanti saluti. Il modulo si rimette a 115200 baud ( stessa cosa se spengo e riaccendo il tutto).
    La cortesia che Le chiedo e’ suggerirmi come mettere in memoria non volatile i dati di programmazione del modulo ESP8266.
    La ringrazio anticipatamente per la risposta che vorra’ darmi.
    Un cordiale saluto.
    L. Marche
    Milano

    1. Ciao Leonardo,
      il comando AT+RST mi sembra faccia proprio il reset alla configurazione iniziale.
      In merito alla perdita di configurazione in mancanza di alimentazione non ricordo che accada by design, hai verificato in internet se esistono tutorial in cui correggono tale comportamento?

        • leonardo marche il 20 Ottobre 2016 alle 21:03
        • Rispondi

        Buona sera Mauro.
        innanzitutto grazie per la risposta. prima si disturbare te ho passato sere a girare su internet per cercare info ma non ho trovato nulla di utile. Quello che piu’ e’ “strano” e’ che un reset ( o anche una banalissima mancanza momentanea di alimentazione) ripristina TUTTI i parametri iniziali , quindi si perde anche le configurazione wifi( ssid,pw, ma anche la sceltatra STA o AP del sistema , cose fondamentali!!). A mia memoria nei modem esiste, appunto per evitare questi casini, l’istruzione AT&W che mette in memoria non volatile quanto scritto dai comandi AT. ma nel set di istruzioni offerte non c’e’ nulla di simile.
        Mi sembra davvero assurdo che si perda la configurazione per questi motivi.
        Se qualcuno nel “blog” ha soluzioni , esperienze simili od opposte in merito , ‘ ovviamente e’ il benvenuto.
        Per quanto riguarda il tuo interessamento, ribadendo il mio grazie, ti chiedo se puoi perdere ancora qualche minuto per vedere se ti viene un ” colpo di genio” per superare l’ostacolo. questa cosa mi sta bloccando tutto l’attuale lavoro.
        Grazie ancora e una buona serata.
        Leonardo.

        1. Ciao Leonardo,
          hai provato ad aggiornare il firmware del modulo? In alternativa hai provato altri moduli ESP8266, potrebbe essere un malfunzionamento del tuo componente.
          Se mi viene in mente altro ti scrivo.

            • leonardo marche il 27 Ottobre 2016 alle 12:36

            Buon giorno Mauro, risolto l’enigma.
            ho ordinato altri due moduli identici,utilizzato le stesse procedure di programmazione e tutto ok ( spegnendo il modulo non si perdono i parametri).
            rimesso su quello originale , allo spegimento la configurazione wi-fi si perde.
            morale…. modulino “difettoso”.
            meglio cosi’ , almeno tutto si e’ ricondotto a una cosa logica e comprensibile.
            grazie ancora per la collaborazione e la pazienza.
            L.M.

          1. Ottimo Leonardo.

    • Emanuele il 25 Ottobre 2016 alle 17:28
    • Rispondi

    Ciao Mauro, complimenti per l’articolo, vorrei sapere se potresti aiutarmi. Ieri ho seguito la tua guida e il modulo funzionava perfettamente, oggi invece quando do il comando AT+CIFSR per visualizzare l’indirizzo ip l’indirizzo è scorretto e mostra sempre lo stesso ip a prescindere dalla rete wifi a cui è connesso. Spero in una tua risposta, grazie tante.
    P.S.
    Il mio modulo (uguale a quello che usi tu) funziona solo se inverto i pin tx e rx rispetto a come sono indicati nella tua guida.

    1. Ciao Emanuele,
      sei certo che la connessone stia avvenendo correttamente alla rete wifi?
      Hai accesso al router per verificare che IP ha assegnato al tuo modulo?
      Se le connessioni sono invertite probabilmente il modulo è apparentemente identico al mio ma possiede dei cablaggi differenti.
      I produttori sono tanti e potrebbero aver eseguito l’inversione sul pcb.

    • Paolo il 8 Novembre 2016 alle 00:06
    • Rispondi

    Ciao Mauro,
    sul mio iPad c’è una App che trasmette via WiFi delle stinghe NMEA ad es. all’ IP 191.168.10.15:10110 con modalità UDP. Se mi collego con il mio PC posso facilmente acquisirle. Vorrei farle leggere da Arduino tramite l’ ESP8266 per poterle poi elaborare per un mio progetto. Mi interessa particolarmente la bussola.
    I comandi AT possono essere dati con uno sketch Arduino o devo per forza passare dal Monitor Seriale?
    Non rieso a trovare esempi di lettura tramite comandi AT (AT+IPD?)
    Puoi farmi tu un esempio?
    Grazie
    Paolo

    1. Ciao Paolo,
      si i comandi AT puoi anche inviarli con il Serial.println( …. ) attedendo i tempi di risposta ed analizzandoti i dai ricevuti per il tuo progetto.
      In merito ad un esempio non ho in progetto a breve di farne.
      Qualora pubblicassi degli articoli in merito ti avviso.

    • Danilo il 10 Dicembre 2016 alle 12:32
    • Rispondi

    Ciao mauro e da tempo che seguo le tue guide e volevo ringraziarti per quello che fai….

    avrei solo una domanda come posso per fare una richiesta http quando si eccita un sensore pir collegato ad una scheda arduino mega ???

    1. Ciao Danilo,
      con quale shield vuoi eseguirlo ?

        • Danilo il 19 Dicembre 2016 alle 09:45
        • Rispondi

        Con arduino mega e esp8266

        1. Ciao Danilo,
          dovrai farlo usando i comandi AT, anche se non ho mai scritto articoli in merito, dovrai provare a scrivere il codice sia lato Arduino Mega sia lato ESP

    • Federico il 13 Gennaio 2017 alle 15:54
    • Rispondi

    Ciao mauro, vorrei chiederti un consiglio. Ho letto grossomodo tutti i commenti e ho compreso le problematiche di questo modulo:
    1. Esp8266 richiede 200mA ma arduino ne eroga solo 50 dalla porta a 3.3V
    2. Se non ho mal capito necessità anche di un convertitore per quanto riguarda le interfacce seriali di comunicazione? Potresti spiegarmi meglio questo problema?
    Infine vorrei chiederti come potrei bypassare questi problemi in modo facile, economico e veloce in base alla tua esperienza. Il mio obiettivo è effettuare una lettura da remoto dei dati rilevati da arduino, magari mediante la creazione di un piccolo sito.

    1. Ciao Federico,
      il primi problema non esiste, riguarda l’alimentazione e non i pin.
      Il secondo vul dire che ti serve un level shifter che di solito io acquisto da robotics-3d e ti adatta dai 5v i segnali ai 3,3v che ti servono.

    • Matteo il 13 Gennaio 2017 alle 18:31
    • Rispondi

    Salve,
    seguo sempre i suoi tutorial e li trovo tra i migliori nel web per chiarezza e semplicità.
    Vorrei una piccola informazione,
    ha pubblicato sul suo sito altri tutorial con questa scheda o conosce siti attendibili dove potrei imparare ad utilizzarla in una maniera più approfondita?(Es: web server per controllo da internet di una scheda arduino)
    Grazie mille e complimenti per il sito!

    1. Ciao Matteo,
      per verificare se nel sito ci sono altri tutorial in merito ad un argomento puoi eseguire una semplice ricerca.
      Ci sono nel Web tanti siti che parlano della ESP8266 e sono a mio avviso tutti attendibili se sai comprendere di cosa parlano e come lo trattano.
      In merito a quanto scritto tra parentesi: ESP8266 non è arduino.

    • Simone il 22 Gennaio 2017 alle 17:25
    • Rispondi

    Ciao Mauro.
    Ho appena terminato un progetto con arduino per gestire la funzione di alba, giorno,tramonto tramite un rtc esterno di un anno intero di programma con sd esterna! MI sono divertito.
    Dunque ne sto facendo un altro.
    Avevo visto questo modulo, mi chiedo, la connessione wifi deve passare direttamente da un router/modem oppure può stabilirsi tra telefono e dispositivo?
    Perche nell’ultimo caso sarebbe veramente interessante come approccio per sviluppare applicazioni su smartphone.

    1. Ciao Simone,
      il modulo ESP8266 puó generare una rete WiFi a cui connetterti con il cellulare.

    • Vincenzo il 10 Aprile 2017 alle 14:58
    • Rispondi

    Ciao Mauro, innanzi tutto grazie per la guida: conosco un minimo arduino ma sono un neofita dell’esp8266. Dopo ore e ore di ricerche, test etc. utilizzando la configurazione di cui sopra sono riuscito a comunicare con l’ESP tramite monitor seriale (utilizzando i vari comandi AT).
    Ad un certo punto per ridurre la velocità di comunicazione dell’esp a 9600 (per poter utilizzare softwareSerial con Arduino) ho usato il comando “ AT+UART_DEF=9600,8,1,0,0 ” ma come risposta ho ottenuto un errore, allora ho provato il comando “ AT+IPR=9600” (anche questo trovato in un tutorial) e da li si è rotto tutto: riavviando l’esp il led blu è rimasto acceso in maniera fissa. “Googolando” ho visto che l’unica cosa da fare è “flashare” il modulo ricaricando da capo il firmware. Per farla breve ho effettuato l’operazione più volte utilizzando diverse versioni di firmware (quelle con i comandi “AT”, quella NodeMCU) ma non sono più riuscito a riportare il modulo allo stato iniziale. Devo precisare che l’operazione di caricamento del firmware va a buon fine (durante il caricamento il led blu dell’esp8266 lampeggia e i software utilizzati per l’upload del firmware non mi danno errore): hai qualche suggerimento su quale possa essere il prossimo step o cosa posso provare?
    Grazie mille e ancora complimenti.

    1. Ciao Vincenzo,
      premetto che non mi è mai capitato quello che descrivi ma penso dipenda dal fw installato sul chip ESP8266.
      Hai cercato nel sito esp8266 dot com ? Mi sembra di aver letto tempo fa che esistono diversi firmware e che solo alcuni di questi accettano il comando “AT+UART_DEF=9600,8,1,0,0” ma on ho mai letto del comando “AT+IPR” non so cosa faccia.

        • Vincenzo il 11 Aprile 2017 alle 07:50
        • Rispondi

        Grazie per la celerità della risposta e per i tuoi suggerimenti. Non entro nel dettaglio ma ho fatto altri test senza successo. A questo punto punto per essere sicuro di “uploadare” il firmware in maniera corretta sull’ESP8266 incriminato e per escludere problemi di tensione o qualunque tipo di “disturbo” ho ordinato l’adattatore USB FT232RL FTDI (dovrebbe arrivare in settimana). A quel punto riproverò e se la cosa va a buon fine ti farò sapere!

        1. Ottimo Vincenzo.
          Se vorrai condividere la tua esperienza i un articolo, i test ed il successo ottenuto il blog è a tua disposizione.
          Leggi nella sezione “collabora al blog” come inviare un articolo e sarò lieto di pubblicarlo a tuo nome.

    • Ruben il 20 Aprile 2017 alle 22:28
    • Rispondi

    Ciao Mauro
    sono un appassionato di elettronica ma non un ‘guru’. Ultimamente mi sto divertendo con i microcontrollori tipo ‘Picaxe’.
    Secondo te questo modulo nato per ‘Arduino’ potrei usarlo con altro controllore?
    Grazie

    1. Ciao Rube, l’ESP8266 non è nato per arduino.

    • Benito il 3 Maggio 2017 alle 21:25
    • Rispondi

    Ciao mauro! Ho provato a collegare il mio modulo wifi ad arduino, seguendo quanto hai espresso precedentemente, ma nel monitor seriale non mi compare nulla! Ho fatto tutto e non capisco quale sia il problema:(

    1. Ciao Benito,
      controlla bene i collegamenti e prova velocità differenti potrebbe essere impostato su valori diversi dai miei.

    • Fabrizio il 11 Maggio 2017 alle 13:20
    • Rispondi

    Ciao Mauro
    Complimenti per il sito e i temi trattati.
    Ho una domanda su ESP8266. Sai se é possibile rimuovere i messaggi di boot provenienti dalla seriale quando si avvia esp8266?

    In pratica é comune che all’avvio la esp invii dei messaggi di debug a un baudrate che può essere 115200 o 78400. Questa cosa può essere piuttosto fastidiosa, soprattutto se si desidera usare esp8266 standalone.

    La mia board é un dev kit nodemcu.
    Ho provato a flashare dei bin del firmware AT e anche l’ultima release del nodemcu ma niente. Sembra che si trovi nella ROM.
    Saluti

    1. Ciao Fabrizio,
      domanda interessante .. non ho mai provato o letto nulla in merito.
      Se fossero nella ROM dubito possano essere rimossi.
      Nel boot del firmware hai verificato che non ci sia qualche istruzione, che possa essere rimossa, che esegue l’invio di queste info?

    • andrei il 18 Maggio 2017 alle 18:01
    • Rispondi

    salve uongiorno ho fatto l’esperimento vorrei aggiungere la pasword al nuovo wifi che si genera

    1. Ciao Andrei, nei comandi AT dovrebbe essere prevista questa possibilità.

    • Nicola il 4 Giugno 2017 alle 19:52
    • Rispondi

    Ciao Mauro, avrei bisogno di un tuo aiuto, ho provato a collegare attentamente l’arduino al l’esp8266 ma non riesco a vedere nulla nel monitor seriale, o provato anche d abbassare la velocità ma nulla, riesco a rillevare la sua rete wifi che genera e mi collego ma non riesco a programmarlo, mi potresti aiutare? grazie nicola

    1. Ciao Nicola,
      il fatto che generi una rete potrebbe dipendere da una programmazione ed un firmware esistente, solitamente questo non inibisce la comunicazione seriale, tuttavia la certezza la puoi avere solo dal produttore e fornitore che sa dirti se ha pre-caricato qualche firmware specifico e a che velocità puoi comunicare con il chip.

    • alessio il 8 Agosto 2017 alle 12:14
    • Rispondi

    sto seguendo la tua guida usando un level shifter ma non riesco a farlo funzionare, collegando il vcc al pin LV dello shifter neanche si accende, collegandolo direttamente ai 3.3v del nano si ma non riesco a comunicarci 🙁
    chissa dove sbaglio, ho provatto tutti i baud

    1. Ciao Alessio,
      non so che tipo di level shifter tu stia usando, l’unico che ho provato io è quello della Sparkfun e devi fare molta attenzione alle tensioni che utilizzi per l’alimentazione, le vuole entrambe per funzionare.
      Se vuoi un consiglio, cerca in questo blog come si fa un partitore di resistenze e calcolane uno da applicare al pin Tx di arduino verso il pin Rx del ESP8266-01, è la soluzione alternativa che io utilizzo più spesso.

        • alessio il 1 Settembre 2017 alle 16:41
        • Rispondi

        Grazie Mauro era un problema di alimentazione del modulo esp8266, alimentando con l’alimentatore un arduino uno riesco a comunicarci… ora devo capire come scrivere i dati del sensore sul database 😀

        1. Ottimo Alessio !!!

    • Roberto il 6 Settembre 2017 alle 14:42
    • Rispondi

    Ciao Mauro,
    è possibile che in tutte le pubblicazioni (comprese le tue) trovi sempre il modulo ESP8266-01 connesso con TX-RX E RX-TX ad Arduino, mentre io riesco a “caricare” sketch SOLO con RX-RX e TX-TX anche con diversi Arduino e diversi ESP8266-01 ?
    Eppure ho controllato bene le connessioni.
    Reset +3.3v
    CH_PD +3.3v
    GPIO0 GND
    RX -> RX di Arduino ??? Perchè funziona solo così?
    TX -> TX di Arduino ??? Perchè funziona solo così?
    Ho provato CON e SENZA convertitore di livetti 5v-3.3v
    Grazie

    1. Ciao Roberto,
      la comunicazione seriale avviene SOLO invertendo TX ed RX tra i due device, motivo per cui trovi concordi tutti gli articoli su internet.
      Su Arduino Uno originale, o genuino Uno originale, Rx corrisponde al pin 0 e Tx al pin 1 e devono essere rispettivamente connessi ai pin Tx dell’ESP8266-01 e Rx dell’ESP8266-01 o qualsiasi altro modello di ESP8266

    • Roberto il 6 Settembre 2017 alle 15:38
    • Rispondi

    Mauro, ho capito leggendo i tantissimi commenti del tuo Blog.
    Il pin 0 riporta 0 -> RX e 1 -> TX. Quindi è corretto ESP8266 RX su 0 di Arduino e TX su 1 di Arduino.
    Ho letto male la serigrafia. Ovviamente è il contrario di quello che appare sul mio modello di Arduino.
    Ho capito bene ?
    Grazie comunque per l’attenzione
    Roberto

    1. Ciao Roberto,
      vedi commento precedente.

    • natale il 11 Settembre 2017 alle 11:18
    • Rispondi

    complimenti, ottimo tutorial

    1. Grazie Natale,
      mi fa piacere ti piaccia e ti sia utile.

    • Paolo il 14 Dicembre 2017 alle 11:43
    • Rispondi

    Buongiorno Mauro,sto impazzendo con ESP-01, uno sketch di Arduino mi ha crashato il firmware del modulino, ho tentato il ripristino in decine di modi con FW scaricati dal WEB, ma niente da fare. La programmazione avviene correrttamente, ma quandoapro il pin reset di Arduino Mega il TX del modulino mi fornisce un segnale con H=3,3V. e L=1,5V: e non funziona. Durante la programmazione il segnale TX del modulino è corretto, H=3,3V. L=0V:
    Sai darmi qualche spiegazione?.
    Grazie Paolo

    1. Ciao Paolo,
      dalla descrizione sembra un problema non legato al FW ma ad un guasto hardware.

        • Paolo il 14 Dicembre 2017 alle 19:14
        • Rispondi

        Ciao,
        anche io ho pensato all’hardware, però stranamente durante il download funziona benissimo, poi ne ho due, uno da 8Mbit ed uno da 16 Mbit ed entrambi si comportano allo stesso modo.
        Comunque domani me ne arrivano altri e proverò quelli.
        Se dovessi aver bisogno di riscrivere la flash in futuro, sai darmi i files corretti da scaricare, ne ho trovati a centinaia ma non riesco a capire con che metodo scegliere quelli giusti.
        Scusa il disturbo e grazie.
        Ciao
        Paolo

        1. Ciao Paolo,
          purtroppo non ho un sito di riferimento da cui recuperare tali files.
          Se riesci ti consiglio di eseguire un backup da quelli nuovi che ti arriveranno e caricarlo sui due non funzionanti.

            • Paolo il 15 Dicembre 2017 alle 19:22

            Ciao Mauro,
            ci avevo pensato ma non so come fare il backup.
            I nuovi arrivati fanno la stessa cosa, quando li setto a 9600 smettono di funzionare, all’accensione il TXD spara furi un treno di impulsi, poi il pin va stabile basso (0V.), si accende fisso il led blu e non riceve più i comandi, mi sembra di impazzire…
            A dimenticavo ho provato con un Arduino mega e due Arduino uno, stessa cosa.

          1. Ciao Paolo,
            in ce senso hai provato con Arduino mega e Arduino uno ?

            • Paolo il 15 Dicembre 2017 alle 19:35

            Ho trovato la soluzione in rete, è il comando AT+IPR=9600 che danneggia il firmware, occorre usare AT+UART_DEF=9600,8,1,0,0.
            Scusa se ti fatto perdere tempo, intanto se mi puoi dare una indicazione sul come eseguire il backup, è ben accetta.
            Grazie ciao

          2. Ciao Paolo,
            grazie per la delucidazione, non avendo tu scritto il comando che utilizzavi per impostare i 9600 non riuscivo a capire cosa stessi facendo.
            Sul backup non ricorso, dovresti cercare nel web, in tanti lo hanno scritto.
            In merito al problema ho trovato in rete questa soluzione: http://www.esp8266.com/viewtopic.php?f=6&t=1997 in cui è segnalato anche il link al Fw 0.9.2.2 ( https://docs.google.com/file/d/0B3dUKfqzZnlwdUJUc2hkZDUyVjA/edit ) che dovrebbe risolvere il problema.

            • Paolo il 18 Dicembre 2017 alle 12:21

            Grazie ciao

    • max il 23 Gennaio 2018 alle 13:38
    • Rispondi

    Buon giorno, trovo il vostro lavoro meraviglioso per i neofiti come me.
    Volevo chiederle, se lo sa, visto che non ho trovato un confronto in rete, la differenza tra il modulo nrf24l1 ed il modulo ESP8266.
    Vorrei comandare arduino da remoto tramite wifi, ma mi sembra di aver capito che il modulo nrf24l1(in mio possesso) consente solo la comunicazione tra 2 o più moduli uguali su 2 o più microcontrollori.
    Non ho trovato altri esempi o spiegazioni sull’utilizzo.
    Se potesse darmi qualche info gliene sarei molto grato.

    1. Ciao Max,
      l’errore di concetto penso risieda sulla comprensione della parola Wireless ( letteralmente: senza fili ) che spesso viene associato alle comunicazioni di tipo network, basate su radiofrequenza e protocolli di comunicazione ma che nella sua accezione più ampia è applicabile a qualunque tipo di comunicazione che non faccia uso di fili.
      In particolare NRF24L1 è un modulo di comunicazione in radiofrequenza, principalmente punto-punto, mentre sarebbe riduttivo definire l’ESP8266 un sistema di comunicazione wireless perché è molto di più come puoi leggere in moltissimi miei articoli.

    • Roberto il 13 Febbraio 2018 alle 15:54
    • Rispondi

    Ciao Mauro, grazie per i tuoi tutorial veramente completi e semplici da seguire.
    Sono riuscito a configurare ESP8266 tramite seriale con i comandi AT, riesco a pingare l’ip configurato.
    Volevo sapere adesso con la scheda arduino Uno come poter inviare dati all’esterno. Un Upoload con php pero’ usando come collegamento ESP8266. Una volta configurato ESP8266 come posso uscire su internet con Arduino uno e ESP8266. E’ possibile avere un esempio che segue il tutorial che hai fatto?

    Grazie Mille!!

    1. Ciao Roberto,
      con i comandi AT, studiandoli, dovresti essere in grado di eseguire una chiamata ad una pagina HTTP presente sul Web, scritta in php o altro linguaggio, passandole in GET dei parametri.
      Tra i miei tutorial trovi alcuni esempi di chiamate HTTP eseguite con delle librarie per la wifi o gprs shield.
      Su Google ci sono numerosi esempi di chiamate GET con comendi AT, ti consiglio di iniziare leggendo i tutorial dedicati a tali comandi.

        • Roberto il 13 Febbraio 2018 alle 17:33
        • Rispondi

        Io Ho seguito il tuo tutorial sull’irrigazione… volevo sapere se con ESP8266 configurato gia’ con i comandi AT era sufficiente poi per collegarsi le librerie
        #include
        #include
        e usare il mac address della ESP8266
        byte mac[] = { };
        char server[] = “www.xxxxxx.com”;
        Grazie per la disponibilita’!!

        1. Ciao Roberto,
          non penso, ma non ho mai verificato.

    • Luigi il 14 Febbraio 2018 alle 23:46
    • Rispondi

    Ciao Mauro innanZitutto complimenti e grazie per aver inserito questa guida pratica ed intuitiva, io ho un problema, non riesco a gestire il modulo dallo smartphone o dal pc con qualsiasi app che sia Blynk o che sia cayenne, riesco a comunicare con i comandi at, ma non mi serve a nulla in quanto non riesco a far nulla a distanza con Arduino. Potresti aiutarmi? Grazie in anticipo saluti

    1. Ciao Luigi,
      per interfacciarti con i module ESP8266 da Blink o con Internet ti consiglio di leggere gli articoli in cui uso le librerie di connessione fornite da Blynk.

    • Riccardo il 21 Marzo 2018 alle 21:01
    • Rispondi

    Ciao Mauro,
    ho letto il tuo articolo ma ancora non credo di aver compreso a pieno i funzionamento dell’esp8266, nonostante abbia gia consultato altri siti che ho trovato discordanti. Premetto di non essere un esperto di arduino, ma è già da qualche mese che lo sto utilizzando. La mia domanda dunque è questa: una volta acquistato il modulo wifi in questione, come procedo? lo devo “settare” in qualche modo?

    p.s. utilizzo un modulo molto simile al tuo

    grazie per il tuo tempo

    1. Ciao Riccardo,
      spero di aver capito quello che dici anche se dubito, ti pongo qualche domanda:
      – cosa intendi per “utilizzo un modulo molto simile al tuo” simile quanto ?
      – cosa intendi fare ?
      – che cosa trovi discordante ?

        • Riccardo il 22 Marzo 2018 alle 13:46
        • Rispondi

        La mia è una esp8266 01 ESP-01
        La mia intenzione sarebbe quella di accertarmi che il modulo funzioni facendo ciò che hai fatto tu, e successivamente di collegarlo alla mia rete wifi.
        Su atri siti ho letto che bisogna collegarlo con un ttl converter e caricare sul modulo un sofware ( così ho capito), mentre su altri ( come il tuo ) viene detto solamentre di collegarlo ad arduino. Dopo aver letto questi articoli ho immaginato che esistessoro vari modi per configurare esp8266 a seconda delle esigenze. Quindi prima di procedere ad ulteriori acquisti ho deciso di rivolgermi a te.
        Spero tu mi possa aiutare.

        Grazie
        Riccardo.

        1. Ciao Riccardo,
          la collego direttamente perché il mio modello, come scritto in altri commenti, supporta i 5v ( 5v tollerant ) ma consiglio di usare sempre un adattatore o ttl converter o level shifter.
          Si puoi fare cose come quelle che hai scritto, certo non sono semplici e richiedono studio e sperimentazione ai fini di conoscenza.

    • Ivan il 26 Aprile 2018 alle 10:27
    • Rispondi

    Buongiorno, ho seguito questo tutorial usando un esp8266 nodemcu (quindi la scheda già pronta).
    Il pc la trova come COM5, installando tutti i driver necessari, ma l’IDE di arduino non riesce a caricare lo sketch, anche vuoto.
    Questo è l’errore che mi dà in continuazione:

    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed

    Ho provato a fare alcune ricerche, ma non ho trovato la soluzione a questo problema.
    La scheda è nuova, appena arrivata, esculo che sia rotta… Potresti aiutarmi? Grazie in anticipo

    1. Ciao Ivan,
      hai selezionato la NodeMcu versione corretta nel tuo IDE ?
      Lo sketch che ho proposto è semplicemente uno sketch vuoto per consentire ad arduino di parlare con l’ESP8266, nel tuo caso probabilmente non necessario in quanto la NodeMcu è già il componente ESP8266.

    • Pietro il 17 Maggio 2019 alle 13:59
    • Rispondi

    Ciao Mauro complimenti sempre per i tuoi lavori, sempre impeccabili volevo chiederti una cosa che mi succede dopo aver finito di programmare il modulo, in pratica dopo la programmazione scritta da te, lo riavvio e dopo il riavvio non mi funziona più, e mi rimane la lucina blu sempre accesa, come se trasmettesse dei dati.
    E per farlo funzionare lo devo flashare di nuovo, davvero assurdo….

    Cosa può essere?

    1. Ciao Pietro,
      controlla di aver inserito ed impartito i giusti comandi AT.
      Ricorda che con i comandi AT se non ricevi un OK è probabile che il comando non sia andato a buon fine.

    • Dario D'arpa il 21 Maggio 2019 alle 15:35
    • Rispondi

    Ciao Mauro,
    ho un problema un pò atipico, ho la necessità di fare comunicare tramite esp arduino con matlab/simulink.
    Lo strumento di calcolo fornisce dei toolbox per le comunicazioni udp/tcp dove ti chiede indirizzo ip e porta utilizzati, ma non riesco a farlo comunicare in alcun modo. Io penso che il problema sia nel fatto che quando mando il comando AT+CIPSTART=type,addr,port mi restituisce errore. consigli?

    1. Ciao Dario,
      vuoi utilizzare l’ESP8266 come server?

        • Dario D'arpa il 21 Maggio 2019 alle 17:15
        • Rispondi

        devo pilotare una macchinina e tramite matlab devo inviare ad arduino il valore di pwm, e ricevere da arduino i valori dell’accellerometro.

        1. Ciao Dario,
          ripeto la mia domanda perché probabilmente non sono stato chiaro la prima volta: “vuoi utilizzare l’ESP8266 come server?”
          Ossia desideri che l’esp8266 sia server o client nella chiamata?

            • Dario D'arpa il 27 Maggio 2019 alle 14:27

            voglio che sia client, tramite sketch vuoto, aggiungendo ai tuoi comandi
            -at+cipmux=1
            – AT+CIPSTART=4,”UDP”,”192.168.X.X”,8080,1112,0
            sono riuscito riuscito ad avviare la comunicazione tra matlab e arduino(ho verificato sia ricezione che trasmissione)
            ora non capisco come scrivere uno sketch per usare questi dati .

          1. Ciao Dario,
            quindi non vuoi che sia vuoto lo sketch, ti serviva solo per il primo test.
            Se vuoi usare i comandi AT puoi farlo con i Serial.print/Serial.println e Serial.read, trovi moti tutorial in merito nel web.

    • Antonio il 22 Maggio 2019 alle 16:44
    • Rispondi

    Ciao Mauro
    Ho acquistato una esp8266 a 8 pin. Ho seguito i tuo esempio per usare i comandi AT.
    tutto ok (connesso al router con nome e pass.) Meraviglioso e grazie.
    Connesso in AT+CWMODE=1
    Domanda: vorrei caricare il BLINK per accendere e spegnere un led.
    in che AT+CWMODE 1 o 2 o 3 ?
    Grazie

    1. Ciao Antonio,
      le modalità che puoi impostare con il comando CWMODE sono relative al WiFi e ti servono per definire come deve comportarsi la scheda relativamente al wifi.
      Dovrebbe essere indifferente quale modalità imposti per il BLINK ( inteso come esempio del led che lampeggia )
      Se invece ti riferisci all’app per controllare la ESP8266 da cellulare o tablet allora puoi scegliere sia la 1 sia la 3.

    • Claudio il 19 Settembre 2019 alle 22:57
    • Rispondi

    Ciao a tutti,
    sono un tecnico progettista elettronico e da un po’ ho iniziato ad usare gli ESP8266.
    Recentemente sto avendo dei problemi con la seriale software che spesso perde la comunicazione. Ho notato che il segnale sul pin TX non è stabile in frequenza e varia in continuazione il baudrate; di poco ma sufficientemente per non essere riconosciuto dal ricevitore.
    Qualcuno mi sa dare qualche indicazione? Potrebbe essere qualche interrupt abilitato per default?
    Grazie in anticipo.
    Claudio

    1. Ciao Claudio,
      lascio il tuo commento a disposizione di tutti coloro che possano in qualche modo darti un suggerimento.

    • Davide il 14 Gennaio 2020 alle 13:10
    • Rispondi

    Ciao Mauro,
    comlimenti per i tuoi articoli, molto chiare te tue spiegazioni.
    Ho acquistato una scheda wemos mega che sicuramente conosci, un arduino mega con ESP8266 onboard, ho caricato un firmware at su esp8266, inviando comandi at tutto ok, quando la configuro per comunicare con la sezione arduino mega tramite txd3/rxd3 comunica correttamente con arduino, si connette al mio router, sul serial monitor appare CONNESSO A miarete mi assegna indirizzo ip, se faccio un ping a quell’indirizzo tutto ok, pero’ se vado sul browser non funziona (lo schetch arduino e’ un webserver che attiva dei rele’ e su NODEMCU funziona perfettamente, ovviamente la versione per il MEGA e’ modificata), se faccio NMAP (S.O. Linux kali) NON APPARE NELLA LISTA!! pero’ risulta connesso e risponde a ping…
    Come da regolamento non pubblico il codice… cosa ne pensi?
    Grazie in anticipo e ti saluto cordialmente.
    Davide.

    1. Ciao Davide,
      si comporta allo stesso modo anche se usi nmap direttamente sull’IP ?

        • Davide il 21 Gennaio 2020 alle 06:31
        • Rispondi

        Ciao Mauro,
        Si’ … ma ho risolto, utilizzavo male la libreria wifiesp, non ho ancora capito dove era il problema esattamente, comunque ho sostituito un pezzo di codice con webserverled, in dotazione con la libreria di cui sopra, e ora funziona perfettamente, grazie per il tuo tempo, se riesco a capire cosa esattamente non va d’accordo con wifiesp lo posto, magari puo’ essere utile ad altri.
        Davide.

        1. Ottimo Davide.

    • Giacomo Di Iorio il 1 Luglio 2023 alle 20:28
    • Rispondi

    Grazie Mauro!
    Con le tue indicazioni sono uscito dalla situazione di stallo in cui ero fermo da giorni.

    1. Sono molto contento Giacomo, grazie per aver condiviso il tuo commento, fa sempre piacere poter aiutare un appassionato arduino.

  1. […] Per programmare i micro controllori a 3,3v tipo ESP8266 ho in passato usato l’arduino uno ( leggi: esp8266 arduino comandi at ). […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.