ESP8266, problema di comunicazione

722 views
Skip to first unread message

Alberto Righetto

unread,
Feb 28, 2015, 9:57:04 AM2/28/15
to treviso_ardui...@googlegroups.com
Ciao a tutti,
sto giocando con un ESP8266-ESP01 ma ho problemi nell'inviare i comandi
AT sulla seriale.
Quando alimento l'ESP8266, sulla seriale leggo (Arduino IDE, baud 9600,
CR & NL, ttyACM0):
Vendor:www.ai-thinker.com
SDK Version:0.9.5(b1)
Compiled @:Dec 25 2014, 21:50:58
ready
Ma ogni tentativo di inviare comandi AT è vano. Semplicemente non
risponde e nemmeno il led blu sul modulo si accende, lampeggia solamente
all'accensione, mentre invia il messaggio riportato sopra. Nessuna
risposta, neanche di errore.

Il modulo è funzionante, risponde ai comandi AT inviati tramite
softwareSerial con uno sketch Arduino. Anche le connessioni sono ok,
sono perfino riuscito ad aggiornare correttamente il firmware alla
versione 0.9.5(b1) tramite esptool.py.

Per completezza, sto usando Ubuntu con Arduino IDE e Arduino Uno R3 come
convertitore USB-to-TTL (con jumper tra GND a RESET, per "escludere"
l'ATMEGA328P) e un logic level converter per RX/TX, uso un alimentatore
esterno a 3.3V per l'ESP8266.


Idee? Soluzioni?
Probabilmente sto incappando in un errore banale...
Grazie e buon weekend

Alberto



PS: ci siamo già visti (corsi/workshop) ma non sono mai riuscito a
passare in un giorno di ritrovo...

Samuele Zanin

unread,
Feb 28, 2015, 12:55:16 PM2/28/15
to treviso_ardui...@googlegroups.com


On Saturday, February 28, 2015 at 3:57:04 PM UTC+1, Alberto Righetto wrote:
Ciao a tutti,
sto giocando con un ESP8266-ESP01 ma ho problemi nell'inviare i comandi
AT sulla seriale.
Quando alimento l'ESP8266, sulla seriale leggo (Arduino IDE, baud 9600,
CR & NL, ttyACM0):
     Vendor:www.ai-thinker.com
     SDK Version:0.9.5(b1)
     Compiled @:Dec 25 2014, 21:50:58
     ready
Ma ogni tentativo di inviare comandi AT è vano. Semplicemente non
risponde e nemmeno il led blu sul modulo si accende, lampeggia solamente
all'accensione, mentre invia il messaggio riportato sopra. Nessuna
risposta, neanche di errore.

Non conosco l'arnese in oggetto, ma con che software ti colleghi via seriale? Minicom? Screen?
Se usi per comunicare la console seriale dell'ide di Arduinio, ocio che a memoria quando premi invio, non viene inviato il CR/LF sulla seriale.
Il fatto che tu riesca a vedere le scritte sopra, indica che il baudrate/controllo parità & co. sono corretti.


Il modulo è funzionante, risponde ai comandi AT inviati tramite
softwareSerial con uno sketch Arduino. Anche le connessioni sono ok,
sono perfino riuscito ad aggiornare correttamente il firmware alla
versione 0.9.5(b1) tramite esptool.py.

Tra quando usi lo sketch di Arduino e quando provi tu, non cambi nulla sui collegamenti giusto?

Alberto Righetto

unread,
Feb 28, 2015, 4:47:18 PM2/28/15
to treviso_ardui...@googlegroups.com

Per la comunicazione sulla seriale uso l'IDE di Arduino con impostato (menù a tendina in basso) CR/LF, in teoria così vengono aggiunti automaticamente quando premo invio, no?
Con lo sketch su Arduino, RX e TX sono collegati ai pin 2 e 3 (usando SoftwareSerial) e riesco ad inviare i comandi e ricevere le risposte che vengono ri-trasmesse sulla seriale hardware con dei semplici Serial.print().
Il problema ce l'ho quando provo a comunicare direttamente col modulo, senza passare tramite l'ATMEGA; in questo caso il pin RX del ESP8266 è collegato al pin RX di "Arduino" (che in quel momento in realtà funziona solo da USB-to-TTL) e TX con TX. Sembra strano collegare TX-TX e RX-RX ma funziona così e riesco, oltre che a leggere il messaggio di accensione del ESP8266, anche ad aggiornare il firmware, ma non riesco ad ottenere risposte ai comando AT.
Domani proverò con screen e minicom, grazie!

Ciao
Alberto

--
--
----
Per mandare un messaggio al gruppo "Treviso Arduino User Group", invialo a:
treviso_ardui...@googlegroups.com
Per annullare l'iscrizione a questo gruppo, invia un'email a:
treviso_arduino_use...@googlegroups.com
Per altre informazioni, visita la url:
http://groups.google.com/group/treviso_arduino_user_group

---
You received this message because you are subscribed to the Google Groups "Treviso Arduino User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to treviso_arduino_use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alberto Righetto

unread,
Mar 1, 2015, 11:39:10 AM3/1/15
to treviso_ardui...@googlegroups.com
Update:
il problema sta nel fatto che non sempre riceve quello che gli invio sulla seriale.
Con minicom mi sono accorto che non riesco a scrivere il comando "in una volta sola" ma devo stare li a premere moltissime volte ogni singolo tasto prima che il carattere venga inviato sulla seriale e trasferito al ESP8266.
Quello che mi lascia perplesso è che il firmware lo invio senza alcun intoppo, e sono relativamente molti dati.

Ciao
Alberto

Franco Prosdocimo

unread,
Mar 2, 2015, 12:32:17 AM3/2/15
to treviso_ardui...@googlegroups.com

ESP8266, .... gioie e dolori :-)

Stefanoxjx

unread,
Mar 2, 2015, 3:28:08 AM3/2/15
to treviso_ardui...@googlegroups.com
Ciao Alberto,
ma stai passando attraverso arduino o hai collegato l'ESP direttamente ad un convertitore FTDI?

Stefano
-- 
Stefano

Stefanoxjx

unread,
Mar 2, 2015, 3:29:29 AM3/2/15
to treviso_ardui...@googlegroups.com
Scusa, leggendo una mail precedento ho visto che passi tramite arduino.
Se hai un convertitore USB-TTL, prova ad usare direttamente quello bypassando arduino.


Stefano

Il 01/03/2015 17:39, Alberto Righetto ha scritto:
-- 
Stefano

Alberto Righetto

unread,
Mar 4, 2015, 7:20:47 AM3/4/15
to treviso_ardui...@googlegroups.com
Risolto (circa)
Per chi dovesse incontrare gli stessi problemi, lascio traccia della "soluzione" (workaround).

- Riesco a comunicare con comandi AT tramite:
    - convertitore FT232RL a 3.3V: perfetto, riesce ad alimentare il ESP8266
    - SoftwareSerial su Arduino: qualche problema di caratteri persi, necessario un logic level converter (se si usa una versione a 5V) e alimentazione 3.3V esterna

- Riesco ad aggiornare il firmware solamente tramite Arduino ed un logic level converter alimentato a 3.3V esterni (collegamenti: TX-TX, RX-RX e jumper su Arduino tra RESET e GND). Usando un FT232RL esptool.py restiuisce: raise Exception('Invalid head of packet')

Strano ma vero.
Ci vediamo, ciao!
Alberto




Il 01/03/2015 17:39, Alberto Righetto ha scritto:

Mirco Piccin

unread,
Mar 5, 2015, 4:38:23 PM3/5/15
to treviso_ardui...@googlegroups.com
Ciao,

> - SoftwareSerial su Arduino: qualche problema di caratteri persi,
> necessario un logic level converter (se si usa una versione a 5V) e
> alimentazione 3.3V esterna

puoi eventualmente ovviare il problema della comunicazione Arduino <->
ESP8266 usando o un partitore di tensione oppure usando una resistenza
da 2K2 tra il TX di Arduino e il RX del modulo.
Qualcuno per questa ultima soluzione potrebbe storcere il naso ma era
il workaround usato per la comunicazione con i moduli BT (stessa
tensione).

M

Franco Prosdocimo

unread,
Mar 7, 2015, 1:23:44 AM3/7/15
to treviso_ardui...@googlegroups.com

Se si devono adattare più pin da un livello logico all'altro es. dai 5 ai 3.3 Volt. segnalo anche l'uso di un CD4050 ll quale ne può gestire ben 6
Reply all
Reply to author
Forward
0 new messages