Hoje fiz alguns ajustes no ESP8266, testando o OTA e escrevendo um servidor da web. Para encontrar um erro, reduzi o esboço para apenas as seguintes linhas:
#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();
}
Observe que não há código para conectar-se a uma rede Wi-Fi. No entanto, o chip ainda se conecta à minha rede local, protegida por WPA2, em cada inicialização. Posso executar ping no chip, meu navegador pode receber o "Olá!" mensagem via http, a mensagem serial é impressa.
Como isso é possível? O ESP8266 de alguma forma retém as informações de Wifi, talvez por causa de alguns dados antigos do OTA que não foram completamente substituídos?
Eu estou usando platformio. Aqui está todo o platformio.ini:
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
Publiquei o registro de compilação e upload aqui: https://pastebin.com/BtGrFZiu