Перейти к содержанию

Навигация

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

м
→‎Режимы: Переписал
м (→‎Режимы: Переписал)
Строка 30: Строка 30:


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


=== Режим "update-fw" ===
Утилита работает в разных режимах, описание которых можно посмотреть ниже или во встроенной справке по команде <code>wb-mcu-fw-updater <режим> -h</code>
[[File:Bootloader.gif||right||Индикация режима загрузчика]]
Обновление прошивки устройства с известным slaveid. Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию ПО, производит обновление, если требуется. Данный режим гибко настраивается с помощью ключей запуска (см. wb-mcu-fw-updater update-fw -h). Например, в данном режиме можно устанавливать тестовые прошивки.


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


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


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


=== Режим "recover-all": ===  
=== Обновление загрущчика (update-bl) ===  
'''Только для контроллеров WirenBoard'''. Утилита проходит по всем устройствам, подключённым к wb-mqtt-serial (настроенным через web-интерфейс). Если какое-то из устройств находится в режиме бутлоадера, утилита прошивает его самой свежей прошивкой.
Обновление загрузчика устройства с известным  modbus-адресом.
 
'''ВНИМАНИЕ:''' обновление загрузчика — потенциально опасная операция. Если во время обновления загрузчика пропало питание, устройство может превратиться в «кирпич». В этом случае гарантия на него аннулируется. Чтобы избежать такой ситуации — резервируйте питание контроллера и устройства, например, с помощью [[UPS2 | UPS2]].
 
Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию загрузчика и производит обновление, если требуется. При обновлении загрузчика, устройство будет автоматически прошито самой свежей прошивкой.
 
Ключи запуска и справку можно посмотреть командой <code>wb-mcu-fw-updater update-bl -h</code>.
 
=== Восстановление после неудачного обновления (recover) ===
Восстановление устройства с испорченной прошивкой. Может быть полезно, если при обновлении прошивки пропало питание и устройство не загружается.
 
После запуска с указанием порта и modbus-адреса устройства утилита попробует его восстановить. Если восстановление не получится, то с согласия пользователя утилита попробует восстановить устройство с помощью всех доступных прошивок, процесс может быть длительным.
 
Ключи запуска и справку можно посмотреть командой <code>wb-mcu-fw-updater recover -h</code>.
 
=== Обновление всех устройств из devices (update-all) ===
Доступно только на контроллерах Wiren Board.
 
Обновление всех устройств, настроенных через web-интерфейс или прописанных вручную в файле <code>/etc/wb-mqtt-serial.conf</code>.
 
Для каждого обнаруженного устройства утилита проверяет наличие обновления и устанавливает его, если необходимо. По завершению утилита возвращает пользователю статистику по обновленным и пропущенным устройствам.
 
Ключи запуска и справку можно посмотреть командой <code>wb-mcu-fw-updater update-all -h</code>.
 
=== Восстановление всех устройств из devices (recover-all) ===
 
Доступно только на контроллерах Wiren Board.
 
Восстановление всех устройств, настроенных через web-интерфейс или прописанных вручную в файле <code>/etc/wb-mqtt-serial.conf</code>.
 
Для каждого обнаруженного устройства утилита проверяет его статус и, если устройство находится в режиме загрузчика — прошивает свежей прошивкой.
 
Ключи запуска и справку можно посмотреть командой <code>wb-mcu-fw-updater recover-all -h</code>.


==  Аргументы командной строки ==
==  Аргументы командной строки ==