Dzisiaj trochę majstrowałem przy ESP8266, wypróbowałem OTA i napisałem serwer WWW. Aby znaleźć błąd, zredukowałem szkic do następujących linii:
#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();
}
Zauważ, że nie ma kodu do połączenia z siecią Wi-Fi. Jednak układ nadal łączy się z moją lokalną, zabezpieczoną WPA2 siecią przy każdym uruchomieniu. Mogę pingować chip, moja przeglądarka może wyświetlić „Cześć!” wiadomość za pośrednictwem http, wiadomość szeregowa zostanie wydrukowana.
Jak to jest możliwe? Czy ESP8266 w jakiś sposób zachowuje informacje Wi-Fi, może z powodu niektórych starych danych OTA, które nie zostały całkowicie nadpisane?
Używam platformio. Oto moja cała platformaio.ini:
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
Opublikowałem dziennik kompilacji i przesyłania tutaj: https://pastebin.com/BtGrFZiu