Есть Ардуина UNO с SD картой с файлом update.bin, пытаюсь прошить ESP8266 по UART.
Перевожу ЕСП вручную в режим прошивки, запускаю Ардуино Уно , ЕСП показывает, что идет прошивка, но после перезагрузки работает прежняя прошивка, новая не прошилась. Посмотрите, пожалуйста, скетч, чего не хватает?
Нету там индикатора прошивки. Светодиод показывает, что принимаются какие-то данные по UART, а не “идет прошивка”
Хотя даже о том, что данные принимаются, говорить нельзя, просто на линии Rx уровень сигнала туда/сюда скачет. Грубо говоря, этот светодиод загорается каждый раз, когда на линии устанавливается LOW
я читал. там SLIP какой-то модифицированный, как мне кажется, в смысле формата пакета и расчета контр сумм. Еще читал сорцы этого компонента ESP-IDF, чтобы разобраться. Короче, у меня все получилось, но под штатным тулчейном. Вещь отличная для самообновления железки в продакшене, но требует понимания организации файловой системы в этом чипе.
За ардуино не скажу.
Если установить VS Code с плугином ESP-IDF, и почитать вот этот репозиторий, все получается. Там как раз пример онлайн обновления. Изменить способ доставки бинарников на сд-карточку/аплоад через веб-страницу/кусками через блутус - можно и нужно. если нужно.
Строки 1, 4 и 12 отвечают за обновление по воздуху. При обращении по адресу http://your_ip/firmware, где your_ip - IP вашего девайса, попадаете на такую страничку:
Выбираете файл прошивки, жмете Update Firmware, прошивка загружается, девайс автоматом перезагружается и работает на новой прошивке. Т.е. для обновления достаточно смартфона/планшета с файлом прошивки.
В методе httpUpdater.setup(&HTTP, "/firmware"); можно задать логин и пароль для доступа к интерфейсу обновления.
Через веб и ОТА проблем нет, даже если предварительно прошить в есп8266 прошивальщик из штатной библиотеки updater.h тоже проблем нет. Хотелось прошивать из uart , без дополнительных предварительных прошивок есп и в Ардуино.
Снёс 8266 и снова установил, иначе не обновлялся. Получилось 3.1.2 и файл нашёлся c:\Users****\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\3.1.2\tools\upload.py