ESP8266 http OTA
HTML-код
- Опубликовано: 5 сен 2024
- Совсем несложно в скетч для ESP8266 добавить возможность http OTA обновлений.
На примере скетча из предыдущего ролика это и было продемонстрировано.
Как оказалось, вовсе не нужно выискивать скомпиллированный бинарный файл во временном каталоге. Достаточно в меню Arduino IDE выбрать пункт Sketch\Export compiled Binary, и .bin-файл будет откомпиллирован в каталог с исходным кодом скетча.
Чтобы компилилось быстрее - отключите подробный вывод компиляции, раза в 2 прирост.
А, увидел, зачем вывод включен. Просто при загрузке по шнуру это видно, а по шнуру-то мы не грузим больше, да, придётся мириться с тормозами компиляции (.
Случайно нашёл в примерах этот скетч, первый материал - Ваше видео, всё понятно, и проще, чем думалось.
Отлично, все работает)
кстати данная функция не работает с esp-01, esp-07. видно однаго Мб недостаточно для ota. Ну или из за отсувствия разметки 1 МБ (noSPIFS). Пробовал в esp-07 с разметкой 1Мб (64кб SPIFS) - вроди загружает, если судить по ответу на вебстранице, но ребут не происходит, если вручную передернуть питание, то все прошивка слетела. :(
Спасибо!!
А скетч скопипастить есть?
Пробую всё подряд. Всё шьётся, но модуль wifi не реагирует.
Параметры сети не меняются. Один раз без видимых причин прошился.
Мучаю несколько разных модулей 8266. Нужно сделать точкой доступа с возможностью управления и прошивки. Может в настройках галочка какая?..
Сдаваться не моё, но как то грустно..)
Привет, спасибо за обмен своей работы.
Загрузки могут быть сделаны из любого места? или вы должны быть на одной и той же сети Wi-Fi, где ESP8266 должен загрузить новую программу?
Hello, thank you for sharing your work with us.
Can the upload be done from anywhere? Or is it necessary to be on the same WIfi network where ESP8266 is to upload the new program?
Olá, obrigado por compartilhar conosco o seu trabalho.
O upload pode ser feito de qualquer lugar? ou é necessário estar na mesma rede WIfi em que o ESP8266 está para fazer upload do novo programa?
If you can go to the web interface of the module - then you can update it.
Вот так сюрприз, походу скетч собирается разными компиляторами, если выбрать в IDE "проверить" или "экспорт бинарного файла". Если выбрать "экспорт бинарного файла" то у меня вместо русскоязычных MQTT сообщений в паблики прилетают кракозябры какие то вопросики "?" :) а если выбрать "проверить" и потом из папки builid забрать бинарник и им прошить по ota то все отлично - прилетают на русском языке сообщения.
Это все санкции... :)
Спасибо за интересное наблюдение!
У меня вопрос, имеется ESP12-E, загружаю прошивку размером 279 296 Байт без проблем, пытаюсь загрузить прошивку 279 664 Байт и в процессе обновления в браузере виснет на 35% и все, больше ничего не происходит. Вся веб страница в скетче хранится в строковой переменной, скетч компилирую один и тот же, только комментирую часть веб страницы чтобы уменьшить прошивку. Что это за ограничение памяти?
Отвечаю на свой же вопрос) Дело было в том что веб страница хранилась в глобальной строковой переменной WebPage и все время занимала примерно 15 кБ памяти ОЗУ, в момент обновления получалось что ОЗУ уже не хватало. Проблема была решена изменением глобальной переменной WebPage на локальную, таким образом ОЗУ освобождалось сразу после загрузки веб страницы в браузер.
Бутлоадер у вас в модуле FOTA или Non-FOTA?
Ограничение очевидно связано с разметкой памяти. Подробнее надо смотреть в "мурзилках" Эспрессифов.
Я думаю что Non-FOTA, прошивка заливается с нулевого адреса, флешка 4 мБ, модуль покупал недавно. Честного говоря и не знал что есть такая разметка памяти, посмотрел видео.
На примере скетча из предыдущего ролика...
и где искать?
Как не странно, именно в предыдущем ролике, в описании. :)
ruclips.net/video/bDVsYmpkq2w/видео.html
Спасибо за видео и доработку программы, почему-то не нашел сразу.
На здоровье!