Здравствуйте.
Подскажите пожалуйста. Есть несколько esp8266 esp-12у (node-mcu). Использую заливку скетча по "воздуху" через веб.
Код:
На NodeMcu все работает "на ура". Пришли с китая модули wemos: https://ru.aliexpress.com/item/WeMo...32806566263.html?spm=a2g0s.9042311.0.0.TTT8fb
По кабелю залил код выше - норма. По веб страница обновления отображается, bin файл дает залить. После заливки модуль перегружается. Но новая прошивка не подхватывается - продолжает работать старая. Не могу понять в чем причина.
Если кто решал на этих модулях заливку по веб - поделитесь информацией, плиз.
благодарю
Подскажите пожалуйста. Есть несколько esp8266 esp-12у (node-mcu). Использую заливку скетча по "воздуху" через веб.
Код:
Код:
void setup()
{
// Удаляем предыдущие конфигурации WIFI сети
WiFi.disconnect(); // обрываем WIFI соединения
WiFi.softAPdisconnect(); // отключаем отчку доступа(если она была
WiFi.mode(WIFI_OFF); // отключаем WIFI
delay(500);
// присваиваем статичесий IP адрес
WiFi.mode(WIFI_STA); // режим клиента
WiFi.config(IPAddress(192, 168, 1, 74), IPAddress(192, 168, 1, 1), IPAddress(255, 255, 255, 0), IPAddress(192, 168, 1, 1));
Serial.begin(115200);
ds.begin();
WiFi.begin(ssid, password);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
delay(5000);
ESP.restart();
}
//запуск web сервера для удаленной прошивки
if (WiFi.waitForConnectResult() == WL_CONNECTED) {
MDNS.begin(host);
server.on("/", HTTP_GET, []() {
server.sendHeader("Connection", "close");
server.send(200, "text/html", serverIndex);
});
server.on("/update", HTTP_POST, []() {
server.sendHeader("Connection", "close");
server.send(200, "text/plain", (Update.hasError()) ? "FAIL" : "OK");
ESP.restart();
}, []() {
HTTPUpload& upload = server.upload();
if (upload.status == UPLOAD_FILE_START) {
Serial.setDebugOutput(true);
WiFiUDP::stopAll();
Serial.printf("Update: %s\n", upload.filename.c_str());
uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000;
if (!Update.begin(maxSketchSpace)) { //start with max available size
Update.printError(Serial);
}
} else if (upload.status == UPLOAD_FILE_WRITE) {
if (Update.write(upload.buf, upload.currentSize) != upload.currentSize) {
Update.printError(Serial);
}
} else if (upload.status == UPLOAD_FILE_END) {
if (Update.end(true)) { //true to set the size to the current progress
Serial.printf("Update Success: %u\nRebooting...\n", upload.totalSize);
} else {
Update.printError(Serial);
}
Serial.setDebugOutput(false);
}
yield();
});
server.begin();
MDNS.addService("http", "tcp", 80);
Serial.printf("Ready! Open http://%s.local in your browser\n", host);
}
getTime();
updateTime();
}
По кабелю залил код выше - норма. По веб страница обновления отображается, bin файл дает залить. После заливки модуль перегружается. Но новая прошивка не подхватывается - продолжает работать старая. Не могу понять в чем причина.
Если кто решал на этих модулях заливку по веб - поделитесь информацией, плиз.
благодарю