Как реализовать автономную прошивку ESP32 (без компьютера и сети)?
Есть у меня самоделка на ESP32, которая находится в труднодоступном месте (под крышей дома, чтобы добраться надо лестницу приставлять и лезть). У ESP-хи есть вайфай, она запрограммирована так что ждет команды от сервера в инете, и при получении определенной команды обновляется через ОТА. Штатно конечно все работает.
Проблемы начинаются если прошивка по какой-то причине сорвалась, интернет ли сбойнул, или питание.
Тогда ЕСП с сбойной прошивкой уходит в бутлуп, приходится лезть, снимать, нести к компу и прошивать через кабель.
Вопрос, возможно ли создать какое-то несложное устройство на базе другой платы, которая будет мониторить состояние первой платы, и если с ней что-то не так (к примеру перестала выдавать какой-нибудь счетчик через сериал) вторая плата автоматически ее прошивает простенькой прошивкой с ОТА?
App Rollback - работает.
В конфиге надо включить опцию CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
Далее в прошивке делаем некий анализатор, к примеру успешное подключение к вайфай и передачу данных, и вызываем функции:
Если все ок - esp_ota_mark_app_valid_cancel_rollback() и прошивка становится валидной.
Если же прошивка работает неправильно, достаточно просто перезгрузки или esp_ota_mark_app_invalid_rollback_and_reboot() и она более не грузится, грузится предидущая.