Привет!
Мы обновили сразу несколько системных сервисов для 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 имяпакета