Блог 2Smart (RU)

Как за 5 минут обновить прошивку и мобильное приложение готовых устройств

Инструмент обновления по воздуху на платформе 2Smart CLoud
После создания Custom прошивки для IoT устройства процесс обновления становится максимально простым – новые версии прошивки приходят по воздуху. Достаточно, чтобы устройство (в этом примере – Wi-Fi реле) было подключено к интернету.

Благодаря этому вендор может в любой момент добавлять новый функционал в прошивку и исправлять возможные ошибки. На этом этапе решено применить как мажорные, так и минорные обновления – изменения будут внесены в код прошивки и в интерфейс мобильного приложения.

Обновление прошивки устройства


Пример такого обновления – редактирование текста, который получает пользователь мобильного приложения при физическом включении и отключении реле кнопкой на корпусе. До обновления уведомления выглядели как “Relay on” и “Relay off”. После обновления текст изменится на “Relay was turning on” и “Relay was turning off”.

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

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

Wi-Fi реле на макетной плате

2 - В разделе “Продукты” кабинета вендора выберите устройство, прошивку которого нужно обновить.

Выбор устройства, прошивку которого нужно обновить

3 - Нажмите на ссылку “Обновить прошивку”.

Ссылка для обновления прошивки

4 - Нажмите “Обновить прошивку”.

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

5 - В исходниках прошивки на своем компьютере найдите файлы, требующие исправления кода, и внесите необходимые изменения.

Для исправления текста уведомлений использовался файл, который находится по адресу /relay/lib/relayMqtt/src.

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

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

6 - После исправления кода в нужных файлах не забудьте внести изменения в файл /src/main.h – указать новую версию устройства в поле deviceVersion (в этом примере “1” исправлено на “2”).

Обновление версии прошивки в коде

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

Обратите внимание! Если на микроконтроллер уже записана прошивка, не забудьте удалить ее согласно документации.

Обновление прошивки тестового устройства

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

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

9 - Перейдите по ссылке http://192.168.4.1/ – откроется веб-интерфейс устройства.

Веб-интерфейс устройства

10 - Скопируйте в поля на вкладке Credentials значения из окна “Информация о подключении”:

  • в поле Login – значение “Логин пользователя”,
  • в поле Token – значение “Sandbox токен” ,
  • в поле Hostname (под спойлером Advanced) введите знаечние “cloud.2smart.com”,
  • в поле Broker port введите значение “11883”,
  • в поле Device ID скопируйте значение “Идентификатор Sandbox устройства”.

После заполнения всех полей нажмите Save.

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

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

Поиск доступных Wi-Fi сетей

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

Обратите внимание! Устройства на основе микроконтроллера ESP32 поддерживают только Wi-Fi сети с частотным диапазоном 2,4 ГГц!

Выбор Wi-Fi сети для использования тестовым устройством

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

Уведомление об успешном подключении тестового устройства к платформе

14 - Нажмите на ссылку “Предпросмотр состояния” и убедитесь, что сенсор Firmware – Version отображает новое значение версии прошивки.

Предварительный просмотр сенсоров

15 - Убедитесь, что обновление прошивки дало нужный результат (текст уведомлений изменился). Для этого переведите мобильное приложение 2Smart Cloud в Sandbox режим и протестируйте работу устройства – по аналогии с первичным тестированием прототипа.

16 - Соберите новую версию прошивки на своем компьютере в формате .bin

Подготовка файла прошивки

17 - Нажмите на ссылку “Обновить прошивку” и загрузите готовый файл прошивки на платформу.

Ссылка для обновления прошивки

Ссылка для обновления прошивки

18 - Нажмите кнопку “Опубликовать”.

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

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

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

20 - Устройства со старой версией прошивки получат обновление автоматически, после проверки наличия обновлений. Пользователь также может нажать на кнопку Push на вкладке Firmware интерфейса устройства в приложении, чтобы получить обновление сразу.

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

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

Текстовый виджет с актуальной версией прошивки устройства

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

Экран “Уведомления” мобильного приложения 2Smart Cloud с новым текстом сообщений о включении/отключении устройства

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

Обновление интерфейса мобильного приложения


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

Редактирование интерфейса приложения ничем не отличается от его создания при добавлении нового продукта:

1 - Нажмите на ссылку “Изменить интерфейс” на странице продукта в кабинете вендора.

Ссылка на инструмент редактирования интерфейса мобильного приложения

2 - Нажмите “Добавить виджет”.

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

3 - Выберите понравившийся виджет – например, “Number”.

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

4 - Настройте виджет – выберите отображение данных сенсора “WiFi Signal”.

Настройка нового виджета мобильного приложения 2Smart Cloud

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

Настройка интерфейса мобильного приложения 2Smart Cloud

Настройка интерфейса мобильного приложения 2Smart Cloud

6 - Нажмите “Сохранить”.

Настройка интерфейса мобильного приложения 2Smart Cloud

7 - Нажмите “Опубликовать”.

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

8 - Согласитесь с публикацией минорных обновлений продукта.

Окно подтверждения публикации обновлений продукта

9 - Теперь всем пользователям достаточно перезапустить мобильное приложение 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