Утилита для диагностики, конфигурирования и обновления прошивок wb-mb-explorer
Это черновик страницы. Последняя правка сделана 30.01.2022 пользователем Explorerol.
Данная утилита официально не поддерживается и не включена в дистрибутив ПО. Её использование осуществляется на свой страх и риск! Если вы не уверены в своих действиях, то не используйте ее!
Общая информация
Здесь описывается wb-mb-explorer
— консольная графическая утилита для диагностики, конфигурирования и обновления прошивок modbus-устройств Wiren Board. Она представляет собой скрипт, основанный на штатных программах и утилитах контроллера Wirenboard: modbus_client, wb-mcu-fw-flasher, wb-mcu-fw-updater. За счет графического интерфейса работа с утилитой обычно проще, чем непосредственный набор команд с множеством опций в рабочей строке.
Ниже приведено несколько скриншотов работы утилиты.
Установка утилиты
Утилита доступна для установки в релизе testing. Исходный код доступен в репозитории wb-mb-explorer. Установка утилиты осуществляется стандартным способом:
- Откройте консоль контроллера через SSH.
- Обновите список пакетов:
apt update
- Установите утилиту командой:
apt install wb-mb-explorer
После установки утилиту можно запустить командой wb-mb-explorer
Общие сведения
При запуске утилиты, а также при каждой попытке обращения к устройству по шине RS-485, драйвер wb-mqtt-serial будет остановлен. Это необходимо для получения доступа к портам контроллера. После запуска откроется главное окно, в котором можно выбирать нужные действия с устройствами. При выходе из утилиты драйвер wb-mqtt-serial будет снова запущен.
Перед началом использования нужно выбрать пункт Settings
и задать параметры обмена данными (скорость, четность, количество стоп-битов), а также адрес устройства, с которым требуется установить связь, номер и тип интересующего регистра. Эти настройки утилита будет использовать для обмена данными с устройствами.
Описание интерфейса
В главном окне программы отображаются текущие параметры обмена и параметры Modbus-устройства, с которым будет осуществляться работа. Под ними располагается меню выбора действий.
Описание основных функций
- Settings - настройка параметров обмена, задание адреса устройства, номера и типа регистра для работы
- Show device info - чтение информации об устройсве (модель устройства, серийный номер, версия прошивки, сигнатура прошивки и др.)
- Read/write register - чтение/запись выбранного регистра
- Network scan - сканирование сети на наличие подключенных устройств, есть разные методы сканирования.
- FW update - переход в меню обновления прошивок
- Show log file - показать файл сообщений о работе утилиты с момента последнего запуска. Записи хранятся в файле
/var/log/wb-mb-explorer.log
. При запуске утилиты содержимое файла стирается.
Для отображения краткой справки по функциям утилиты нажмите на кнопку Help
.
Меню сканирования сети
В процессе сканирования утилита перебирает адреса и настройки обмена чтобы определить наличие подключенных устройств. Для этого отправляется запрос на чтение holding-регистра с адресом 128, в котором хранится адрес Modbus-устройства Wirenboard. Если ответ получен, то данные выводится в поле обнаруженных устройств.
- Scan of addresses - проверка доступности устройства с заданным адресом используя все возможные комбинации настроек обмена данными.
- Scan of addresses - проверка доступности устройств с адресами от 1 до 247 на шине с заданными параметрами обмена, занимает около 1 минуты.
- Complete device scan - проверка доступности устройств с адресами от 1 до 247 со всеми возможными комбинациями параметров обмена. Полностью процесс занимает около 1 часа. Для ускорения обнаружения устройств сначала производится опрос устройств на скорости 9600 бит/сек, затем на 115200 бит/сек, затем на остальных скоростях. При необходимости процесс можно прервать.
Меню обновления прошивок
Для обновления прошивок Modbus-устройств есть четыре способа:
- Device FW update - обновление прошивки устройства, используя выбранный порт и адрес устройства. Перед обновлением и по завершению обновления утилита попытается считать информацию об устройстве, используя заданные настройки обмена. В процессе обновления из репозитория будет загружена самая последняя прошивка и произведена попытка обновления на нее. Если устройство уже имеет последнюю версию прошивки, то обновления не будет произведено. Для обновления вызывается команда
wb-mcu-fw-updater update-fw
с указанием выбранного порта и адреса устройства. - Force device FW update - функция, аналогичная
Device FW update
, но обновление будет даже в том случае, если устройство уже имеет последнюю версию прошивки. Для обновления вызывается командаwb-mcu-fw-updater update-fw --force
с указанием выбранного порта и адреса устройства. - Update FW of all devices - обновление прошивок всех устройств, сконфигурированных на контроллере. Для обновления вызывается команда
wb-mcu-fw-updater update-all
- Update FW using file - обновление прошивки устройства с использованием заранее скачанного файла прошивки. Для обновления вызывается команда
wb-mcu-fw-flasher
с указанием выбранного порта, скорости обмена, адреса устройства и имени файла прошивки.
Особенности работы
При выборе порта или обновлении прошивки откроется диалог выбора. Перемещаться между элементами окна следует с помощью клавиши Tab, для автодополнения можно использовать клавишу Space (пробел). До нажатия кнопки "ОК" в поле ввода должен быть полностью указан путь к порту (файлу) иначе порт будет задан неверно. Путь можно задавать, набирая его с клавиатуры, или выбрать элемент в окне и нажать Space.
Для изменения скорости обмена, настроек четности или стоп-битов нужно выбрать нужный вариант из списка с помощью клавиши Space, выбранный вариант отмечен символом *
.