Heute habe ich an einem ESP8266 gebastelt, OTA ausprobiert und einen Webserver geschrieben. Um einen Fehler zu finden, habe ich die Skizze auf die folgenden Zeilen reduziert:
#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();
}
Beachten Sie, dass es keinen Code gibt, um eine Verbindung zu einem Wifi-Netzwerk herzustellen. Der Chip stellt jedoch bei jedem Start eine Verbindung zu meinem lokalen, WPA2-gesicherten Netzwerk her. Ich kann den Chip anpingen, mein Browser kann das "Hallo!" Nachricht über http, die serielle Nachricht wird gedruckt.
Wie ist das möglich? Behält der ESP8266 die Wifi-Informationen irgendwie bei, möglicherweise aufgrund einiger alter OTA-Daten, die nicht vollständig überschrieben wurden?
Ich benutze Plattformio. Hier ist meine gesamte platformio.ini:
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
Ich habe das Kompilierungs- und Upload-Protokoll hier veröffentlicht: https://pastebin.com/BtGrFZiu