Здравствуйте. Подскажите пожалуйста. Есть несколько esp8266 esp-12у (node-mcu). Использую заливку скетча по "воздуху" через веб. Код: Код (C++): 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(); } На NodeMcu все работает "на ура". Пришли с китая модули wemos: https://ru.aliexpress.com/item/WeMo...32806566263.html?spm=a2g0s.9042311.0.0.TTT8fb По кабелю залил код выше - норма. По веб страница обновления отображается, bin файл дает залить. После заливки модуль перегружается. Но новая прошивка не подхватывается - продолжает работать старая. Не могу понять в чем причина. Если кто решал на этих модулях заливку по веб - поделитесь информацией, плиз. благодарю
Скорее всего у вас память на модуле PUYA P25Q80 и с ней проблемы. https://itnan.ru/post.php?c=2&p=297829