ОТА-программа SPIFFS на ESP8266

Я хотел бы получить информацию о том, можно ли загрузить образ файловой системы SPIFFS на ESP8266. Теоретически это может сработать: его можно закачать по USB, и по логам меняется местоположение флешки, но на этом все. PlatformIO также предлагает опцию Upload SPIFFS на платформе, которая настроена на порт OTA, но это может быть просто не проверка типа загрузки.

Итак, я хочу знать, как настроить (или иным образом сделать) образ SPIFFS для OTA-загрузки. У меня есть два основных метода OTA: вариант 1 — это библиотека OTA Arduino по умолчанию, а вариант 2 — это новая версия метода OTA, имя которого можно забыть, где я могу загрузить файл на веб-страницу, размещенную на ESP8266 и он прочитает файл и обновит свою прошивку.

Я предполагаю, что где-то есть параметр конфигурации для этого, но я не знаю, с чего начать поиск, и в документации по этим библиотекам есть несколько очень простых примеров, которые не охватывают сложные или расширенные варианты использования.

(Веб-сервер — хотя он по существу не имеет отношения к этой проблеме, но это отличный пример — является самым вопиющим из них; код сложен и теперь тоже шаблонен, так что я не могу в нем разобраться, и «примеры» состоят в основном из сжатого javascript, который ничего не показывает пользователю.Затем вы переходите к интересным вещам, таким как фактическое получение реального размера загружаемого файла, или хотите узнать, как на самом деле работает загрузка (или почему это не удается) , или вы хотите обслуживать файл по частям, собирая биты текста (так же, как операторы отладки обычно используют несколько операторов Serial.print()), а там просто ничего)

, 👍2

Обсуждение

ESP8266HTTPUpdateServer поддерживает SPIFFS, @Juraj

Как это интегрировано? Обнаруживает ли он изображение (или пользователь использует другую страницу/форму/кнопку загрузки), как он выполняет физическое обновление и т. д.?, @RDragonrydr

https://github.com/esp8266/Arduino/blob/d600cc7fa6c3fc5c31ed903ec12fd2e2da2c3678/libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer-impl.h#L14, @Juraj

все способы обновления OTA применяются с объектом Update из ядра, @Juraj


1 ответ


Лучший ответ:

1

В основном OTA поддерживает загрузку файлов *.bin. Содержит ли он скомпилированный код или файловую систему (SPIFFS/LittleFS) не имеет значения. НО Пространство для OTA (раздела) должно быть не меньше размера *.bin плюс накладные расходы на обработку. Таким образом, имея 4 МБ, вам потребуется 2,5 МБ OTA для 1,5 МБ App/SPIFFS.
Чтобы настроить размеры разделов (или пользовательские разделы), вам нужно открыть файл boards.txt.
OTA — подробности и информация здесь

Файловая система — подробности и информация здесь

,

Спасибо вам за ссылки. Один из них намекнул на эту способность, но до сих пор неясно, как она на самом деле настроена, доступна или используется., @RDragonrydr