Инструменты пользователя

Инструменты сайта


ota_обновление_прошивки_по_воздуху

Это старая версия документа!


OTA

Контроллер имеет возможность обновлять свою прошивку «по воздуху» через http API Данная возможность доступна для следующих вариантов прошивки:

  • due
  • lighthub21
  • esp32-wifi
  • esp8266-wifi
  • mega2560-optiboot
  • m5stack

Прошивка должна быть скомпилирована с опцией OTA (предкомпилированные версии прошивок для указанных выше окружений уже скомпилированы с такой опцией)

Управление размером/опциями прошивки

Чтобы прошивка могла успешно обновиться, она должна занимать строго не более 50% flash памяти. Это не является проблемой для всех архитектур, исключая MEGA2560. Данный контроллер имеет очень скромные характеристики, поэтому приходится ужиматься. В пред-компилированной версии для этой архитектуры отключены почти все опциональные модули (DMX, Modbus, 1-wire). Но перекомпилировав проект, можно подключить нужные опции, пожертвовав чем-то еще (например, MDNS)

См файл build-flags/build_flags_mega2560-optiboot с опциями по умолчанию, которые можно переопределить в custom-build-flags/build_flags_mega2560-optiboot

OptiBoot

Для того, чтобы Mega2560 имела возможность обновлять сама себе прошивку, необходимо заменить ее штатный кривой бутлоадер на optiboot. Кроме всего прочего, этот загрузчик занимает намного меньше места, чем штатный. Проект Optiboot живет здесь: https://github.com/Optiboot/optiboot Конкретно вавриант для Mega2560 тут: https://github.com/MCUdude/MegaCore

Инструкция для загрузки ттам имеется. Шить проще всего «штатным» Arduino IDE, используя любую другую AVR Arduino в качестве программатора. Как ее приспособить для этого, описано тут https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP/

Где что лежит

Компилированные образы прошивок доступны в папке compiled Там же размещены примеры скриптов, прошивающих образ (как по кабелю так и OTA)

Тулзы для этого выложены в папке compiled/tools

ota_обновление_прошивки_по_воздуху.1716149394.txt.gz · Последнее изменение: 2024/05/19 23:09 — Admin