오늘 저는 ESP8266을 사용하여 OTA를 시도하고 웹 서버를 작성했습니다. 오류를 찾기 위해 스케치를 다음 줄로 줄였습니다.
#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();
}
Wi-Fi 네트워크에 연결하기위한 코드가 없습니다. 그러나 칩은 여전히 부팅 할 때마다 로컬 WPA2 보안 네트워크에 연결됩니다. 칩을 핑 (ping) 할 수 있고 브라우저는 "Hi there!" http를 통해 메시지가 표시되면 직렬 메시지가 인쇄됩니다.
이것이 어떻게 가능한지? ESP8266은 완전히 덮어 쓰여지지 않은 오래된 OTA 데이터로 인해 Wi-Fi 정보를 어떻게 유지합니까?
나는 platformio를 사용하고 있습니다. 내 전체 platformio.ini는 다음과 같습니다.
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
여기에 컴파일 및 업로드 로그를 게시했습니다 : https://pastebin.com/BtGrFZiu