Блог 2Smart (RU)

Как установить прошивку ESPHome на микроконтроллер ESP32 на компьютере с Linux

Как установить прошивку ESPHome на микроконтроллер ESP32 на компьютере с Linux
Инструкция для разработчиков, использующих компьютер или ноутбук с операционной системой Linux – как с помощью такого устройства установить прошивку ESPHome на микроконтроллер ESP32. Инструкция впервые потребуется на этапе тестирования продукта, когда на прототип устанавливается прошивка тестового устройства.

Установить прошивку на микроконтроллер можно с использованием одного из двух инструментов: Python или Docker.

Прошивка устройства с помощью Python


1 - По умолчанию в ubuntu 20.04 уже установлен Python 3.8.10. Если нужной версии на устройстве нет, необходимо установить Python либо обновить его до версии 3.8.10 или более высокой.

Для прошивки платы необходимо установить менеджер пакетов pip3.

Для этого обновите список пакетов с помощью команды:

sudo apt update

И установите сам менеджер пакетов:

sudo apt-get -y install python3-pip

2 - Разархивируйте скачанный файл прошивки и откройте в терминале директорию с содержимым архива.

Содержимое архива прошивки

3 - Подключите микроконтроллер к компьютеру с помощью USB-кабеля. Введите в терминале следующую команду и нажмите Tab:

/dev/ttyUSB0

Обратите внимание! Возможно, в вашем случае вместо порта ttyUSB0 используется порт ttyUSB1 и т.д. Учитывайте это на текущем и последующих шагах.

4 - Настройте права доступа к файлам, выполнив команду:

sudo chown $USER:$USER /dev/ttyUSB0

Настройка прав доступа

5 - Установите необходимые библиотеки для работы со скриптом “2smart.sh” с помощью команды:

pip3 install -r requirements.txt

Установка библиотек

Установка библиотек

6 - Очистите память микроконтроллера, запустив следующую команду:

./2smart.sh --device /dev/ttyUSB0 erase_flash

Очистка памяти микроконтроллера

Если процесс очистки памяти останавливается на этапе “Connecting ….___….___ “, нажмите кнопку Boot на плате DevKit:

Очистка памяти микроконтроллера

7 - Запустите скрипт “2smart.sh” для прошивки микроконтроллера:

./2smart.sh --device /dev/ttyUSB0 write

Если процесс прошивки останавливается на этапе “Connecting ….___….___ “, нажмите кнопку Boot на плате DevKit.

Прошивка микроконтроллера

8 - После успешной прошивки вы увидите уведомление “Leaving… Hard resetting via RTS pin…”.

Прошивка микроконтроллера

9 - После завершения процесса прошивки вернитесь в свой кабинет 2Smart Cloud и дождитесь, пока устройство будет обнаружено платформой. Если это не происходит в течение одной-двух минут, отключите устройство от питания и снова подключите его к компьютеру. Об успешном подключении прототипа к платформе сигнализирует статус устройства – “Ready”.

Индикатор статуса устройства с тестовой прошивкой

Прошивка устройства с помощью Docker


1 - Установите соответствующий вашей системе Docker Engine – все версии можно найти на сайте разработчика.

Проверьте, возможно у вас уже установлен Docker. Выполните следующую команду:


docker -v


Проверка наличия Docker в системе


Также вы можете установить Docker из репозитория ubuntu с помощью следующей команды:

sudo apt install docker.io

2 - Разархивируйте скачанный файл прошивки и откройте в терминале директорию с содержимым архива.

3 - Подключите микроконтроллер к компьютеру с помощью USB-кабеля. Введите в терминале следующую команду и нажмите Tab:

/dev/ttyUSB0

Это действие необходимо, чтобы убедиться, что микроконтроллер действительно подключен к порту USB.

Обратите внимание! Возможно, в вашем случае вместо порта ttyUSB0 используется порт ttyUSB1 и т.д. Учитывайте это на текущем и последующих шагах.

4 - Настройте права доступа к USB-порту, выполнив команду:

sudo chown $USER:$USER /dev/ttyUSB0

5 - Откройте доступ к Docker для пользователя с помощью следующей команды:

sudo usermod -aG docker $USER

После добавления пользователя в группу Docker выйдите из системы и снова войдите, чтобы изменения вступили в силу.

6 - Очистите память микроконтроллера. Если образы с программой прошивки не были загружены, они загрузятся автоматически. Выполните команду:

./2smart_docker.sh --device /dev/ttyUSB0 erase_flash

Очистка памяти микроконтроллера

Если процесс очистки памяти останавливается на этапе “Connecting ….___….___ “, нажмите кнопку Boot на плате DevKit:

Очистка памяти микроконтроллера

7 - Запустите скрипт “2smart_docker.sh” для прошивки микроконтроллера:

./2smart_docker.sh --device /dev/ttyUSB0 write

Если процесс прошивки останавливается на этапе “Connecting ….___….___ “, нажмите кнопку Boot на плате DevKit.

Прошивка микроконтроллера

8 - После успешной прошивки вы увидите уведомление “Leaving… Hard resetting via RTS pin…”.

Прошивка микроконтроллера

9 - После завершения процесса прошивки вернитесь в свой кабинет 2Smart Cloud и дождитесь, пока устройство будет обнаружено платформой. Если это не происходит в течение одной-двух минут, отключите устройство от питания и снова подключите его к компьютеру. Об успешном подключении прототипа к платформе сигнализирует статус устройства – “Ready”.

Индикатор статуса устройства с тестовой прошивкой

Получив уведомление об успешном подключении к платформе прототипа с прошивкой тестового устройства, вы можете продолжить работу над созданием своего продукта. Серийная прошивка устанавливается на готовые устройства по аналогичному алгоритму.

Made on
Tilda