Wb-mcu-fw-updater: различия между версиями

Материал из Wiren Board
м
(не показано 40 промежуточных версий 7 участников)
Строка 1: Строка 1:
{{Draft}}
{{DISPLAYTITLE:Утилита обновления прошивок wb-mcu-fw-updater}}
{{DISPLAYTITLE:Утилита обновления прошивок wb-mcu-fw-updater}}
== Общая информация ==
== Возможность обновления ==  
Здесь описывается <code>wb-mcu-fw-updater</code> — утилита для автоматического обновления прошивок modbus-устройств Wiren Board.


Краткую инструкцию по обновлению прошивки читайте в статье [[WB Modbus Devices Firmware Update | Обновление прошивок на устройствах Wiren Board]].
Для устройств Wiren Board, работающих по протоколу Modbus RTU, доступно удалённое обновление ПО (микрокода) самого устройства. Обновление реализовано посредством прошивки файла .wbfw по шине modbus с помощью утилиты wb-mcu-fw-flasher. Подробная информация о процедуре прошивки доступна [[WB-MCU-Flasher | здесь.]]


== Установка утилиты ==  
Сами файлы обновлений можно скачать в репозитории [http://fw-releases.wirenboard.com/?prefix=fw/ fw-releases.wirenboard.com]
 
== Автоматическое обновление прошивок устройств ==  
Чтобы не производить действия по выбору подходящей прошивки, её скачиванию и установке на устройство, была написана утилита [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater].
Чтобы не производить действия по выбору подходящей прошивки, её скачиванию и установке на устройство, была написана утилита [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater].


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


=== Контроллер Wiren Board ===
=== Утилита wb-mcu-fw-updater ===
Утилита предустановлена на все контроллеры Wiren Board, начиная с версии 5 и выше.
==== Установка: ====  
На контроллеры Wiren Board утилита устанавливается следующими командами:
<syntaxhighlight lang="bash">
apt update
apt install wb-mcu-fw-updater
</syntaxhighlight>


Если у вас её не оказалось, то можно установить из репозитория:
===== На другие Debian-подобные системы: =====
# Откройте консоль контроллера через [[SSH]].
Для Ubuntu, Linux Mint, Elementary OS и других дистрибутивов, использующих пакетный менеджер apt, порядок действий примерно следующий:
# Обновите список пакетов:
# Перейти в репозиторий [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater].
# Собрать deb-пакет по инструкции в нём.
# Установить [[WB-MCU-Flasher | wb-mcu-fw-flasher]].
# Установить собранный deb-пакет командами:
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
apt update
apt update
apt install ./<путь_до_собранного_пакета>.deb
</syntaxhighlight>
</syntaxhighlight>
# Установите утилиту командой:
#:<syntaxhighlight lang="bash">
apt install wb-mcu-fw-updater
</syntaxhighlight>


=== ОС Linux ===
==== Интерфейс и режимы работы: ====  
{{Anchor|linux}}
[[File:Wb-mcu-fw-updater interface.png||center||Help доступен при запуске утилиты с ключом -h. Для каждого режима работы тоже доступен help (пример: wb-mcu-fw-updater update-fw -h)]]
Wb-mcu-fw-updater не поддерживается на других платформах. Для Debian-подобных операционных систем есть утилита [[Wb-mcu-fw-flasher |wb-mcu-fw-flasher]].
Утилита работает в разных режимах (обновление прошивки, обновление бутлоадера, восстановление после неудачного обновления, обновление всех устройств из devices, восстановление всех устройств из devices).
 
===== Режим "update-fw": =====
[[File:Bootloader.gif||right||Индикация режима загрузчика]]
Обновление прошивки устройства с известным slaveid. Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию ПО, производит обновление, если требуется. Данный режим гибко настраивается с помощью ключей запуска (см. wb-mcu-fw-updater update-fw -h). Например, в данном режиме можно устанавливать тестовые прошивки.
 
===== Режим "update-bl": =====
Обновление бутлоадера устройства с известным slaveid. Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию бутлоадера и производит обновление, если требуется. '''Обновление бутлоадера - потенциально опасная операция''', поэтому, этот режим имеет минимальное количество настроек (описание ключей запуска доступно в wb-mcu-fw-updater update-bl -h). Если во время обновления бутлоадера пропало питание, устройство может превратиться в "кирпич". В таком случае, гарантия на него аннулируется. При обновлении бутлоадера, устройство будет '''автоматически прошито самой свежей прошивкой'''.


== Режимы ==
===== Режим "recover": =====  
[[Image: Wb-mcu-fw-updater interface.png|450px|thumb|right| Help доступен при запуске утилиты с ключом -h. Для каждого режима работы тоже доступен help, например, wb-mcu-fw-updater update-fw -h]]
Восстановление устройства с испорченной прошивкой (например, при прошивке пропало питание, и устройство перестало загружаться). После указания slaveid и порта, утилита попробует восстановить устройство. В случае неудачи, (с согласия пользователя), утилита пытается восстановить устройство с помощью всех доступных прошивок (процесс может быть длительным).
[[Image: Bootloader.gif|300px|thumb|right| Индикация режима загрузчика]]


Утилита работает в разных режимах, описание которых можно посмотреть ниже или во встроенной справке по команде <code>wb-mcu-fw-updater <режим> -h</code>
===== Режим "update-all": =====
'''Только для контроллеров WirenBoard'''. Обновление всех устройств, подключенных к wb-mqtt-serial (настроенных через web-интерфейс).
Для каждого обнаруженного устройства в конфигурационном файле /etc/wb-mqtt-serial.conf утилита проверяет наличие обновления и устанавливает его, если имеется. По завершению, пользователю возвращаются результаты (сколько устройство обновлено/сколько - нет)


=== Обновление прошивки (update-fw) ===  
===== Режим "recover-all": =====  
Обновление прошивки устройства с известным modbus-адресом.  
'''Только для контроллеров WirenBoard'''. Утилита проходит по всем устройствам, подключённым к wb-mqtt-serial (настроенным через web-интерфейс). Если какое-то из устройств находится в режиме бутлоадера, утилита прошивает его самой свежей прошивкой.


Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию ПО и производит обновление, если требуется. Этот режим гибко настраивается с помощью ключей запуска, например, в этом режиме можно устанавливать тестовые прошивки.
==== Ключи и порядок запуска wb-mcu-fw-updater: ====
{| class="wikitable noclear"
{| class="wikitable"
|+ wb-mcu-fw-updater <режим работы> <ключи/флаги для этого режима>
! Параметр !! Описание !! Значение по умолчанию
! Параметр !! Описание !! Значение по умолчанию
|-
!colspan="3"|Режим "update-fw". Обновление прошивки устройства.
|-
|-
|  || Порт, к которому подключено устройство. Позиционный аргумент || '''обязательный'''  
|  || Порт, к которому подключено устройство. Позиционный аргумент || '''обязательный'''  
Строка 52: Строка 71:
|-
|-
|-
|-
| -h, --help || Описание ключей запуска для режима || Флаг
| -h, --help || Описание ключей запуска для режима '''update-fw''' || Флаг
|-
|-
|-
|-
| -f, --force || Произвести перепрошивку устройства даже если установлена самая свежая прошивка || Флаг
| --force || Произвести перепрошивку устройства даже, если установлена самая свежая прошивка || Флаг
|-
|-
|-
|-
| --restore-defaults || Стирает все настройки и калибровочные значения: датчики начнут показывать ерунду. <br>Не используйте, если не знаете, что делаете. || Флаг
| --restore-defaults || Восстановить настройки устройства к заводским || Флаг
|-
|-
|-
|}
=== Обновление загрузчика (update-bl) ===
{{Anchor|update-bl}}
Обновление загрузчика устройства с известным  modbus-адресом.
Изменения в новой версии загрузчика описаны в [[Bootloader_Changelog |журнале изменений]].
'''ВНИМАНИЕ:''' обновление загрузчика — потенциально опасная операция. Если во время обновления загрузчика пропало питание, устройство может превратиться в «кирпич». В этом случае гарантия на него аннулируется. Чтобы избежать такой ситуации — подключайте устройство напрямую к контроллеру, а также резервируйте питание контроллера и устройства, например, с помощью [[UPS2 | WB-UPS v.2]].
Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию загрузчика и производит обновление, если требуется. При обновлении загрузчика, устройство будет автоматически прошито самой свежей прошивкой.


{| class="wikitable"
!colspan="3"|Режим "update-bl". Обновление бутлоадера устройства.
! Параметр !! Описание !! Значение по умолчанию
|-
|-
|  || Порт, к которому подключено устройство. Позиционный аргумент || '''обязательный'''  
|  || Порт, к которому подключено устройство. Позиционный аргумент || '''обязательный'''  
Строка 80: Строка 88:
|-
|-
|-
|-
| -h, --help || Описание ключей запуска для режима || Флаг
| -h, --help || Описание ключей запуска для режима '''update-bl''' || Флаг
|-
|-
|-
|-
| --force || Произвести перепрошивку устройства даже если установлен самый свежий бутлоадер || Флаг
| --force || Произвести перепрошивку устройства даже если установлен самый свежий бутлоадер || Флаг
|-
|-
|}
|-
 
Пример команды, которая обновляет загрузчик в устройстве с адресом 153, подключенного к порту /dev/ttyRS485-1:
<syntaxhighlight lang="bash">
wb-mcu-fw-updater update-bl -a 153 /dev/ttyRS485-1
</syntaxhighlight>


=== Восстановление (recover) ===
!colspan="3"|Режим "recover". Восстановление прошивки устройства.
Восстановление устройства с испорченной прошивкой. Если при использовании <code>wb-mcu-fw-updater</code> процедура прервалась, например, пропало питание и устройство не загружается — можно воспользоваться этим режимом.
 
После запуска с указанием порта и modbus-адреса устройства утилита попробует его восстановить с помощью последней зашитой в него прошивкой. Если восстановление не получится, то с согласия пользователя, утилита попробует восстановить устройство с помощью всех доступных прошивок, процесс перебора может быть длительным.
 
{| class="wikitable"
! Параметр !! Описание !! Значение по умолчанию
|-
|-
|  || Порт, к которому подключено устройство. Позиционный аргумент || '''обязательный'''  
|  || Порт, к которому подключено устройство. Позиционный аргумент || '''обязательный'''  
Строка 108: Строка 105:
|-
|-
|-
|-
| --restore-defaults || Стирает все настройки и калибровочные значения: датчики начнут показывать ерунду. <br>Не используйте, если не знаете, что делаете. || Флаг
| --restore-defaults || Восстановление настроек устройства к заводским || Флаг
|-
|-
|-
|-
| -h, --help || Описание ключей запуска для режима || Флаг
| -h, --help || Описание ключей запуска для режима '''recover''' || Флаг
|-
|-
|-
|}


=== Обновление прошивки всех устройств (update-all) ===
!colspan="3"|Режим "update-all". Обновление прошивок всех устройств, подключённых к драйверу.
Доступно только на контроллерах Wiren Board.
 
Обновление устройств, настроенных через web-интерфейс или прописанных вручную в файле <code>/etc/wb-mqtt-serial.conf</code>.
 
Для каждого обнаруженного устройства утилита проверяет наличие обновления и устанавливает его, если необходимо. По завершению утилита возвращает пользователю статистику по обновленным и пропущенным устройствам.
 
{| class="wikitable"
! Параметр !! Описание !! Значение по умолчанию
|-
|-
| --force || Произвести перепрошивку устройств даже если на них установлена самая свежая прошивка || Флаг
| --force || Произвести перепрошивку устройств даже если на них установлена самая свежая прошивка || Флаг
|-
|-
|-
|-
| -h, --help || Описание ключей запуска для режима || Флаг
| -h, --help || Описание ключей запуска для режима '''update-all''' || Флаг
|-
|}
 
=== Восстановление прошивки всех устройств (recover-all) ===
 
Доступно только на контроллерах Wiren Board.
 
Восстановление устройств, настроенных через web-интерфейс или прописанных вручную в файле <code>/etc/wb-mqtt-serial.conf</code>.
 
Для каждого обнаруженного устройства утилита проверяет его статус и, если устройство находится в режиме загрузчика — прошивает свежей прошивкой.
 
{| class="wikitable"
! Параметр !! Описание !! Значение по умолчанию
|-
|-
| -h, --help || Описание ключей запуска для режима || Флаг
|}


=== Залить прошивку из файла (flash-file) ===
!colspan="3"|Режим "recover-all". Восстановление прошивок всех устройств, подключённых к драйверу.
 
Заливает в устройство прошивку из указанного файла.
 
{| class="wikitable"
! Параметр !! Описание !! Значение по умолчанию
|-
|-
| ||Порт, к которому подключено устройство. Позиционный аргумент  || '''обязательный'''
| -h, --help || Описание ключей запуска для режима '''recover-all''' || Флаг
|-
|-
| -a, --slaveid || Modbus адрес устройства || '''обязательный'''
|-
|  --file || Путь к файлу прошивки || '''обязательный'''
|-
| -h, --help || Описание ключей запуска для режима || Флаг
|}
|}


<syntaxhighlight lang="console">
== Типичные сценарии использования ==
# wb-mcu-fw-updater flash-file /dev/ttyRS485-1 --conn-settings 115200N2 -a20 --file /home/debs/mcm8G__1.4.0-rc1_master_20e4b39.wbfw
Рассмотрим порядок действий и запуск wb-mcu-fw-updater для некоторых типичных случаев:
2022-07-27 12:14:02,043 Flashing /home/debs/mcm8G__1.4.0-rc1_master_20e4b39.wbfw
100%|#######################################################################################################|134/134
</syntaxhighlight>


=== Получить debug-лог ===
=== Обновление прошивки устройства ===  
Если в работе утилиты возникли ошибки, то при обращении в техподдержку лучше приложить debug-лог, чтобы его получить, добавьте в конце команды <code>--debug</code>, например:
# Узнать modbus адрес обновляемого устройства (адрес по умолчанию напечатан на наклейке сбоку устройства) и порт, к которому оно подключено (например, /dev/ttyRS485-1).
<syntaxhighlight lang="bash">
# Запустить утилиту wb-mcu-fw-updater со следующими ключами:
wb-mcu-fw-updater update-fw /dev/ttyMOD1 -a32 -f --debug
</syntaxhighlight>
 
Параметр работает во всех режимах.
 
== Типичные сценарии использования ==


Утилита имеет формат запуска:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
wb-mcu-fw-updater <режим работы> <ключи/флаги для этого режима>
</syntaxhighlight>
Ниже рассмотрим типичные сценарии использования.
=== Обновление прошивки устройства ===
# Узнать [[Определение и изменение Modbus-адреса устройств Wirenboard | modbus-адрес]] обновляемого устройства и порт, к которому оно подключено, например, <code>/dev/ttyRS485-1</code>.
# Запустить утилиту <code>wb-mcu-fw-updater</code> со следующими ключами:
#:<syntaxhighlight lang="bash">
wb-mcu-fw-updater update-fw <порт, на котором находится устройство> -a <modbus адрес устройства>
wb-mcu-fw-updater update-fw <порт, на котором находится устройство> -a <modbus адрес устройства>
</syntaxhighlight>
</syntaxhighlight>


=== Установка тестовой прошивки ===  
=== Установка тестовой прошивки ===  
# Узнать [[Определение и изменение Modbus-адреса устройств Wirenboard | modbus-адрес]] обновляемого устройства и порт, к которому оно подключено, например, <code>/dev/ttyRS485-1</code>.
# Узнать modbus адрес обновляемого устройства (адрес по умолчанию напечатан на наклейке сбоку устройства) и порт, к которому оно подключено (например, /dev/ttyRS485-1).
# Узнать название тестовой ветки (branch).
# Узнать название тестовой ветки (branch).
# Запустить утилиту <code>wb-mcu-fw-updater</code> со следующими ключами:
# Запустить утилиту wb-mcu-fw-updater со следующими ключами:
#:<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
wb-mcu-fw-updater update-fw <порт, на котором находится устройство> -a <modbus адрес устройства> --branch <ветка с тестовой прошивкой>
wb-mcu-fw-updater update-fw <порт, на котором находится устройство> -a <modbus адрес устройства> --branch <ветка с тестовой прошивкой>
</syntaxhighlight>
</syntaxhighlight>


=== Обновление всех устройств, подключённых к драйверу ===  
=== Обновление всех устройств, подключённых к драйверу ===  
Устройства должны опрашиваться драйвером wb-mqtt-serial, то есть находиться в его конфигурационном файле.
Устройства должны опрашиваться драйвером wb-mqtt-serial (находиться в его конфигурационном файле).
# Запустить утилиту <code>wb-mcu-fw-updater</code> со следующими ключами:
# Запустить утилиту wb-mcu-fw-updater со следующими ключами:
#:<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
wb-mcu-fw-updater update-all
wb-mcu-fw-updater update-all
</syntaxhighlight>
</syntaxhighlight>
Строка 211: Строка 157:


=== Восстановление прошивки на устройстве ===  
=== Восстановление прошивки на устройстве ===  
Устройство находится в режиме загрузчика (зелёный светодиод мигает 1 раз в секунду) и не может запустить нормальный режим работы. По завершению восстановления, адрес устройства и настройки uart остаются прежними.
Устройство находится в режиме бутлоадера (зелёный светодиод мигает 1 раз в секунду) и не может запустить нормальный режим работы. По завершению восстановления, адрес устройства и настройки uart '''остаются прежними.'''
# Узнать modbus-адрес устройства и порт, к которому оно подключено.
# Узнать modbus-адрес устройства и порт, к которому оно подключено.
# Запустить утилиту <code>wb-mcu-fw-updater</code> со следующими ключами:
# Запустить утилиту wb-mcu-fw-updater со следующими ключами:
#:<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
wb-mcu-fw-updater recover <порт, на котором находится устройство> -a <modbus адрес устройства>
wb-mcu-fw-updater recover <порт, на котором находится устройство> -a <modbus адрес устройства>
</syntaxhighlight>
</syntaxhighlight>
== Полезные ссылки ==
* [[Restore factory settings Wiren Board Modbus device | Сброс Modbus-устройства Wiren Board к заводским настройкам]]
* [[WB Modbus Devices Firmware Update | Обновление прошивки Modbus-устройств Wiren Board]]
* [[wb-mcu-fw-flasher | Сервисная утилита wb-mcu-fw-flasher]]

Версия 23:24, 20 мая 2021

Это черновик страницы. Последняя правка сделана 20.05.2021 пользователем A.Degtyarev.

Возможность обновления

Для устройств Wiren Board, работающих по протоколу Modbus RTU, доступно удалённое обновление ПО (микрокода) самого устройства. Обновление реализовано посредством прошивки файла .wbfw по шине modbus с помощью утилиты wb-mcu-fw-flasher. Подробная информация о процедуре прошивки доступна здесь.

Сами файлы обновлений можно скачать в репозитории fw-releases.wirenboard.com

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

Чтобы не производить действия по выбору подходящей прошивки, её скачиванию и установке на устройство, была написана утилита wb-mcu-fw-updater.

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

Утилита wb-mcu-fw-updater

Установка:

На контроллеры Wiren Board утилита устанавливается следующими командами:

apt update
apt install wb-mcu-fw-updater
На другие Debian-подобные системы:

Для Ubuntu, Linux Mint, Elementary OS и других дистрибутивов, использующих пакетный менеджер apt, порядок действий примерно следующий:

  1. Перейти в репозиторий wb-mcu-fw-updater.
  2. Собрать deb-пакет по инструкции в нём.
  3. Установить wb-mcu-fw-flasher.
  4. Установить собранный deb-пакет командами:
    apt update
    apt install ./<путь_до_собранного_пакета>.deb
    

Интерфейс и режимы работы:

Help доступен при запуске утилиты с ключом -h. Для каждого режима работы тоже доступен help (пример: wb-mcu-fw-updater update-fw -h)

Утилита работает в разных режимах (обновление прошивки, обновление бутлоадера, восстановление после неудачного обновления, обновление всех устройств из devices, восстановление всех устройств из devices).

Режим "update-fw":
Индикация режима загрузчика

Обновление прошивки устройства с известным slaveid. Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию ПО, производит обновление, если требуется. Данный режим гибко настраивается с помощью ключей запуска (см. wb-mcu-fw-updater update-fw -h). Например, в данном режиме можно устанавливать тестовые прошивки.

Режим "update-bl":

Обновление бутлоадера устройства с известным slaveid. Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию бутлоадера и производит обновление, если требуется. Обновление бутлоадера - потенциально опасная операция, поэтому, этот режим имеет минимальное количество настроек (описание ключей запуска доступно в wb-mcu-fw-updater update-bl -h). Если во время обновления бутлоадера пропало питание, устройство может превратиться в "кирпич". В таком случае, гарантия на него аннулируется. При обновлении бутлоадера, устройство будет автоматически прошито самой свежей прошивкой.

Режим "recover":

Восстановление устройства с испорченной прошивкой (например, при прошивке пропало питание, и устройство перестало загружаться). После указания slaveid и порта, утилита попробует восстановить устройство. В случае неудачи, (с согласия пользователя), утилита пытается восстановить устройство с помощью всех доступных прошивок (процесс может быть длительным).

Режим "update-all":

Только для контроллеров WirenBoard. Обновление всех устройств, подключенных к wb-mqtt-serial (настроенных через web-интерфейс). Для каждого обнаруженного устройства в конфигурационном файле /etc/wb-mqtt-serial.conf утилита проверяет наличие обновления и устанавливает его, если имеется. По завершению, пользователю возвращаются результаты (сколько устройство обновлено/сколько - нет)

Режим "recover-all":

Только для контроллеров WirenBoard. Утилита проходит по всем устройствам, подключённым к wb-mqtt-serial (настроенным через web-интерфейс). Если какое-то из устройств находится в режиме бутлоадера, утилита прошивает его самой свежей прошивкой.

Ключи и порядок запуска wb-mcu-fw-updater:

wb-mcu-fw-updater <режим работы> <ключи/флаги для этого режима>
Параметр Описание Значение по умолчанию
Режим "update-fw". Обновление прошивки устройства.
Порт, к которому подключено устройство. Позиционный аргумент обязательный
-a, --slaveid Modbus адрес устройства обязательный
--version Скачивать прошивку определённой версии latest
--branch Скачивать прошивку из ветки разработки (на свой страх и риск!) None
-h, --help Описание ключей запуска для режима update-fw Флаг
--force Произвести перепрошивку устройства даже, если установлена самая свежая прошивка Флаг
--restore-defaults Восстановить настройки устройства к заводским Флаг
Режим "update-bl". Обновление бутлоадера устройства.
Порт, к которому подключено устройство. Позиционный аргумент обязательный
-a, --slaveid Modbus адрес устройства обязательный
-h, --help Описание ключей запуска для режима update-bl Флаг
--force Произвести перепрошивку устройства даже если установлен самый свежий бутлоадер Флаг
Режим "recover". Восстановление прошивки устройства.
Порт, к которому подключено устройство. Позиционный аргумент обязательный
-a, --slaveid Modbus адрес устройства обязательный
--fw-sig Сигнатура прошивки (если известна заранее) None
--restore-defaults Восстановление настроек устройства к заводским Флаг
-h, --help Описание ключей запуска для режима recover Флаг
Режим "update-all". Обновление прошивок всех устройств, подключённых к драйверу.
--force Произвести перепрошивку устройств даже если на них установлена самая свежая прошивка Флаг
-h, --help Описание ключей запуска для режима update-all Флаг
Режим "recover-all". Восстановление прошивок всех устройств, подключённых к драйверу.
-h, --help Описание ключей запуска для режима recover-all Флаг

Типичные сценарии использования

Рассмотрим порядок действий и запуск wb-mcu-fw-updater для некоторых типичных случаев:

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

  1. Узнать modbus адрес обновляемого устройства (адрес по умолчанию напечатан на наклейке сбоку устройства) и порт, к которому оно подключено (например, /dev/ttyRS485-1).
  2. Запустить утилиту wb-mcu-fw-updater со следующими ключами:
wb-mcu-fw-updater update-fw <порт, на котором находится устройство> -a <modbus адрес устройства>

Установка тестовой прошивки

  1. Узнать modbus адрес обновляемого устройства (адрес по умолчанию напечатан на наклейке сбоку устройства) и порт, к которому оно подключено (например, /dev/ttyRS485-1).
  2. Узнать название тестовой ветки (branch).
  3. Запустить утилиту wb-mcu-fw-updater со следующими ключами:
wb-mcu-fw-updater update-fw <порт, на котором находится устройство> -a <modbus адрес устройства> --branch <ветка с тестовой прошивкой>

Обновление всех устройств, подключённых к драйверу

Устройства должны опрашиваться драйвером wb-mqtt-serial (находиться в его конфигурационном файле).

  1. Запустить утилиту wb-mcu-fw-updater со следующими ключами:
wb-mcu-fw-updater update-all
  1. Дождаться результатов обновления.

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

Устройство находится в режиме бутлоадера (зелёный светодиод мигает 1 раз в секунду) и не может запустить нормальный режим работы. По завершению восстановления, адрес устройства и настройки uart остаются прежними.

  1. Узнать modbus-адрес устройства и порт, к которому оно подключено.
  2. Запустить утилиту wb-mcu-fw-updater со следующими ключами:
wb-mcu-fw-updater recover <порт, на котором находится устройство> -a <modbus адрес устройства>