Блог 2Smart (UK)

Як за 5 хвилин оновити прошивку і мобільний додаток готових пристроїв

Як за 5 хвилин оновити прошивку і мобільний додаток готових пристроїв
Після створення Custom прошивок для IoT пристрою процес оновлення стає максимально простим – нові версії прошивки приходять через повітря. Достатньо, щоб пристрій (в цьому прикладі – Wi-Fi реле) було підключено до Інтернету.

Завдяки цьому, розробнику можна в будь-який момент додати новий функціонал у прошивку та виправити можливі помилки. На цьому етапі вирішено застосувати як мажорні, такі та незначні оновлення – зміни будуть внесені в код прошивки та в інтерфейсі мобільних додатків.

Оновлення прошивки пристрою


Приклад такого оновлення – редагування тексту, який отримує користувач мобільних додатків при фізичному вмиканні та вимиканні кнопки на корпусі. До оновлення відомостей виглядали як «Relay on» і «Relay off». Після оновлення текст зміниться на «“Relay was turning on» і «Relay was turning off».

Виправлення багів, впровадження нового або покращення існуючого функціоналу – принцип будь-якого більш серйозного оновлення коду буде аналогічним описаному нижче.

1. Підготуйте тестовий пристрій – у цьому випадку це Wi-Fi реле на макетній платі. Працюючі пристрої на друкованих платах отримують готове оновлення в самому кінці, після публікації нової версії прошивки на платформі.

Wi-Fi реле

2. У розділі «Products» кабінета розробника оберіть пристрій, прошивку якого потрібно оновити.

Вибір пристрою, прошивку якого потрібно оновити

3. Натисніть на посилання «Update firmware».

Посилання для оновлення прошивки

4. Натисніть «Update firmware».

Підтвердження бажання оновити прошивку

5. У вихідних файлах прошивки на вашому комп'ютері знайдіть файли, потрібні для виправлення коду та внесіть необхідні зміни.

Для виправлення тексту сповіщень використовувався файл, який знаходиться за адресою Firmware/lib/relay_node/property/relay_state.cpp.

Стара версія прошивки

Новая версія прошивки

6. Після виправлення коду в потрібних файлах не забудьте внести зміни у файл /src/main.h – вказати нову версію пристрою в поле deviceVersion (в цьому прикладі «1» виправлено на «2»).

Оновлення версії прошивки в коді

7. Прошийте тестовий пристрій нової версії прошивки по USB-кабелю.

Зверніть увагу! Якщо на мікроконтролері вже записана прошивка, не забудьте видалити її згідно документації.

Оновлення прошивки тестового пристрою

8. Після завершення процесу прошивки пристрій створює точку доступу Wi-Fi з назвою, яка відповідає назві самого пристрою. Підключіть свій комп'ютер або смартфон до цієї точки.

Підключення до Wi-Fi мережі пристрою для переходу до веб-інтерфейсу

9. Перейдіть по посиланню http://192.168.4.1/ – відкривається веб-інтерфейс пристрою. Використовуйте для входу логін "admin" і пароль "admin" (при необхідності значення за замовчуванням можна змінити в налаштуваннях).

Веб-інтерфейс пристрою

10. Скопіюйте у поля на вкладці Credentials значення з вікна “Connection info”:

  • у поле “Login” – значення “User Login”,
  • у поле “Token” – значення “Access Token”,
  • у поле “Hostname” (під вкладкою  Advanced) введіть значення “cloud.2smart.com”,
  • у поле “Device ID” скопіюйте значення “Test device ID”.

Після заповнення всіх полів натисніть “Save”.

Введення параметрів для підключення до веб-інтерфейсу пристрою

11. Переконайтеся, що ваш комп'ютер продовжує підключатися до пристрою Wi-Fi. Перейдіть на вкладку Wi-Fi і натисніть кнопку Scan.

Пошук доступних Wi-Fi мереж

12. Виберіть свою мережу Wi-Fi у списку та введіть пароль для доступу до неї – це потрібно, щоб пристрій підключився до тестового оточення платформи.

Зверніть увагу! Пристрої на основі мікроконтролера ESP32 підтримують лише Wi-Fi мережі з частотним діапазоном 2,4 ГГц!

Вибір мережі Wi-Fi для використання тестового пристрою

13. Перегляньте свою мережу Wi-Fi і відкрийте сторінку пристрою в кабінеті розробника. Після успішного підключення прототипа до Інтернету, статус пристрою зміниться на Ready.

Повідомлення про успішне підключення тестового пристрою до платформи

14. Натисніть посилання "Preview State" і переконайтеся, що сенсор “Firmware – Version” відображає нове значення версії прошивки.

Попередній перегляд сенсорів

15. Переконайтеся, що оновлення прошивки дало потрібний результат (текст сповіщень змінився). Протестуйте роботу пристрою за аналогією з первинним тестуванням прототипу.

16. Зберіть нову версію прошивки на своєму комп'ютері у форматі .bin:

  • якщо ви не прошивали тестовий пристрій новою прошивкою – запустіть команду pio run, файл з оновленою прошивкою буде доступний у папці Firmware/.pio/build/esp32dev/firmware.bin.
  • якщо пристрій прошивався за стандартною процедурою, готовий файл буде знаходитися в папці проекту -> Firmware/.pio/build/esp32dev/firmware.bin.

Створення файлу прошивки

17. Натисніть посилання “Update firmware” та завантажте готовий файл прошивки на платформу.

Посилання для оновлення прошивки

18. Натисніть кнопку “Publish”.

Публікація оновлення продукту

19. Підтвердіть своє бажання опублікувати нову версію продукту.

Публікація оновлення продукту

20. Пристрої зі старою версією прошивки отримають оновлення автоматично після перевірки наявності оновлень. Користувач також може натиснути кнопку “Push” на вкладці “Firmware” інтерфейсу пристрою в додатку, щоб отримати оновлення відразу.

Кнопка примусового оновлення прошивки пристрою в інтерфейсі мобільного додатка

21. Після оновлення пристрою в інтерфейсі мобільних додатків буде відображатися нова версія прошивки.

Текстовий віджет з актуальною версією прошивки пристрою

22. Внесені в прошивку зміни можна побачити, перейшовши до розділу сповіщень мобільного додатка. Натискаючи фізичну кнопку ввімкнення та вимкнення реле на його корпусі, ви отримуватимете повідомлення з новим текстом.

Екран “Notifications” мобільного додатка 2Smart Cloud з новим текстом повідомлень про вмикання/вимкнення пристрою

Друзі, які також користувалися Wi-Fi реле, підтвердили – нова версія прошивки надійшла автоматично протягом доби.

Оновлення інтерфейсу мобільного додатка


Виявивши, що на платформі оновилася бібліотека віджетів, було вирішено оновити інтерфейс мобільного додатка для керування Wi-Fi реле. Додавши віджет графіка сенсора рівня Wi-Fi сигналу, можна буде бачити статистику того, як змінювався цей рівень з часом.

Редагування інтерфейсу додатка нічим не відрізняється від створення при додаванні нового продукту:

1. Натисніть посилання "Edit layout" на сторінці продукту в кабінеті вендора.

Посилання на інструмент редагування інтерфейсу мобільного додатка

2. Натисніть «Add Widget».

Додавання нового віджета в інтерфейсі мобільних додатків 2Smart Cloud

3. Виберіть віджет, який вам сподобався, наприклад, “Number”.

Додавання нового віджета в інтерфейсі мобільних додатків 2Smart Cloud

4. Налаштуйте віджет – виберіть відображення даних сенсора “WiFi Signal”.

Налаштування нового віджету мобільного додатка 2Smart Cloud

5. В емуляторі мобільного додатка переконайтеся, що отримано потрібне відображення історії зміни рівня сигналу Wi-Fi мережі на графіку.

Налаштування інтерфейсу мобільного додатка 2Smart Cloud

Налаштування інтерфейсу мобільного додатка 2Smart Cloud

6. Натисніть «Save».

Збереження оновленого інтерфейсу мобільних додатків 2Smart Cloud

7. Натисніть «Publish».

Публікація оновлення продукту

8. Погодьтеся з публікацією мінорних оновлень продукту.

Вікно підтвердження публікації оновлення продукту

Тепер всім користувачам досить перезапустити мобільний додаток 2Smart Cloud на смартфоні, щоб побачити внесені в інтерфейсі зміни.

Після оновлення прошивки цікаво простежити, як оновлюються реальні пристрої. Крім звичайного зворотного зв'язку, це можна зробити за допомогою розділу статистики в кабінеті розробника 2Smart Cloud. Роботі зі статистикою присвячено фінальну статтю цієї серії.

Всі статті про створення та підтримку IoT пристрою в 2Smart Cloud:

  1. Познайомся з IoT платформою – створи свій перший пристрій без мікроконтролера та керуй ним зі смартфона
  2. Як створити Wi-Fi реле з керуванням за допомогою мобільного додатка та Telegram-бота
  3. Як створити новий IoT пристрій всього за 4 кроки
  4. Як створити IoT пристрій на друкованій платі – від прототипу до реального продукту
  5. Як написати прошивку для IoT пристрою на базі SDK
  6. Як за 5 хвилин оновити прошивку і мобільний додаток готових пристроїв
  7. Збір та аналіз статистики – корисний інструмент для покращення продукту
Made on
Tilda