Встановити прошивку на мікроконтролер можна за допомогою одного з двох інструментів: 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 з репозиторію 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.

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