Oggi ho provato ad armeggiare con un ESP8266, provando OTA e scrivendo un server web. Per trovare un errore, ho ridotto lo schizzo alle seguenti righe:
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
void setup() {
Serial.begin(115200);
server.on("/", []() {
Serial.println("Sending response...");
server.send(200, "text/plain", "Hi there!");
});
server.begin();
}
void loop() {
server.handleClient();
}
Si noti che non esiste un codice per connettersi a una rete Wifi. Tuttavia, il chip si connette ancora alla mia rete locale protetta da WPA2 ad ogni avvio. Posso eseguire il ping del chip, il mio browser può ottenere "Ciao a tutti!" messaggio via http, il messaggio seriale viene stampato.
Com'è possibile? ESP8266 conserva in qualche modo le informazioni Wifi, forse a causa di alcuni vecchi dati OTA che non sono stati completamente sovrascritti?
Sto usando Platformio. Ecco il mio intero platformio.ini:
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
Ho pubblicato il registro di compilazione e upload qui: https://pastebin.com/BtGrFZiu