Репозиторий прошивок для Modbus-устройств Wiren Board

This is the approved revision of this page, as well as being the most recent.

Общая информация

Прошивки Modbus-устрйоств Wiren Board публикуются на сайте fw-releases.wirenboard.com в виде файлов с расширением .wbfw и сгруппированы по версиям (типам) и сигнатурам устройств.

Каждое Modbus-устройство Wiren Board имеет сигнатуру — наименование аппаратного типа устройства. Устройство будет прошито, только если его сигнатура совпадет с сигнатурой в прошивке.

Данные об устройстве

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

Запрос через утилиту wb-mcu-fw-flasher

  1. Если вы выполняете команды на контроллере:
  2. Выполните команду:
    wb-mcu-fw-flasher -d /dev/<порт> -a<адрес> --get-device-info
    

Пример успешного ответа:

# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -a3 --get-device-info
/dev/ttyRS485-1 opened successfully.
Bootloader version: 1.4.3
Firmware version: 1.21.1
Firmware signature (fw-sig): mrwl3G
Download firmwares: https://fw-releases.wirenboard.com/?prefix=fw/by-signature/mrwl3G/

Чтение из регистров

Сигнатура устройства

В половине случаев сигнатуру прошивки устройства можно узнать из его названия, в остальных случаях сигнатуру прошивки нужно читать из регистров.

Сигнатура прошивки хранится в формате строки из двенадцати ASCII символов, по одному символу в регистре, и доступна начиная с адреса 290 (0x122).

Из ОС Linux или контроллера можно прочитать с помощью утилиты modbus_client. Чтобы узнать сигнатуру прошивки устройства с адресом 10, подключённого к порту /dev/ttyRS485-1 и с настройками -pnone -s2 -b9600:

  1. Если вы выполняете команды на контроллере:
  2. Выполните команду:
    echo -e $(modbus_client -mrtu -pnone -s2 -b9600 /dev/ttyRS485-1 -a 10 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
    

В результате будет выведена строка с сигнатурой, например mr6c.

О том, как читать регистры из ОС Windows смотрите в статье Работа с устройствами Wiren Board без контроллера

Версия прошивки

Чтобы узнать текущую версию прошивки устройства, нужно прочитать информацию в регистрах 250­-265:

  1. Если вы выполняете команды на контроллере:
  2. Для устройства с адресом 10, подключённого к порту /dev/ttyRS485-1 и с настройками -pnone -s2 -b9600, выполните команду:
     echo -e $(modbus_client -mrtu -pnone -s2 -b9600 /dev/ttyRS485-1 -a 10 -t3 -r 250 -c 15 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
    

Выбор по сигнатуре

В этой папке файлы сгруппированы по сигнатуре устройства.

  1. Определите сигнатуру устройства.
  2. Перейдите на сайт fw-releases.wirenboard.com.
  3. Выберите папку by-signature.
  4. Найдите и откройте папку с нужной сигнатурой устройства.
  5. Выберите одну из веток:
    • main — стабильные версии прошивок. Чтобы скачать самую свежую, выберите файл latest.wbfw.
    • unstable — экспериментальные версии прошивок:
    • выберите одну из веток,
    • загрузите файл прошивки.

Выбор по версии (типу) устройства

В этой папке файлы сгруппированы по версии (типу) устройства.

  1. Определите сигнатуру устройства.
  2. Перейдите на сайт fw-releases.wirenboard.com.
  3. Выберите папку by-version.
  4. Найдите и откройте папку с нужной версией (типом) устройства.
  5. Выберите одну из веток:
    • main — стабильные версии прошивок:
    • выберите папку с версией нужной прошивки,
    • загрузите файл с сигнатурой вашего устройства в наименовании.
    • unstable — экспериментальные версии прошивок:
    • выберите одну из веток,
    • перейдите в папку с нужной версией прошивки,
    • загрузите файл с сигнатурой вашего устройства в наименовании.

Полезные ссылки