Ciao a tutti,
sto cercando di "parlare" al modulo wifi ma non ci riesco, o forse mi manca semplicemente un pezzo.
Ho collegato:
Arduino alla USB
uscita GND e VCC dell'Arduino ad un adattatore di tensione per ottenere da 5v i 3,3v
i 3,3v li ho poi collegati al VCC del modulo wifi e anche all'ingresso "chip power down" (tensioni misurate e a posto)
ho poi collegato il pin "0-TX" e "1-RX" dell'Arduino ai relativi "RX" e "TX" del modulo wifi ...
E adesso ?
Ho flashato uno sketch vuoto e provato a lanciare il "serial monitor" dell'IDE (con CR + 115200 baud), ma usando i comandi AT non ricevo nessuna risposta ... cosa mi son perso?
Ho provato degli esempi di sketch ma senza fortuna, mi pare di aver capito che devo usare "Serial1.xxx" per "parlare" tramite i pin "0" e "1".
Per dialogare con la seriale e usare il serial monitor, bisogna usare la libreria SoftSerial, e collegare l' ESP su i piedini prescelti con il software.
Magari si può usare anche i piedini 0 e 1, e senza nessuno sketch caricato, che dovrebbe permetterti di leggere e scrivere sulla ESP.
In secondo, la ESP ha l' impostazione di default che mi pare sia a 9600 baud, ma verifica con il manuale
ExperimentUno:
Per dialogare con la seriale e usare il serial monitor, bisogna usare la libreria SoftSerial, e collegare l' ESP su i piedini prescelti con il software.
Guarda che sta parlando di ATmega32u4 ...
... la Pro Micro (basata appunto su ATmega32u4) è una board simile alla Leonardo dove la Serial si riferisce alla connessione USB e la Serial1 alla seriale sui pin 0 e 1.
Leggete bene prima di fornire indicazioni errate ... :
Ho provato ad invertire i pin 0-1 sull'Arduino ... niente.
Questo il semplice pezzo di codice usato, dove ricevo sempre "Module gave no response":
void setup() {
// Open serial communications and wait for port to open:
Serial1.begin(115200);
Serial1.setTimeout(5000);
Serial.begin(9600);
Serial.println("ESP8266 Demo");
//test if the module is ready
Serial1.println("AT+RST");
delay(1000);
if (Serial1.find("ready")) {
Serial.println("Module is ready");
}
else {
Serial.println("Module gave no response");
while (1);
}
}
installato PYTHON 3.5.x
installato NODEMCU x recuperare l’immagine del firmware (nodemcu_integer_0.9.5_20150318.bin)
installato ESPTOOL
installati i driver per l’adattatore USB-seriale
collegato adattatore seriale al modulo wireless (mettendo a GND il pin GPIO0)
Dopo 1000+1000 imprecazioni e dopo aver installato una macchina virtuale Windows XP sul mio MAC ed aver installato NODEMCU FLASHER ed aver scaricato i lfirmware giusto in 4 parti ... funziona !!!
grazie mille a tutti, adesso si comincia a lavorare !
Cantato vittoria troppo presto ... collegando tutto all'Arduino (come descritto nel primo post) e usando i codice sopra riportato ... niente, solito errore ...
Le connessioni erano corrette, usando i pin 0 e 1.
Adesso sto analizzando il codice demo per capire le differenze rispetto al codice che usavo io.
Stranamente cambiando i baud non cambia e la comunicazione avviene comunque.
Ecco, è la Serial1 quella che parla col modulo, quindi è quella che setta la velocità. Se funziona sempre, meglio così, magari hanno implementato l'autobaud nelle ultime versioni. Era già disponibile nella modalità programmazione, se non ricordo male.