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

 
Кнопка FW, которая переводит контроллер в режим обновления прошивки. Понадобится в некоторых инструкциях

Если у вас контроллер из партии v7.2.1A, выпущенной в декабре 2021 г. и в консоли написано «This is a development release» — перед обновлением или сбросом, переключите его на релиз. Инструкции в этой статье работают на контроллере Wiren Board 7.

ПО контроллера выпускается в формате релизов stable — новые функции каждые три месяца, и testing — новые функции каждый день. Между релизами можно переключаться, с завода на контроллере установлен stable. О том, как узнать установленный у вас релиз и как между ними переключаться, читайте в статье Релизы ПО.

Прошивку контроллера Wiren Board можно обновить в консоли с помощью apt, через веб-интерфейс, с компьютера, USB-флешки и карты памяти. В зависимости от выбранного типа обновления вы можете сохранить настройки и установленное ПО.

Также контроллер можно сбросить к заводским настройкам или обновить с удалением пользовательских данных.

Если у вас в процессе обновления или сброса возникли проблемы, подключитесь к Debug-консоли и посмотрите выводимые там сообщения — это поможет понять, что именно идёт не так.

Для обновления через веб-интерфейс или с USB-флешки вам понадобится fit-файл прошивки, который можно скачать в нашем репозитории или по прямой ссылке на stable-релиз: Wiren Board 7.x.

Журнал изменений в релизах

Журналы изменений в релизах
Ветка Имя
stable wb-2404wb-2401wb-2310wb-2307wb-2304wb-2207wb-2204wb-2201wb-2110wb-2108 • wb-2104
testing скользящий релиз, изменения

Проверка обновлений

Wbincludes:Wiren Board Check firmware update

Обновление

В консоли через apt

Wbincludes:Wiren Board Apt firmware update

Через веб-интерфейс

Wbincludes:WebUI Wiren Board Firmware Update

Через разъём Debug Network

 
Файл обновления прошивки на съёмном накопителе
 
Разъём Debug Network, USB-C

В контроллере есть разъём Debug Network, который можно использовать для обновления прошивки или сброса настроек.

При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.

Вам понадобятся компьютер и кабель USB-C с возможностью передачи данных.

В процессе контроллер будет несколько раз запрашивать в Debug-консоли подтверждение тех или иных действий, мы будем ориентироваться на звуковые сигналы и подтверждать все запросы: Wbincludes:Wiren Board 7 Fit Prepare

  1. Выключите контроллер кнопкой на корпусе.
  2. Подключите контроллер к компьютеру через разъём Debug Network.
  3. Зажмите кнопку FW и удерживайте её.
  4. Включите контроллер и после короткого звукового сигнала отпустите кнопку FW.
  5. Индикатор контроллера медленно замигает красным, а ещё через 10 секунд компьютер определит съёмный накопитель.
  6. Скопируйте подготовленный в шаге 1 файл на определившийся накопитель.
  7. Извлеките (отмонтируйте) флешку программно и отключите кабель от контроллера физически.
  8. В зависимости от того, какой файл вы скопировали, возможно два варианта:
    1. Контроллер два раза коротко пикнет — началось обновление прошивки.
    2. Контроллер пикнет сперва коротко два раза, затем издаст продолжительный звуковой сигнал, а индикатор быстро замигает красным — это запрос на сброс к заводским настройкам:
      • Чтобы подтвердить сброс настроек и удалить все пользовательские данные, зажмите и держите кнопку FW.
      • Контроллер пикнет четыре раза и перейдёт к сбросу настроек. Кнопку можно отпустить.
  9. По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.

Вся процедура занимает около 2 минут.

С помощью USB-флешки или карты Micro-SD

 
Файл сброса к заводским настройкам на USB-флешке
 
Разъём USB 1 и слот Micro-SD

В контроллере есть разъём USB 1 и слот Micro-SD, которые можно использовать для обновления прошивки или сброса настроек. С некоторыми картами Micro-SD могут быть проблемы, используйте USB-флешку или промышленную карту Transcend 64GB.

При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.

В процессе контроллер будет несколько раз запрашивать в Debug-консоли подтверждение тех или иных действий, но чтобы упростить процедуру — мы просто зажмём кнопку FW в самом начале и автоматом со всем согласимся: Wbincludes:Wiren Board 7 Fit Prepare

  1. Отформатируйте флешку или карту памяти в FAT32.
  2. Скопируйте подготовленный в шаге 1 файл на флешку или карту памяти.
  3. Выключите контроллер кнопкой на корпусе.
  4. Вставьте флешку в разъём USB 1 или карту памяти в слот Micro-SD.
  5. Зажмите и не отпускайте кнопку FW.
  6. Включите контроллер и продолжайте удерживать кнопку.
  7. После включения контроллер пикнет один раз — это он перешёл в режим обновления прошивки, не отпускайте кнопку.
  8. В зависимости от того, какой файл вы положили, возможно два варианта:
    1. Контроллер два раза коротко пикнет — началось обновление прошивки, кнопку можно отпустить.
    2. Контроллер пикнет сперва коротко два раза, а затем ещё четыре, но реже — началось обновление прошивки со сбросом настроек, кнопку можно отпустить.
  9. По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.

Вся процедура занимает около 2 минут.

Сброс к заводским настройкам

Процедура удаляет на контроллере все данные: установленное ПО, настройки и пользовательские файлы Если у вас контроллер из партии v7.2.1A, выпущенной в декабре 2021 года, перед первым сбросом подготовьте контроллер по инструкции.

Сброс делается с помощью сервисного образа, который зашит в контроллер при производстве и не обновляется в процессе эксплуатации. Поэтому после сброса к заводским настройкам ПО контроллера нужно обновить.

Перед сбросом рекомендуем сделать резервную копию файлов конфигурации и пользовательских файлов — они будут удалены.

В процессе контроллер будет несколько раз запрашивать в Debug-консоли подтверждение тех или иных действий, но чтобы упростить процедуру — мы просто зажмём кнопку FW в самом начале и автоматом со всем согласимся:

  1. Выключите контроллер кнопкой на корпусе.
  2. Зажмите и не отпускайте кнопку FW.
  3. Включите контроллер и продолжайте удерживать кнопку.
  4. После включения контроллер:
    • пикнет один раз — это он перешёл в режим обновления прошивки, не отпускайте кнопку;
    • подождите 10-20 секунд, затем он пикнет сперва коротко два раза, а потом ещё четыре, но реже — начался сброс настроек и откат версии прошивки к заводской, кнопку можно отпустить.
  5. По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.

Вся процедура занимает чуть больше 2 минут. Рекомендуем обновить прошивку до актуального релиза.

Пользовательские настройки и файлы

Wbincludes:Firmware Update Save DataВнимание: Отображаемое название «Программное обеспечение контроллеров Wiren Board» переопределяет ранее заданное отображаемое название «Обновление прошивки контроллера Wiren Board 7».

Как устроено ПО Wiren Board

 
Структура ПО контроллера. В центре очередь сообщений MQTT, которая используется для обмена информацией между разными частями ПО

Wiren Board работает под управлением Debian Linux. Для архитектуры используемого процессора есть официальный порт, поэтому любое стандартное Linux-приложение можно установить из репозитория одной командой apt install имя_пакета.

Все сервисы контроллера общаются между собой по общей «шине», в роли которой выступает Очередь сообщений MQTT.

По умолчанию установлены Веб-интерфейс Wiren Board, Движок правил wb-rules, а также драйвера и вспомогательные утилиты.

Опционально можно установить шлюзы для интеграции со SCADA-системами и сторонний софт. Полный список смотрите в Таблице поддерживаемых устройств, протоколов и программ.

Разработка своих решений

Вы можете разрабатывать своё ПО для контроллеров Wiren Board или собрать собственный образ прошивки с нужными вам настройками, лицензиями и пакетами. Свой образ прошивки можно установить в контроллеры самостоятельно штатными средствами, или мы можем делать это сразу на производстве при заказе отдельной партии.

Исходный код программного обеспечения контроллера доступен на GitHub. Там можно почерпнуть примеры для разработки собственного ПО.

Статьи:

Обновление прошивки и релизный цикл

Кратко о релизах

 
Релизный цикл ПО Wiren Board

Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы:

  • Stable — стабильный релиз: обновление пакетов раз в три месяца и исправления критических ошибок. Рекомендуем для инсталляций, которые делает интегратор и которые работают сейчас.
  • Testing — тестовый релиз: свежие версии пакетов с новыми функциями и исправлениями, но возможно и с новыми ошибками. Рекомендуем для активных пользователей (DIY), для инсталляций на стадии стройки и проектирования.

Стабильные релизы имеют номер вида wb-YYMM, где YY — год, а MM — месяц выпуска. Например, wb-2104 — релиз, выпущенный в апреле 2021 года.

Мы будем рады, если вы сможете присоединиться к использованию testing, ведь кроме получения новых фич вы поможете уменьшить количество ошибок в stable.

Журналы изменений в релизах
Ветка Имя
stable wb-2404wb-2401wb-2310wb-2307wb-2304wb-2207wb-2204wb-2201wb-2110wb-2108 • wb-2104
testing скользящий релиз, изменения

Какой релиз на вашем контроллере

 
Версия ПО в веб-интерфейсе контроллера
WebUIDevicesSystem

С завода на контроллерах Wiren Board установлен актуальный на момент производства стабильный релиз.

Узнать версию релиза можно в веб-интерфейсе контроллера в разделе Устройства в карточке устройства System или в консоли командой wb-release.

Переключение между релизами

Между релизами можно переключаться вручную. Сделайте резервную копию настроек, подключитесь к контроллеру через SSH и выполните одну из команд:

  • Переход со стабильного на тестовый:
    wb-release -t testing
    
  • Переход с тестового на стабильный:
    wb-release -t stable
    

После смены релиза рекомендуем перезагрузить контроллер на случай, если обновилось ядро, а также обновить страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия.

Кроме этого, сменить релиз можно с помощью прошивки контроллера fit-файлом, способы и ограничения смотрите в инструкции по обновлению ПО для вашего контроллера.

Обновление прошивки контроллера и откат к заводским настройкам

Прошивку контроллера можно обновить или вернуть его к заводскому состоянию с удалением всех данных.

Все ревизии контроллера можно обновить через менеджер пакетов apt или веб-интерфейс, а в относительно свежих добавилась возможность обновления с флеш-накопителя и через Debug Network.

Инструкции:

Список сервисов и их назначение

Список сервисов, запущенных на контроллере, их статус и описание можно получить командой:

systemctl list-units --type=service

Про управление сервисами читайте в статье Диагностика ошибок в работе контроллера.

Имя сервиса Описание
avahi-daemon.service Avahi mDNS/DNS-SD Stack
bluetooth.service Bluetooth service
cgmanager.service Cgroup management daemon
cron.service Regular background program processing daemon
dbus.service D-Bus System Message Bus
dnsmasq.service dnsmasq - A lightweight DHCP and caching DNS server
getty@tty1.service Getty on tty1
hostapd.service LSB: Advanced IEEE 802.11 management daemon
kmod-static-nodes.service Create list of required static device nodes for the current kernel
knxd.service KNX Daemon
mosquitto.service Mosquitto MQTT v3.1/v3.1.1 Broker
netplug.service LSB: Brings up/down network automatically
networking.service Raise network interfaces
nginx.service A high performance web server and a reverse proxy server
ntp.service LSB: Start NTP daemon
rsyslog.service System Logging Service
serial-getty@ttymxc0.service Serial Getty on ttymxc0
ssh.service OpenBSD Secure Shell server
systemd-fsck-root.service File System Check on Root Device
systemd-fsck@dev-mmcblk0p6.service File System Check on /dev/mmcblk0p6
systemd-journal-flush.service Flush Journal to Persistent Storage
systemd-journald.service Journal Service
systemd-logind.service Login Service
systemd-modules-load.service Load Kernel Modules
systemd-random-seed.service Load/Save Random Seed
systemd-modules-load.service Load Kernel Modules
systemd-random-seed.service Load/Save Random Seed
systemd-remount-fs.service Remount Root and Kernel File Systems
systemd-sysctl.service Apply Kernel Variables
systemd-tmpfiles-setup-dev.service Create Static Device Nodes in /dev
systemd-tmpfiles-setup.service Create Volatile Files and Directories
systemd-udev-trigger.service udev Coldplug all Devices
systemd-udevd.service udev Kernel Device Manager
systemd-update-utmp.service Update UTMP about System Boot/Shutdown
systemd-user-sessions.service Permit User Sessions
user@0.service User Manager for UID 0
watchdog.service watchdog daemon
wb-configs-early.service prepare mounts and symlinks to config files
wb-configs.service watch config files
wb-gsm-rtc.service LSB: initscript to use GSM modem integrated RTC
wb-homa-ism-radio.service LSB: MQTT driver for WB HomA for RFM69 ISM radio
wb-hwconf-manager.service LSB: Hardware configuration with Device Tree overlays
wb-init.service LSB: board-specific initscript
wb-mqtt-adc.service MQTT Driver for ADC
wb-mqtt-confed.service LSB: Configuration Editor Backend
wb-mqtt-db.service Wiren Board database logger
wb-mqtt-gpio.service MQTT Driver for GPIO-controlled switches
wb-mqtt-knx.service LSB: : Wiren Board MQTT KNX bridge
wb-mqtt-logs.service Wiren Board journald to MQTT gateway
wb-mqtt-mbgate.service Wiren Board MQTT to Modbus TCP gateway
wb-mqtt-opcua.service Wiren Board MQTT to OPC UA gateway
wb-mqtt-serial.service MQTT Driver for serial devices
wb-mqtt-w1.service Kernel 1-Wire MQTT driver for WB-HomA
wb-prepare.service initialize filesystems at first boot
wb-repart.service prepare partitions at first boot
wb-rules.service MQTT Rule engine for Wiren Board
wb-systime-adjust.service Compensation of systime in PPM from value, stored in device-tree (with opposite sign)
wb-watch-update.service LSB: Firmware update monitor