Hoy hice algunos ajustes con un ESP8266, probé OTA y escribí un servidor web. Para encontrar un error, reduje el boceto a solo las siguientes líneas:
#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();
}
Tenga en cuenta que no hay código para conectarse a una red Wifi. Sin embargo, el chip todavía se conecta a mi red local, segura con WPA2, en cada arranque. Puedo hacer ping al chip, mi navegador puede obtener el "¡Hola!" mensaje a través de http, el mensaje en serie se imprime.
¿Cómo es esto posible? ¿El ESP8266 retiene de alguna manera la información de Wifi, quizás debido a algunos datos antiguos de OTA que no se sobrescribieron por completo?
Estoy usando platformio. Aquí está mi plataforma completa.ini:
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
Publiqué el registro de compilación y carga aquí: https://pastebin.com/BtGrFZiu