Firmware Repository For Wiren Board Modbus Devices: различия между версиями

Материал из Wiren Board
 
(не показано 13 промежуточных версий 3 участников)
Строка 2: Строка 2:
__TOC__
__TOC__
== Общая информация ==
== Общая информация ==
Прошивки Modbus-устрйоств Wiren Board публикуются на сайте '''[http://fw-releases.wirenboard.com/?prefix=fw/ fw-releases.wirenboard.com]''' в виде файлов с расширением <code>.wbfw</code> и сгруппированы по версиям и сигнатурам (типам) устройств.
Прошивки Modbus-устрйоств Wiren Board публикуются на сайте '''[http://fw-releases.wirenboard.com/?prefix=fw/ fw-releases.wirenboard.com]''' в виде файлов с расширением <code>.wbfw</code> и сгруппированы по версиям (типам) и сигнатурам устройств.


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


== Выбор по сигнатуре ==
== Сигнатура устройства ==
Сигнатура устройства хранится в формате строки из двенадцати ASCII символов, по одному символу в регистре, и доступна начиная с адреса <code>290 (0x122)</code>.
В половине случаев сигнатуру прошивки устройства можно узнать из его названия, в остальных случаях сигнатуру прошивки нужно читать из регистров.
 
Сигнатура прошивки хранится в формате строки из двенадцати ASCII символов, по одному символу в регистре, и доступна начиная с адреса <code>290 (0x122)</code>.


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


Чтобы узнать сигнатуру устройства с адресом <code>10</code> и подключенного к порту <code>/dev/ttyRS485-1</code> :
{{Wbincludes:Prepare modbus_client}}
# Откройте консоль контроллера по [[SSH]].
# [[Modbus-client#Подготовка к работе | Остановите драйвер wb-mqtt-serial]].
# Выполните команду:
# Выполните команду:
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a 10 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
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')
</syntaxhighlight>
</syntaxhighlight>


Строка 23: Строка 23:
О том, как читать регистры из '''ОС Windows''' смотрите в статье [[Working with WB devices without a controller | Работа с устройствами Wiren Board без контроллера]]
О том, как читать регистры из '''ОС Windows''' смотрите в статье [[Working with WB devices without a controller | Работа с устройствами Wiren Board без контроллера]]


Теперь, имея сигнатуру вы можете скачать прошивку устройства:
== Версия прошивки ==
Чтобы узнать текущую версию прошивки устройства, нужно прочитать информацию в регистрах <code>250­-265</code>:
{{Wbincludes:Prepare modbus_client}}
# Для устройства с адресом <code>10</code>, подключённого к порту <code>/dev/ttyRS485-1</code> и с настройками <code>-pnone -s2 -b9600</code>, выполните команду:
#:<syntaxhighlight lang="bash">
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')
</syntaxhighlight>
 
== Выбор по сигнатуре ==
В этой папке файлы сгруппированы по сигнатуре устройства.
 
# Определите [[#Сигнатура устройства | сигнатуру устройства]].
# Перейдите на сайт [http://fw-releases.wirenboard.com/?prefix=fw/ fw-releases.wirenboard.com].
# Перейдите на сайт [http://fw-releases.wirenboard.com/?prefix=fw/ fw-releases.wirenboard.com].
# Выберите папку '''by-signature'''.
# Выберите папку '''by-signature'''.
# Найдите и откройте папку с нужной сигнатурой устройства.
# Найдите и откройте папку с нужной сигнатурой устройства.
# Выберите одну из веток:
# Выберите одну из веток:
#:*'''stable''' — стабильные версии прошивок. Чтобы скачать самую свежую, выберите файл <code>latest.wbfw</code>.
#:*'''main''' — стабильные версии прошивок. Чтобы скачать самую свежую, выберите файл <code>latest.wbfw</code>.
#:*'''unstable''' — экспериментальные версии прошивок.
#:*'''unstable''' — экспериментальные версии прошивок:
#::* выберите одну из веток,
#::* загрузите файл прошивки.
 
== Выбор по версии (типу) устройства ==
В этой папке файлы сгруппированы по версии (типу) устройства.


== Выбор по версии устройства ==
# Определите [[#Сигнатура устройства | сигнатуру устройства]].
Также вы можете выбрать прошивку для устройства по его модели:
# Перейдите на сайт [http://fw-releases.wirenboard.com/?prefix=fw/ fw-releases.wirenboard.com].
# Перейдите на сайт [http://fw-releases.wirenboard.com/?prefix=fw/ fw-releases.wirenboard.com].
# Выберите папку '''by-version'''.
# Выберите папку '''by-version'''.
# Найдите и откройте папку с нужным типом устройства.
# Найдите и откройте папку с нужной версией (типом) устройства.
# Выберите одну из веток:
# Выберите одну из веток:
#:*'''stable''' — стабильные версии прошивок:
#:*'''main''' — стабильные версии прошивок:
#::* выберите папку с версией нужной прошивки,
#::* выберите папку с версией нужной прошивки,
#::* загрузите файл с моделью вашего устройства в наименовании.
#::* загрузите файл с сигнатурой вашего устройства в наименовании.
#:*'''unstable''' — экспериментальные версии прошивок:
#:*'''unstable''' — экспериментальные версии прошивок:
#::* выберите экспериментальную ветку,
#::* выберите одну из веток,
#::* перейдите в папку с нужной версией прошивки,
#::* перейдите в папку с нужной версией прошивки,
#::* загрузите файл с моделью вашего устройства в наименовании.
#::* загрузите файл с сигнатурой вашего устройства в наименовании.


== Полезные ссылки ==
== Полезные ссылки ==
* [[WB Modbus Devices Firmware Update | Обновление прошивки Modbus-устройств Wiren Board]]
* [[WB Modbus Devices Firmware Update | Обновление прошивки Modbus-устройств Wiren Board]]
* [[wb-mcu-fw-flasher | Сервисная утилита wb-mcu-fw-flasher]]
* [[wb-mcu-fw-flasher | Сервисная утилита wb-mcu-fw-flasher]]

Текущая версия на 00:54, 18 февраля 2022

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

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

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

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

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

Сигнатура прошивки хранится в формате строки из двенадцати 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 — экспериментальные версии прошивок:
    • выберите одну из веток,
    • перейдите в папку с нужной версией прошивки,
    • загрузите файл с сигнатурой вашего устройства в наименовании.

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