Hôm nay tôi đã thực hiện một số sửa đổi với một chiếc ESP8266, thử OTA và viết một máy chủ web. Để tìm lỗi, tôi đã giảm bản phác thảo xuống chỉ các dòng sau:
#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();
}
Lưu ý rằng không có mã để kết nối với mạng Wifi. Tuy nhiên, chip vẫn kết nối với mạng cục bộ, được bảo mật WPA2 của tôi trên mỗi lần khởi động. Tôi có thể ping chip, trình duyệt của tôi có thể nhận được "Xin chào!" tin nhắn qua http, tin nhắn nối tiếp được in.
Sao có thể như thế được? Có phải ESP8266 bằng cách nào đó giữ lại thông tin Wifi, có thể do một số dữ liệu OTA cũ không được ghi đè hoàn toàn?
Tôi đang sử dụng platformio. Đây là toàn bộ platformio.ini của tôi:
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
Tôi đã đăng nhật ký biên dịch và tải lên tại đây: https://pastebin.com/BtGrFZiu