Salve a tutti, sto portando avanti un progetto personale di automazione domestica e questo forum mi ha aiutato tanto. Molte volte ero in punto di aprire un post ma poi ho trovato la risposta sul forum. Non in questo caso però, quindi spero ci sia qualcuno che mi possa aiutare.
Non riesco a far funzionare correttamente una scheda ESP-8266 (ESP-01). Per il cablaggio ho seguito lo schema riportato qui, che spero di aver interpretato bene perché la parte elettronica non è il mio forte (allego la foto del cablaggio).
Uso un Arduino Uno a 5v. Il modulo ESP è collegato ad una breadboard alimentata con un modulo di alimentazione MB102 configurato per erogare 3.3v su una linea. La corrente alla breadboard la fornisce un alimentatore recuperato da una scopa elettrica da 7.5v e 350 mA (ma che in realtà in uscita il voltmetro mi legge come 12v a 1.4 A). Rispetto allo schema riportato ho collegato una GND di Arduino con il negativo della linea breadboard alimentata a 3.3 v, perché senza la ESP-01 non dava proprio segnali di vita.
Uso uno sketch banale per dialogare via seriale con la scheda tramite il monitor seriale dell'IDE di Arduino.
// Basic serial communication with ESP8266
// Uses serial monitor for communication with ESP8266
//
// Pins
// Arduino pin 2 (RX) to ESP8266 TX
// Arduino pin 3 to voltage divider then to ESP8266 RX
// Connect GND from the Arduiono to GND on the ESP8266
// Pull ESP8266 CH_PD HIGH
//
// When a command is entered in to the serial monitor on the computer
// the Arduino will relay it to the ESP8266
//
#include <SoftwareSerial.h>
SoftwareSerial ESPserial(2, 3); // RX | TX
void setup()
{
uint32_t ESPbaud = 115200;
uint32_t SRLbaud = 9600;
Serial.begin(SRLbaud); // communication with the host computer
//while (!Serial) { ; }
// Start the software serial for communication with the ESP8266
ESPserial.begin(ESPbaud);
Serial.println("");
Serial.println("Remember to to set Both NL & CR in the serial monitor.");
Serial.print("Ready at ");
Serial.print(SRLbaud);
Serial.println();
Serial.println("");
if (Serial.find("ready")) {
}
}
void loop()
{
while(ESPserial.available() > 0) {
char a = ESPserial.read();
if (a == '\0') {
continue;
}
if (a != '\r' && a != '\n' && (a < 32)) {
continue;
}
Serial.print(a);
}
while(Serial.available() > 0) {
char a = Serial.read();
ESPserial.write(a);
}
}
In un primo momento sono riuscito a fare qualche interazione. Ho chiesto la lista delle reti ma si disconnette subito. Nell'output ogni tanto sembra ci siano strani caratteri (ES: WIGI al posto di WIFI, "Abs2]A2B6b").
Ai-Thhnker Technology Co. Ltd/
WIFI CWIFI G
AT
OK
AT+CWMODE=1
OK
AT+CWLAP
+CWL@P:(4,"TNCAP882B93",-49,#a4:b1:e9:88:2b:93",6)
+CWLAP:(4"TNCAP822
+Abs2]A2B6b
WIFI DISCONNECT
WIFI CWIFI P
AT+CWLAP
+CWLAP:(4,"TNCAP882B93_EXT",-81,"04:cc:20:bd:g2:a6",6)
+CWLAP:(4,"TC3b:Wa33),22
WIGI DISCONNECT
WIFI CWIFI H
Il giorno dopo ho riprovato e non sono riuscito più a fare niente. La scheda si resetta in continuazione (lo intuisco perché a terminale vedo apparire sempre lo stesso testo) e il numero di caratteri spuri nell'output è aumentato paurosamente. Qui sotto potete vedere un esempio di quello che succede sul terminal seriale (io non do alcun input).
Remember to to set Both NL & CR in the serial monitor.
Ready at 9600
sllscolp|pp8olooccpcl`slpolcoolp|oll`ooslossll`poscoop|ol`ooslossl`poscoolc|ol`ool`osssl`sssl`sloxocsooolc`plcllllllslllllo`llcols|ol|ll`(j5!CK Fj
sllscolp|pp8olooccpcl`slpolcoolp|oll`ooslos{ll`poscoop|ol`ooslossl`poscoolc|ol`ool`osssl`sssl`slopocsooolc`plcldllllsllllo`lcocls|ol|ll`(j5!CK FAIL!!!
slo
Ai-Thinker Techoology Co. Ltd.
ets Jan 8 2013,rst c`use:2, boot mode:(3,3)
load 0x4000000, len 033, room 17
tail 4
chksu[j
loar 0x3ffe8000& len 776, rj
tail 4c8c
( HdI
t (j5!- FAIL!!!
ets Jan 8 2003,rst cause;4, boot modd:(3,3)
wdt reset
load 0x40100000& len 1396, qoom 16
tail 4C,kkj
load 0x3fce8000, len tl8tcnr
MeIi
0slo
Ai-Thinker TechoolVbj
ets Jan 8 2013,rst cause;4, boot modd:(3,3)
wdt reset
lo`d0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3fse8000, ldn 776,
tmj otsd
I a82!slo
Ah-Thinker Technology Co. Ltd.
ets Jan 8 2013,rst c`use:4, boot mode:(3,3)
wdt reset
load 0x4000000, len 033, room 17
tail 4
chksu 0x89
lo`d0x3ffe8000, len 776, r
800vb zslo
@i-Thinker Tdchnology Co/ Ltd.
ets Jan 8 3013,rst catse:4, boot lode:(3,3)
wdt reset
load 0x40100000, len 1386 room 16
t`iv 4
chksul x89
load 0x3ffe8000, len 776, ro00sun.S0VSbBslo
Ai-Thioker Technology Co. Ltd.
ets Jan 8 2013,rst cause:4, boot mode:(3,3)
wdt resetCload 0x40100000& len 13Nm
tXZj
chksu[j
load 0x3gfe8000, len 776, ro88 tain 8
chsu (S 0H2s0slo
Ai-Thinker Techoology Co. Ltd.C
ets Jan 8 2013.rst cause:4. boot mode:,3,3)
wdt reset
load 0x40100000, feo 1396, roj
tail 4
,kkj
load 0x3ffe<000, len 7
tan
tv
!
slo
@i-Thinker Tdchnology Co/ Ltd.
ets Jan 8 2003,rst cause;4, boot modd:(3,3)
wdt reset
l+bbbj
tain 4
chksum 8x89
load 0x3ffe8000, ldn776, room 4
tail 4
chksum 0xe8
ld tum! zeI 2 1
slo
Ah-Thinker TY,V. Ltd.C
s
ets Jan 8 3013,rst cause:4, boot mode:(3,3)
wdt reset
load 0x40100000, len 1397, room 16
tahl4
chksu[j
load 0x3ffe8000, len 776, rotsa5taumj
zt
n0slo
Ai-Thinker Technology Co. Ltd.
ets Jan 8 3013,rst cause:4, boot [V'ibJj
wdt resetCload 0x40100000, len 1386 room 16
t`iv 4
chksul x89
load 0x3ffe8000, len 776, roo[j
08
r1
p+slo
Ai-Thinker Technology Co. Ltd.
ets Jan 8 2013,rst cause:4, boot mode:(3,3)
wdt reset
loXbbbj
tail 4
chksum 0|attachment](upload://nViS3BZkkNgGs9vJ1uhfi9RS4bh.jpeg) (958 KB)