Come Programmare ESP8266 con Arduino Due
Come programmare ESP8266 con Arduino Due
Come programmare ESP8266 con Arduino Due? Grazie al fatto che sia i moduli basati sul ESP8266, come l’ESP-03 o l’ESP-12, sia Arduino Due funzionano a 3.3V, la programmazione è molto semplice. Andiamo a scoprire come.
Forse non tutti sanno che è possibile programmare molto facilmente uno dei tanti moduli basati sul SoC ESP8266 tramite un Arduino Due. Le strade percorribili sono 2:
- utilizzare direttamente il convertitore di Arduino Due connettendosi ai pin TX0 e RX0;
- creare un loopback seriale in modo da sfruttare due porte seriali qualsiasi di Arduino Due:
Utilizzo senza loopback (TX0, RX0)
In questo caso, appurare che il codice (sketch) programmato su Arduino Due non utilizzi la seriale in modo da evitare conflitti. Connettere direttamente i pin TX0 e RX0 di Arduino Due ai rispettivi pin TX e RX del modulo ESP8266 come da figura seguente.
TX0 <—> TX
RX0 <—> RX
GND <—> GND
Ricordarsi di connettere anche la massa e di porre il modulo ESP8266 in modalità programmazione. Utilizzare Arduino Due come se fosse un normalissimo convertitore USB-seriale.
Utilizzo con loopback
Caricare su Arduino Due il seguente sketch:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
int rx0 = 0; int rx1 = 0; void setup() { // put your setup code here, to run once: Serial.begin(115200); Serial1.begin(115200); } void loop() { // put your main code here, to run repeatedly: } void serialEvent() { // Serial RX0 while(Serial.available()) { rx0 = Serial.read(); Serial1.write(rx0); } } void serialEvent1() { // Serial RX1 while(Serial1.available()) { rx1 = Serial1.read(); Serial.write(rx1); } } |
Come osservabile, lo sketch è molto semplice e non fa altro che ascoltare quello che arriva sul pin RX0 e sul pin RX1 per trasmetterli ai pin TX1 e TX0. Schematicamente:
- il dato in arrivo su RX0 viene inoltrato a TX1;
- il dato in arrivo su RX1 viene inoltrato a TX0.
Connettettere i pin TX1, RX1 e GND di Arduino Due ai rispettivi pin RX, TX e GND del modulo da programmare come da schema seguente.
TX1 <—> RX
RX1 <—> TX
GND <—> GND
Porre l’ESP8266 in modalità programmazione ed usare l’Arduino Due come se fosse un normale convertitore USB-seriale.
Ciao!!!













[…] Sono riuscito a programmare il modulo anche tramite Arduino Due (originale) sfruttando le porte TX e RX come illustrato qui. […]