WB Modbus Devices Firmware Update: различия между версиями

 
(не показано 15 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE:Обновление прошивки Modbus-устройств Wiren Board}}
{{DISPLAYTITLE:Обновление прошивки Modbus-устройств Wiren Board}}
== Общая информация ==
== Общая информация ==
В наших modbus-устройствах реализован механизм загрузчика прошивок — bootloader. Он позволяет обновлять прошивки устройств и модулей Wiren Board по RS-485/Modbus RTU. В режиме загрузчика основные функции устройства отключаются, а коммуникационные параметры в режиме загрузчика фиксированы и не зависят от значений в памяти устройства: 9600 8N2.
{{YouTube
|link= https://www.youtube.com/watch?v=d_olK15Xhkw
|text= Обновление прошивок устройств (24:08)
|start=1448
}}
В modbus-устройствах Wiren Board есть [[Bootloader |загрузчик (bootloader)]], который позволяет обновлять прошивки по RS-485/Modbus RTU. В режиме загрузчика основные функции устройства отключаются, а коммуникационные параметры в режиме загрузчика фиксированы и не зависят от значений в памяти устройства: 9600 8N2.


Сами прошивки выпускаюся в формате релизов, которые привязаны к [[Wiren_Board_Firmware_Update#releases| релизам]] программного обеспечения контроллера, но имеют отличный от него цикл. Это позволяет избежать ситуации, когда свежая версия прошивки без продолжительного тестирования попадает в очень отвественную инсталляцию.
Сами прошивки выпускаются в формате релизов, которые привязаны к [[Wiren_Board_Software#releases| релизам программного обеспечения контроллера]], но имеют отличный от него цикл:
* '''testing''' — сюда попадают прошивки после внутреннего тестирования, доступны для пользователей testing-релиза контроллера;
* '''stable''' — через три недели после публикации в testing и при отсутствии сообщений об ошибках, прошивки считаются стабильными. В этот момент они становятся доступны и для пользователей stable-релиза контроллера. Если изменений в прошивке было много и они затрагивали основные функции устройства, то прошивка может немного задержаться в testing.


Если ваши устройства подключены через шлюз WB-MGE или аналог, то для прошивки нового, поддерживающего обновление bootloader - подключите их напрямую к контроллеру или используйте перенаправление socat, [[WB FAQ/modbus-modules-behind-gateway | инструкция]].
На странице каждого устройства есть ссылка на список изменений в прошивках, где прошивки в testing отмечены маркером «testing». Прошивка без отметки считается стабильной.
 
Распределение прошивок по релизам позволяет избежать ситуации, когда свежая версия прошивки без продолжительного тестирования попадает в очень ответственную инсталляцию. Если для новой прошивки нужны новые функции в ПО контроллера, то либо они заедут в stable-релиз ПО вместе с прошивкой, либо прошивка задержится в testing до появления нужных функций в ПО.
 
Для прошивки подключённых через шлюз WB-MGE или аналог устройств, используйте перенаправление socat, [[WB FAQ/modbus-modules-behind-gateway | инструкция]].


== Автоматическое обновление ==
== Автоматическое обновление ==
Строка 12: Строка 23:
Автоматическое обновление прошивки выполняется с помощью предустановленной на контроллеры Wiren Board утилиты [[Wb-mcu-fw-updater | wb-mcu-fw-updater]] и позволяет установить свежую версию ПО сразу на все подключенные устройства или отдельно на каждое. Определение сигнатуры (модели) устройства, новой прошивки произойдет автоматически.
Автоматическое обновление прошивки выполняется с помощью предустановленной на контроллеры Wiren Board утилиты [[Wb-mcu-fw-updater | wb-mcu-fw-updater]] и позволяет установить свежую версию ПО сразу на все подключенные устройства или отдельно на каждое. Определение сигнатуры (модели) устройства, новой прошивки произойдет автоматически.


Утилита работает только на нашем контроллере и ей нужен доступ в интернет. Если у вас нет интернета или нашего контроллера, смотрите раздел [[#manual|Ручное обновление]].
Утилита работает только на нашем контроллере и ей нужен доступ в интернет. Если у вас нет интернета или нашего контроллера, смотрите раздел [[#manual|Ручное обновление]].
 
Обновление прошивок устройств, подключенных к шлюзам WB-MGE и WM-MIO-E, также выполняется [[WB_Modbus_Devices_Firmware_Update#%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B8_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2,_%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%BA_%D1%88%D0%BB%D1%8E%D0%B7%D0%B0%D0%BC_WB-MGE_%D0%B8_WB-MIO-E |вручную с отображением сетевого порта в локальный]].


=== Обновление всех устройств на шине ===
=== Обновление всех устройств на шине ===
Строка 41: Строка 54:
{{Anchor|manual}}
{{Anchor|manual}}
=== Особенности ===
=== Особенности ===
Мы не рекомендуем этот способ, но если на объекте нет доступа в интернет, или у вас нет контроллера — это единственный вариант.
Этот способ используется если:
*на объекте нет доступа в интернет,
*у вас нет контроллера,
*вы обновляете прошивку устройств, [[WB_Modbus_Devices_Firmware_Update#Обновление_прошивки_устройств,_подключенных_к_шлюзам_WB-MGE_и_WB-MIO-E |подключенных за шлюзами WB-MGE и WB-MIO-E]].
 
Во всех остальных случаях используйте [[WB_Modbus_Devices_Firmware_Update#Автоматическое_обновление |автоматическое обновление]].


Ручное обновление можно сделать утилитой wb-mcu-fw-flasher, которую нужно предварительно установить. Способ установки отличается и зависит от используемой операционной системы и описан в [[wb-mcu-fw-flasher#Установка утилиты | документации]].
Ручное обновление можно сделать утилитой '''[[wb-mcu-fw-flasher#Установка утилиты | wb-mcu-fw-flasher]]''', которую нужно предварительно установить. Способ установки отличается и зависит от используемой операционной системы.


=== Подготовка устройства ===
=== Подготовка устройства ===
Строка 137: Строка 155:
Настройки соединения могут быть любыми только если:
Настройки соединения могут быть любыми только если:


*версия wb-mcu-fw-flasher не ниже '''1.3.0''' (доступно в [[Wiren_Board_Firmware_Update#releases |testing]]),
*версия wb-mcu-fw-flasher не ниже '''1.3.0''' (доступно в [[testing |testing]]),
*текущая версия прошивки устройства поддерживает '''131''' регистр (см. Журналы изменений на страницах устройств),
*текущая версия прошивки устройства поддерживает '''131''' регистр (см. Журналы изменений на страницах устройств),
*текущая версия загрузчика не ниже '''1.3.0'''.
*текущая версия загрузчика не ниже '''1.3.0'''.
Строка 178: Строка 196:
В этом случае обновление можно выполнить только на скорости '''9600N2''', указав параметр <code>-j</code> для утилиты wb-mcu-fw-flasher. Если используются другие настройки соединения сначала нужно изменить их на стандартные.
В этом случае обновление можно выполнить только на скорости '''9600N2''', указав параметр <code>-j</code> для утилиты wb-mcu-fw-flasher. Если используются другие настройки соединения сначала нужно изменить их на стандартные.


Рекомендуем также обновить загрузчик если его версия ниже '''1.3.0'''. Это позволит в дальнейшем обновлять прошивку на любой скорости соединения.
Рекомендуем также обновить загрузчик если его версия ниже '''1.3.0'''. Это позволит в дальнейшем обновлять прошивку на [[WB_Modbus_Devices_Firmware_Update#Обновление_на_любой_скорости_соединения |любой скорости соединения]].


Рассмотрим синтетический пример обновления прошивки устройств, в котором используются нестандартные настройки соединения:
Рассмотрим синтетический пример обновления прошивки устройств, в котором используются нестандартные настройки соединения: