Блог 2Smart (UK)

Як встановити прошивку 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. Очистіть пам'ять мікроконтролера. Якщо образи з програмою esptool не були завантажені, вони завантажаться автоматично. Виконайте команду:

./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