Обновление прошивки ESP32 с другого ESP32 через USB, аналогично тому, как работает esptool.py

Есть ли способ обновить прошивку на одном ESP32 с другого ESP32 через USB, аналогично тому, как прошивку можно обновить с помощью esptool.py?

По сути, это было бы похоже на порт какой-то магии esptool.py использует USB для обновления ESP32, но вместо запуска через Python это будет скетч Arduino C++, и он будет считывать прошивку для записи на другой ESP32 из SPIFFS.

, 👍0

Обсуждение

поскольку в ESP32 нет USB-периферийного устройства на чипе, лучшей идеей было бы сделать это через UART. вы провели исследование, прежде чем спросить? ты что-нибудь нашел? ты что-нибудь пробовал?, @Juraj

Спасибо, что поделились своим мнением, @Juraj. Тем не менее, все ESP32, с которыми я работаю, включают в себя USB CP2102 для моста UART., @Dan

может ли CP2102 выступать в качестве USB-хоста? нет., @Juraj

Это отличный момент, @Juraj, @Dan

вы знаете, что можете использовать загрузку OTA?, @Juraj


3 ответа


0

esp32 может обновляться самостоятельно. Для хранения и применения двоичного файла обновленного скетча используется библиотека обновлений, входящая в комплект поставки пакета поддержки плат ESP32 для Arduino.

Затем существуют библиотеки для различных способов передачи двоичного файла по сети:

  • ArduinoOTA для загрузки из среды Arduino IDE
  • HTTPUpdate для загрузки двоичного файла с веб-сервера
  • HTTPUpdateServer для загрузки двоичного файла в ESP32 через веб-страницу

Ключевое слово "обновление OTA" означает "обновление по воздуху", даже если обновление можно перенести и по кабелю.

,

0

Вы можете использовать SD-карту для обновления прошивки. Вот пример кода

.
,

0

У Espressif есть официальная библиотека. Вот ссылка:

https://github.com/espressif/esp-serial-flasher

Лично я рекомендую этот репозиторий GitHub под названием «FlashBox - Esp32 serial flasher» от Machiel80. Вот ссылка:

https://github.com/Machiel80/esp32-serial-flasher

У него есть хорошая документация и даже видео на YouTube, объясняющее, как это делается.

Наконец, у проекта flipperZero также есть проект последовательного прошивальщика на Github, "flipperzero-esp-flasher". Вот ссылка:

https://github.com/0xchocolate/flipperzero-esp-flasher

,