Firmware Repository For Wiren Board Modbus Devices: различия между версиями
м |
Vdromanov (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 3 участников) | |||
Строка 4: | Строка 4: | ||
Прошивки 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>. | ||
Из '''ОС Linux или контроллера''' можно прочитать с помощью утилиты [[Modbus-client |modbus_client]]. Чтобы узнать сигнатуру устройства с адресом <code>10</code> | Из '''ОС Linux или контроллера''' можно прочитать с помощью утилиты [[Modbus-client |modbus_client]]. Чтобы узнать сигнатуру прошивки устройства с адресом <code>10</code>, подключённого к порту <code>/dev/ttyRS485-1</code> и с настройками <code>-pnone -s2 -b9600</code>: | ||
{{Wbincludes:Prepare modbus_client}} | |||
# Выполните команду: | # Выполните команду: | ||
#:<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> | ||
Строка 24: | Строка 22: | ||
О том, как читать регистры из '''ОС 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> | |||
== Выбор по сигнатуре == | == Выбор по сигнатуре == | ||
Строка 33: | Строка 39: | ||
# Найдите и откройте папку с нужной сигнатурой устройства. | # Найдите и откройте папку с нужной сигнатурой устройства. | ||
# Выберите одну из веток: | # Выберите одну из веток: | ||
#:*''' | #:*'''main''' — стабильные версии прошивок. Чтобы скачать самую свежую, выберите файл <code>latest.wbfw</code>. | ||
#:*'''unstable''' — экспериментальные версии прошивок: | #:*'''unstable''' — экспериментальные версии прошивок: | ||
#::* выберите одну из веток, | #::* выберите одну из веток, | ||
Строка 46: | Строка 52: | ||
# Найдите и откройте папку с нужной версией (типом) устройства. | # Найдите и откройте папку с нужной версией (типом) устройства. | ||
# Выберите одну из веток: | # Выберите одну из веток: | ||
#:*''' | #:*'''main''' — стабильные версии прошивок: | ||
#::* выберите папку с версией нужной прошивки, | #::* выберите папку с версией нужной прошивки, | ||
#::* загрузите файл с сигнатурой вашего устройства в наименовании. | #::* загрузите файл с сигнатурой вашего устройства в наименовании. |
Текущая версия на 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
:
- Если вы выполняете команды на контроллере:
- Откройте консоль контроллера по SSH.
- Остановите драйвер wb-mqtt-serial или иное ПО, которое опрашивает устройство.
- Выполните команду:
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
:
- Если вы выполняете команды на контроллере:
- Откройте консоль контроллера по SSH.
- Остановите драйвер wb-mqtt-serial или иное ПО, которое опрашивает устройство.
- Для устройства с адресом
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')
Выбор по сигнатуре
В этой папке файлы сгруппированы по сигнатуре устройства.
- Определите сигнатуру устройства.
- Перейдите на сайт fw-releases.wirenboard.com.
- Выберите папку by-signature.
- Найдите и откройте папку с нужной сигнатурой устройства.
- Выберите одну из веток:
- main — стабильные версии прошивок. Чтобы скачать самую свежую, выберите файл
latest.wbfw
. - unstable — экспериментальные версии прошивок:
- выберите одну из веток,
- загрузите файл прошивки.
- main — стабильные версии прошивок. Чтобы скачать самую свежую, выберите файл
Выбор по версии (типу) устройства
В этой папке файлы сгруппированы по версии (типу) устройства.
- Определите сигнатуру устройства.
- Перейдите на сайт fw-releases.wirenboard.com.
- Выберите папку by-version.
- Найдите и откройте папку с нужной версией (типом) устройства.
- Выберите одну из веток:
- main — стабильные версии прошивок:
- выберите папку с версией нужной прошивки,
- загрузите файл с сигнатурой вашего устройства в наименовании.
- unstable — экспериментальные версии прошивок:
- выберите одну из веток,
- перейдите в папку с нужной версией прошивки,
- загрузите файл с сигнатурой вашего устройства в наименовании.