Wb-mb-explorer: различия между версиями

Материал из Wiren Board
(→‎Описание интерфейса: грамматические правки)
(→‎Установка утилиты: полная версия утилиты доступна и в стабильном релизе)
 
Строка 25: Строка 25:


== Установка утилиты ==  
== Установка утилиты ==  
Утилита доступна для установки в релизе <b>testing</b>. Исходный код доступен в репозитории [https://github.com/wirenboard/wb-mb-explorer wb-mb-explorer].
Исходный код доступен в репозитории [https://github.com/wirenboard/wb-mb-explorer wb-mb-explorer].
Установка утилиты осуществляется стандартным способом:
Установка утилиты осуществляется стандартным способом:
# Откройте консоль контроллера через [[SSH]].
# Откройте консоль контроллера через [[SSH]].

Текущая версия на 08:28, 21 июня 2022


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

Это неофициальная утилита, используйте её на свой страх и риск и только, если уверены в своих действиях. Здесь описывается wb-mb-explorer — консольная графическая утилита, которая может быть установлена на контроллер Wiren Board и предназначена для работы с периферийными устройствами по протоколу Modbus RTU.

Возможности:

  • настройка последовательных портов контроллера;
  • работа с Modbus-устройствами:
    • чтение и установка параметров подключения;
    • поиск подключённых к контроллеру устройств;
    • обновление прошивки.

Утилита представляет собой скрипт, основанный на штатных программах и утилитах контроллера Wiren Board: modbus_client, wb-mcu-fw-flasher, wb-mcu-fw-updater. За счет графического интерфейса работа с утилитой обычно проще, чем непосредственный набор команд с множеством опций в рабочей строке.

Утилита предназначена работает только на контроллере Wiren Board. При запуске утилиты, а также при каждой попытке обращения к устройству по шине RS-485, драйвер wb-mqtt-serial будет остановлен. Это необходимо для получения доступа к портам контроллера. После запуска откроется главное окно, в котором можно выбирать нужные действия с устройствами. При выходе из утилиты драйвер wb-mqtt-serial будет снова запущен.

Ниже приведены несколько скриншотов работы утилиты.

Установка утилиты

Исходный код доступен в репозитории wb-mb-explorer. Установка утилиты осуществляется стандартным способом:

  1. Откройте консоль контроллера через SSH.
  2. Обновите список пакетов:
    apt update
    
  3. Установите утилиту командой:
    apt install wb-mb-explorer
    

После установки утилиту можно запустить командой wb-mb-explorer

Перед началом использования нужно выбрать пункт Settings и задать параметры обмена данными (скорость, четность, количество стоп-битов), а также адрес устройства, с которым требуется установить связь, номер и тип интересующего регистра. Эти настройки утилита будет использовать для обмена данными с устройствами.

Описание интерфейса

В главном окне программы отображаются текущие параметры обмена и параметры Modbus-устройства, с которым будет осуществляться работа. Под ними располагается меню выбора действий.

Main menu (главное меню)

Главное меню утилиты wb-mb-explorer
  1. Settings — настройка параметров обмена, задание адреса устройства, номера и типа регистра для работы
  2. Show device info — чтение информации об устройстве (модель устройства, серийный номер, версия прошивки, сигнатура прошивки и др.). Используются параметры обмена с устройством, заданные в настройках .
  3. Read/write register — чтение/запись выбранного регистра
  4. Device setup — переход в меню настройки адреса устройства и параметров обмена. Также есть несколько дополнительных функций: перезагрузка устройства, перевод в режим загрузчика (bootloader mode), сброс настроек на заводские.
  5. Network scan — сканирование сети на наличие подключенных устройств, есть разные методы сканирования.
  6. FW update — переход в меню обновления прошивок
  7. Show log file — показать файл сообщений о работе утилиты с момента последнего запуска. Записи хранятся в файле /var/log/wb-mb-explorer.log. При запуске утилиты содержимое файла стирается.

Для отображения краткой справки по функциям утилиты нажмите на кнопку Help.

Settings (настройки)

Меню Settings

В верхней части окна выводятся текущие настройки обмена и данные устройства, с которым нужно работать. Если требуется их изменить, то нужно выбрать соответствующий пункт меню.

  1. Set port — задать порт, по которому будет осуществляться обмен.
  2. Set baudrate — настройка скорости обмена с устройством.
  3. Set parity — настройка четности.
  4. Set stopbits — настройка количества стоп-бит.
  5. Set device address — установка адреса modbus-устройства.
  6. Set Modbus register — установка Modbus-регистра.
  7. Set register type — выбор типа регистра.

Device setup (настройка устройства)

Меню Device setup

В данном меню можно настроить параметры обмена устройства по Modbus, сбросить адрес устройства или сбросить все параметры обмена к заводским. Также доступны команды для перезегрузки устройства и перевода его в режим «bootloader mode» (служебный режим для обновления прошивки). В верхней части окна выводятся текущие настройки обмена и данные устройства, которое будет настраиваться. После изменения адреса или параметров обмена для удобства продолжения работы с устройством будет предложено соответствующим образом изменить текущие настройки утилиты.

  1. Set address — задать адрес Modbus-устройства Wirenboard в диапазоне от 1 до 247.
  2. Set baudrate — задать настройку четности.
  3. Set parity — задать настройку четности.
  4. Set stopbits — задать количество стоп-битов.
  5. Reboot device — перезагрузить устройство.
  6. Jump to bootloader mode — перевести устройство в режим загрузчика.
  7. Reset device addres to 1 — сбросить адрес ВСЕХ УСТРОЙСТВ, подключенных к выбранному порту, на 1. При проведении процедуры рекомендуется оставить подключенным к порту только одно устройство, с которым возникли проблемы коммуникации.
  8. Reset device comm settings — сбросить адрес и параметры обмена ВСЕХ УСТРОЙСТВ, подключенных к выбранному порту, к заводским настройкам (адрес = 1, параметры обмена = 9600 8N2). При проведении процедуры рекомендуется оставить подключенным к порту только одно устройство, с которым возникли проблемы коммуникации.
    Если устройство питается от клеммы V_OUT контроллера, то процедура будет произведена полностью в автоматическом режиме: питание устройства отключится, затем снова включится, и в течение 2-х секунд (пока устройство находится в режиме загрузчика) будет отправлена команда на сброс адреса и параметров обмена. После сброса устройства оно будет перезагружено сбросом питания.
    Если устройство имеет отдельное питание, то сначала нужно отключить питание устройства, затем запустить процедуру сброса. Когда зазвучит звуковой сигнал на контроллере, нужно будет немедленно подать питание на устройство. После окончания процедуры сброса нужно перезагрузить устройство сбросом питания.

Network scan (сканирование сети)

Меню Network scan

В процессе сканирования утилита перебирает адреса и настройки обмена чтобы определить наличие подключенных устройств. Для этого отправляется запрос на чтение holding-регистра с адресом 128, в котором хранится адрес Modbus-устройства Wirenboard. Если ответ получен, то данные модуля выводятся в поле обнаруженных устройств. Некоторые из модулей Wirenboard отвечают на запрос и с одним, и с двумя стоп-битами, некоторые отвечают только на запрос с тем количеством стоп-битов, которое задано в их настройках обмена. Если в сети будет обнаружено стороннее устройство, то оно также будет отображено в результатах сканирования как Unknown Modbus device.

  1. Com settings scan — проверка доступности устройства с заданным адресом, используя все возможные комбинации настроек обмена данными.
  2. Scan of addresses — проверка доступности устройств с адресами от 1 до 247 на шине с заданными параметрами обмена, занимает около 1 минуты.
  3. Complete scan — проверка доступности устройств с адресами от 1 до 247 со всеми возможными комбинациями параметров обмена (полное сканирование сети). Полностью процесс занимает около 1 часа. Попытки обнаружения устройств сначала производятся на скорости 9600 бит/сек, затем на 115200 бит/сек, затем на остальных скоростях. При необходимости процесс можно прервать с помощью комбинации клавиш Ctrl+C.

FW update (обновление прошивок)

Меню FW update

Для обновления прошивок Modbus-устройств есть несколько способов:

  1. Device FW update — обновление прошивки устройства, используя выбранный порт и адрес устройства. Перед обновлением и по завершению обновления утилита попытается считать информацию об устройстве, используя заданные настройки обмена. В процессе обновления из репозитория будет загружена самая последняя прошивка и произведена попытка обновления на нее. Если устройство уже имеет последнюю версию прошивки, то обновления не будет произведено. Для обновления вызывается команда wb-mcu-fw-updater update-fw с указанием выбранного порта и адреса устройства.
  2. Force device FW update — функция, аналогичная Device FW update, но обновление будет даже в том случае, если устройство уже имеет последнюю версию прошивки. Для обновления вызывается команда wb-mcu-fw-updater update-fw --force с указанием выбранного порта и адреса устройства.
  3. Recover device FW - восстановить прошивку устройства, у которого она повреждена или отсутствует, используется команда wb-mcu-fw-updater recover с выбранным адресом и портом.
  4. Update FW of all devices — обновление прошивок всех устройств, сконфигурированных на контроллере. Для обновления вызывается команда wb-mcu-fw-updater update-all
  5. Update FW to specified version - обновление прошивки устройства на заданную версию, номер версии в формате X.X.X будет запрошен в отдельном диалоге. Для обновления вызывается команда wb-mcu-fw-updater update-fw --version
  6. Update FW using file — обновление прошивки устройства с использованием заранее скачанного файла прошивки. Для обновления вызывается команда wb-mcu-fw-flasher с указанием выбранного порта, скорости обмена, адреса устройства и имени файла прошивки.

Особенности работы

Диалог выбора порта

При выборе порта или обновлении прошивки откроется диалог выбора. Перемещаться между элементами окна следует с помощью клавиши Tab, для автодополнения можно использовать клавишу Space (пробел). До нажатия кнопки "ОК" в поле ввода должен быть полностью указан путь к порту (файлу) иначе порт будет задан неверно. Путь можно задавать, набирая его с клавиатуры, или выбрать элемент в окне и нажать Space.

Для изменения скорости обмена, настроек четности или стоп-битов нужно выбрать нужный вариант из списка с помощью клавиши Space, выбранный вариант отмечен символом *.