Режим OTA

Режим OTA (Over-the-Air - Обновление по воздуху)

  • ОТА

    Blynk поддерживает беспроводные обновления для таких плат как: ESP8266, NodeMCU и SparkFun Blynk. OTA пока поддерживается только для локальных серверов.

Как это работает?

Поток

  1. Пользователь с правами администратора запускает OTA с помощью одного из HTTPS-запросов;

  2. Пользователь предоставляет в HTTPS-запросе учетные данные администратора и двоичный файл встроенного ПО для обновления оборудования;

  3. Когда оборудование подключается к серверу - сервер проверяет его прошивку. В случае, если дата сборки прошивки оборудования отличается от загруженной прошивки, сервер отправляет аппаратному обеспечению специальную команду с URL-адресом новой прошивки;

  4. Получение URL-адреса новой версии прошивки с помощью обработчика:

       BLYNK_WRITE(InternalPinOTA) {
        // Получение ссылки на файл прошивки
        // Пример: http://localhost:8080/static/ota/FUp_2441873656843727242_upload.bin
        overTheAirURL = param.asString();
        ...
      }
  5. Оборудование загружает новую прошивку и начинает обновление

Примеры команд

Запустить обновление для конкретного оборудования

curl -v -F file=@Template_ESP8266.ino.nodemcu.bin --insecure -u [email protected]:admin https://localhost:9443/admin/ota/start?token=123
  • Template_ESP8266.ino.nodemcu.bin- относительный (или полный) путь к вашей прошивке;

  • --insecureфлаг для серверов с самогенерируемыми сертификатами. Вам не нужен этот флаг, если вы использовали Let's Encrypt или другие доверенные сертификаты;

  • [email protected]:adminучетные данные администратора на вашем сервере. Это значения по умолчанию. Формат username:password. Вы можете изменить его в server.propertiesфайле;

  • token— это идентификатор вашего оборудования, к которому вы хотите применить обновление прошивки. ;

Запустить обновление всех устройств

Обновление для всех устройств будет запущено только при их подключении к локальному серверу.

curl -v -F file=@Template_ESP8266.ino.nodemcu.bin --insecure -u [email protected]:admin https://localhost:9443/admin/ota/start

В этом случае OTA сработает сразу после подключения устройства к серверу. Если устройство подключено к сети, обновление прошивки будет инициировано только после повторного подключения устройства.

Запустить обновление для конкретного пользователя

В этом случае обновление прошивки будет запущено для всех устройств указанного пользователя.

curl -v -F file=@Template_ESP8266.ino.nodemcu.bin --insecure -u [email protected]:admin https://localhost:9443/admin/ota/[email protected]

Запустить обновление для конкретного проекта пользователя

В этом случае обновление прошивки будет запущено для всех устройств указанного пользователя в рамках указанного проекта.

curl -v -F file=@Template_ESP8266.ino.nodemcu.bin --insecure -u [email protected]:admin https://localhost:9443/admin/ota/[email protected]&project=123

Остановить обновление

curl -v --insecure -u [email protected]:admin https://localhost:9443/admin/ota/stop

Как собрать прошивку

Для того, чтобы собрать прошивку в Arduino IDE - зайдите в меню: Скетч -> Экспорт бинарного файла.

ВНИМАНИЕ: ESP8266 сейчас принимает прошивку только через HTTP, а не HTTPS.

Last updated