Новые версии системного ПО для Wiren Board 6

Привет!

Мы обновили сразу несколько системных сервисов для Wiren Board 6. Приглашаем попробовать!

Изменения, общие для всех драйверов

  • Названия приведены к единому стилю, теперь все они начинаются с wb-mqtt. wb-homa-adc стал wb-mqtt-adc, wb-homa-gpio - wb-mqtt-gpio, wb-homa-w1 - wb-mqtt-w1. Файлы настроек также стали называться wb-mqtt-XXX.conf. При этом осталась возможность управлять сервисами, используя старые названия, например service wb-homa-adc stop. Старые конфигурационные файлы заменены ссылками на новые, так что обратная совместимость полностью сохранена.

  • В качестве системы инициализации все сервисы стали использовать systemd и получили функцию автоматического перезапуска при непредвиденных сбоях.

  • Топики meta/readonly есть у всех каналов. У каналов, доступных только для чтения, в meta/readonly записана 1, для каналов, доступных на запись - 0.

  • При завершении работы драйверы удаляют за собой созданные топики.

wb-mqtt-serial - Modbus, счётчики, другие устройства на RS-485

  • В шаблонах периферийных устройств Wiren Board скорректированы описания регистров. Регистры, доступные только для чтения получили тип input, вместо holding.

  • wb-mqtt-serial обрабатывает ошибки открытия порта и делает повторные попытки доступа.

wb-mqtt-w1 - термометры 1-Wire

  • wb-mqtt-w1 публикует в топиках meta/error признак ошибки чтения. При ошибках каналы в интерфейсе теперь подсвечиваются красным.

  • При старте производится очистка неиспользуемых топиков, если они остались после предыдущего запуска.

wb-mqtt-gpio - дискретные входы и выходы контроллера

  • Сервис работает через новый ядерный интерфейс работы с GPIO, доступный начиная с ядра 4.8. Подробнее можно прочитать по ссылке.

  • Формат настроек поменялся и соответсвует новому API: GPIO кодируются парами чип+сдвиг. При этом сохранена обратная совместимость со старым форматом настроек, где указывался номер GPIO.

  • wb-mqtt-gpio запоминает состояние выходов и восстанавливает их состояние при перезапуске драйвера.

  • “Системная” часть конфигурации генерируется при каждом запуске и лежит в /var/lib/wb-mqtt-gpio/conf.d

wb-mqtt-adc - аналоговые входы

  • wb-mqtt-adc сигнализирует о проблемах получения данных публикацей в соотвествующих топиках meta/error. При ошибках каналы в интерфейсе теперь подсвечиваются красным.

  • При старте производится очистка неиспользуемых топиков, если они остались после предыдущего запуска.

  • “Системная” часть конфигурации генерируется при каждом запуске и лежит в /var/lib/wb-mqtt-adc/conf.d

Как обновляться

Обновлённое ПО вышло только для Wiren Board 6, предыдущие контролеры не поддерживаются.

Нужно включить unstable репозиторий, раcкоментировав строчку в /etc/apt/sources.list.d/wb-unstable.list или выполнив команду

sed -i 's/^#deb/deb/g' /etc/apt/sources.list.d/wb-unstable.list 

Обновить список пакетов

apt update

и установить новые:

apt install wb-mqtt-gpio wb-mqtt-adc wb-mqtt-w1 wb-mqtt-serial

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

apt policy имяпакета
5 лайков

Мы обновили wb-mqtt-serial для Wiren Board 6.

Изменения версии 2.2.1

Проведена работа по ускорению опроса устройств:

  • уменьшены задержки между запросами;
  • для всех поддерживаемых устройств установлены значения максимального времени ответа и задержек между фреймами;
  • задержки между фреймами вычисляются в зависимости от скорости шины, если это предусмотрено протоколом устройства.

Появилась логика определения неподдерживаемых регистров для протокола Modbus. При получении ошибки чтения wb-mqtt-serial исключит такие регистры из опроса. Это уменьшит траффик на шине и упростит создание новых шаблонов устройств. Теперь достаточно описать все возможные регистры и wb-mqtt-serial автоматически определит, какие можно опрашивать.

Улучшена обработка ошибок записи значений регистров из setup секции шаблонов. При возникновении ошибок записи wb-mqtt-serial будет выполнять настройку повторно.

Изменилась структура файла wb-mqtt-serial.conf:

  • удалён параметр delay_ms, вместо него рекомендуется использовать frame_timeout_ms;
  • в настройках канала появился параметр unsupported_value. Он задаёт значение регистра, которое будет трактоваться как “неподдерживаемый регистр”. wb-mqtt-serial использует это значение при выполнеии чтения нескольких регистров одним запросом и выставит в топике /meta/error соответствующего канала признак r (ошибка чтения).

Обновиться можно тем же способом, что описан в шапке темы.

2 лайка

Вот тут:

В самом первом сообщении все-все действия перечислены.

Вплане ОС контроллер - обычный Linux, ничего особенного нет, поэтому все действия - стандартные.

1 лайк
root@wirenboard-ATNO6FBW:~# apt install wb-mqtt-serial

Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлен пакет wb-mqtt-serial самой новой версии (1.63.0).

Для всех, кто не перешел принудительно на версию 2.x, придется выполнить вначале, например:

apt install -y wb-mqtt-serial=2.3.0

В процессе установки будет предложено сделать изменения в wb-mqtt-serial.conf, выбрав один из предложенных вариантов. Я выбрал первый: “Установить версию из пакета” и только тогда можно будет проверить наличие обновлений через:

apt policy wb-mqtt-serial

Установлен: 2.3.0
Кандидат: 2.5.0

Затем уже выполняете:

apt install wb-mqtt-serial

И у вас последняя версия файла.
Так можно провернуть со всеми устройствами.

1 лайк