Wiren Board 5 Firmware Update: различия между версиями
(не показаны 22 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Wiren Board 5 | {{DISPLAYTITLE: Обновление прошивки контроллера Wiren Board 5}} | ||
== Общая информация == | == Общая информация == | ||
{{note|info|Описанные в этой статье способы не подходят для обновления прошивок старше 0.38-20180710, используйте [[#Сброс к заводским настройкам | сброс контроллера к заводским настройкам]].}} | |||
Прошивку контроллера Wiren Board 5 можно обновить через менеджер пакетов '''apt''' или через '''fit-файл'''. Иногда, при обновлении через apt может возникнуть проблема с открытыми ключами к репозиторию Debian Linux, смотрите решение в разделе [[#Решение проблем | Решение проблем]]. | |||
Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные. | |||
== Проверка обновлений == | == Проверка обновлений == | ||
{{ | {{Wbincludes:Wiren Board Check firmware update}} | ||
{{Wbincludes: | == Новый репозиторий Wiren Board == | ||
{{Wbincludes:Transition to releases}} | |||
{{Wbincludes: | {{Wbincludes:WebUI Wiren Board Releases}} | ||
== Обновление с помощью apt через консоль == | |||
{{Wbincludes:Wiren Board Apt firmware update}} | |||
== Решение проблем | === Решение проблем === | ||
Если вы давно не обновляли программное обеспечение контроллера, то у вас может возникнуть ошибка GPG-ключей: | Если вы давно не обновляли программное обеспечение контроллера, то у вас может возникнуть ошибка GPG-ключей: | ||
<syntaxhighlight lang="console" highlight="2"> | <syntaxhighlight lang="console" highlight="2"> | ||
Строка 101: | Строка 54: | ||
После импорта новых ключей, запустите процедуру обновления с самого начала. | После импорта новых ключей, запустите процедуру обновления с самого начала. | ||
== | == Обновление через веб-интерфейс == | ||
Fit-файл — это образ прошивки контроллера Wiren Board, который можно скачать в [http://fw-releases.wirenboard.com/?prefix=fit_image/stable/ нашем репозитории] | |||
Загрузить текущий stable-релиз можно по прямым ссылкам: | |||
* [http://fw-releases.wirenboard.com/fit_image/stable/5/latest_stretch.fit Wiren Board 5.3]. | |||
* [http://fw-releases.wirenboard.com/fit_image/stable/55/latest_stretch.fit Wiren Board 5.6.x]. | |||
* [http://fw-releases.wirenboard.com/fit_image/stable/58/latest_stretch.fit Wiren Board 5.8.x-5.9]. | |||
=== Обновление через веб-интерфейс === | |||
{{Wbincludes:WebUI Wiren Board Firmware Update}} | |||
== Сброс к заводским настройкам == | |||
Процедура сброса к заводским настройкам описана в статье [[Wiren Board 5: Восстановление прошивки]]. Дополнительную информацию можно найти на нашем форуме в теме [https://support.wirenboard.com/t/pri-proshivke-wb5-oshibka/7130/44 Если не получается обновить Wiren Board 5.5]. | Процедура сброса к заводским настройкам описана в статье [[Wiren Board 5: Восстановление прошивки]]. Дополнительную информацию можно найти на нашем форуме в теме [https://support.wirenboard.com/t/pri-proshivke-wb5-oshibka/7130/44 Если не получается обновить Wiren Board 5.5]. | ||
== Сохранение пользовательских файлов и настроек == | |||
{{Wbincludes:Firmware Update Save Data}} | |||
{{Wbincludes:WebUI Wiren Board Releases}} | |||
== Журнал изменений в релизах == | |||
{{Wbincludes:Release Log}} |
Версия 18:32, 29 сентября 2021
Общая информация
Описанные в этой статье способы не подходят для обновления прошивок старше 0.38-20180710, используйте сброс контроллера к заводским настройкам.
Прошивку контроллера Wiren Board 5 можно обновить через менеджер пакетов apt или через fit-файл. Иногда, при обновлении через apt может возникнуть проблема с открытыми ключами к репозиторию Debian Linux, смотрите решение в разделе Решение проблем.
Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные.
Проверка обновлений
Wbincludes:Wiren Board Check firmware update
Новый репозиторий Wiren Board
Wbincludes:Transition to releases
Внимание: Отображаемое название «Программное обеспечение контроллеров Wiren Board» переопределяет ранее заданное отображаемое название «Обновление прошивки контроллера Wiren Board 5».
Описание
Установка
Программное обеспечение устанавливается на заводе на автоматизированном стенде во время производства партии контроллеров. Конечному пользователю не требуется предпринимать никаких действий для установки, все взаимодействие происходит через веб-интерфейс и командную строку.
Стоимость
Программное обеспечение поставляется бесплатно вместе с контроллерами Wiren Board.
Как устроено ПО Wiren Board
Wiren Board работает под управлением Debian Linux. Для архитектуры используемого процессора есть официальный порт, поэтому любое стандартное Linux-приложение можно установить из репозитория одной командой apt install имя_пакета
.
Все сервисы контроллера общаются между собой по общей «шине», в роли которой выступает Очередь сообщений MQTT.
По умолчанию установлены Веб-интерфейс Wiren Board, Движок правил wb-rules, а также драйвера и вспомогательные утилиты.
Опционально можно установить шлюзы для интеграции со SCADA-системами и сторонний софт. Полный список смотрите в Таблице поддерживаемых устройств, протоколов и программ.
Разработка своих решений
Вы можете разрабатывать своё ПО для контроллеров Wiren Board или собрать собственный образ прошивки с нужными вам настройками, лицензиями и пакетами. Свой образ прошивки можно установить в контроллеры самостоятельно штатными средствами, или мы можем делать это сразу на производстве при заказе отдельной партии.
Исходный код программного обеспечения контроллера доступен на GitHub. Там можно почерпнуть примеры для разработки собственного ПО.
Статьи:
- Обновление прошивки, информация для разработчиков — про структуру разделов и сборку собственного fit-файла.
- Как разрабатывать ПО для Wiren Board — статья для программистов.
- Использование встроенного крипточипа ATECCx08 и статья по теме на Хабре
- Описание протокола MQTT-RPC
Обновление прошивки и релизный цикл
Кратко о релизах
Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы:
- Stable — стабильный релиз: обновление пакетов раз в три месяца и исправления критических ошибок. Рекомендуем для инсталляций, которые делает интегратор и которые работают сейчас.
- Testing — тестовый релиз: свежие версии пакетов с новыми функциями и исправлениями, но возможно и с новыми ошибками. Рекомендуем для активных пользователей (DIY), для инсталляций на стадии стройки и проектирования.
Стабильные релизы имеют номер вида wb-YYMM, где YY — год, а MM — месяц выпуска. Например, wb-2104 — релиз, выпущенный в апреле 2021 года.
Мы будем рады, если вы сможете присоединиться к использованию testing, ведь кроме получения новых фич вы поможете уменьшить количество ошибок в stable.
Ветка | Имя |
---|---|
stable | wb-2404 •wb-2401 • wb-2310 • wb-2307 • wb-2304 • wb-2207 • wb-2204 • wb-2201 • wb-2110 • wb-2108 • wb-2104 |
testing | скользящий релиз, изменения |
Какой релиз на вашем контроллере
С завода на контроллерах Wiren Board установлен актуальный на момент производства стабильный релиз.
Узнать версию релиза можно в веб-интерфейсе контроллера в разделе Устройства в карточке устройства System или в консоли командой wb-release
.
Переключение между релизами
Между релизами можно переключаться вручную. Сделайте резервную копию настроек, подключитесь к контроллеру через SSH и выполните одну из команд:
- Переход со стабильного на тестовый:
wb-release -t testing
- Переход с тестового на стабильный:
wb-release -t stable
После смены релиза рекомендуем перезагрузить контроллер на случай, если обновилось ядро, а также обновить страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия.
Кроме этого, сменить релиз можно с помощью прошивки контроллера fit-файлом, способы и ограничения смотрите в инструкции по обновлению ПО для вашего контроллера.
Обновление прошивки контроллера и откат к заводским настройкам
Прошивку контроллера можно обновить или вернуть его к заводскому состоянию с удалением всех данных.
Все ревизии контроллера можно обновить через менеджер пакетов apt или веб-интерфейс, а в относительно свежих добавилась возможность обновления с флеш-накопителя и через Debug Network.
Инструкции:
- Как узнать ревизию контроллера
Ревизия контроллера в консоли, при подключении по SSH. Сразу под баннером, зелёными цифрами 6.7.2
Список сервисов и их назначение
Список сервисов, запущенных на контроллере, их статус и описание можно получить командой:
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 |
Обновление с помощью apt через консоль
Wbincludes:Wiren Board Apt firmware update
Решение проблем
Если вы давно не обновляли программное обеспечение контроллера, то у вас может возникнуть ошибка GPG-ключей:
Err:5 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
Reading package lists... Done
W: GPG error: http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
E: The repository 'http://http.debian.net/debian stretch-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Чтобы её решить, нужно импортировать недостающие открытые ключи репозитория Debian Linux командой:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <16_символов_нужного_ключа>
В примере выше система не находит ключи 648ACFD622F3D138
и 0E98404D386FA1D9
, добавим их по очереди:
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
Executing: /tmp/apt-key-gpghome.vC3ooyXKIW/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
gpg: requesting key 22F3D138 from hkp server keyserver.ubuntu.com
gpg: key 3CBBABEE: public key "Debian Archive Automatic Signing Key (10/buster) <ftpmaster@debian.org>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
Executing: /tmp/apt-key-gpghome.WRBpErnaDP/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
gpg: requesting key 386FA1D9 from hkp server keyserver.ubuntu.com
gpg: key 8DD47936: public key "Debian Archive Automatic Signing Key (11/bullseye) <ftpmaster@debian.org>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
После импорта новых ключей, запустите процедуру обновления с самого начала.
Обновление через веб-интерфейс
Fit-файл — это образ прошивки контроллера Wiren Board, который можно скачать в нашем репозитории
Загрузить текущий stable-релиз можно по прямым ссылкам:
Обновление через веб-интерфейс
Wbincludes:WebUI Wiren Board Firmware Update
Сброс к заводским настройкам
Процедура сброса к заводским настройкам описана в статье Wiren Board 5: Восстановление прошивки. Дополнительную информацию можно найти на нашем форуме в теме Если не получается обновить Wiren Board 5.5.
Сохранение пользовательских файлов и настроек
Wbincludes:Firmware Update Save Data
Внимание: Отображаемое название «Программное обеспечение контроллеров Wiren Board» переопределяет ранее заданное отображаемое название «Обновление прошивки контроллера Wiren Board 5».
Описание
Установка
Программное обеспечение устанавливается на заводе на автоматизированном стенде во время производства партии контроллеров. Конечному пользователю не требуется предпринимать никаких действий для установки, все взаимодействие происходит через веб-интерфейс и командную строку.
Стоимость
Программное обеспечение поставляется бесплатно вместе с контроллерами Wiren Board.
Как устроено ПО Wiren Board
Wiren Board работает под управлением Debian Linux. Для архитектуры используемого процессора есть официальный порт, поэтому любое стандартное Linux-приложение можно установить из репозитория одной командой apt install имя_пакета
.
Все сервисы контроллера общаются между собой по общей «шине», в роли которой выступает Очередь сообщений MQTT.
По умолчанию установлены Веб-интерфейс Wiren Board, Движок правил wb-rules, а также драйвера и вспомогательные утилиты.
Опционально можно установить шлюзы для интеграции со SCADA-системами и сторонний софт. Полный список смотрите в Таблице поддерживаемых устройств, протоколов и программ.
Разработка своих решений
Вы можете разрабатывать своё ПО для контроллеров Wiren Board или собрать собственный образ прошивки с нужными вам настройками, лицензиями и пакетами. Свой образ прошивки можно установить в контроллеры самостоятельно штатными средствами, или мы можем делать это сразу на производстве при заказе отдельной партии.
Исходный код программного обеспечения контроллера доступен на GitHub. Там можно почерпнуть примеры для разработки собственного ПО.
Статьи:
- Обновление прошивки, информация для разработчиков — про структуру разделов и сборку собственного fit-файла.
- Как разрабатывать ПО для Wiren Board — статья для программистов.
- Использование встроенного крипточипа ATECCx08 и статья по теме на Хабре
- Описание протокола MQTT-RPC
Обновление прошивки и релизный цикл
Кратко о релизах
Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы:
- Stable — стабильный релиз: обновление пакетов раз в три месяца и исправления критических ошибок. Рекомендуем для инсталляций, которые делает интегратор и которые работают сейчас.
- Testing — тестовый релиз: свежие версии пакетов с новыми функциями и исправлениями, но возможно и с новыми ошибками. Рекомендуем для активных пользователей (DIY), для инсталляций на стадии стройки и проектирования.
Стабильные релизы имеют номер вида wb-YYMM, где YY — год, а MM — месяц выпуска. Например, wb-2104 — релиз, выпущенный в апреле 2021 года.
Мы будем рады, если вы сможете присоединиться к использованию testing, ведь кроме получения новых фич вы поможете уменьшить количество ошибок в stable.
Ветка | Имя |
---|---|
stable | wb-2404 •wb-2401 • wb-2310 • wb-2307 • wb-2304 • wb-2207 • wb-2204 • wb-2201 • wb-2110 • wb-2108 • wb-2104 |
testing | скользящий релиз, изменения |
Какой релиз на вашем контроллере
С завода на контроллерах Wiren Board установлен актуальный на момент производства стабильный релиз.
Узнать версию релиза можно в веб-интерфейсе контроллера в разделе Устройства в карточке устройства System или в консоли командой wb-release
.
Переключение между релизами
Между релизами можно переключаться вручную. Сделайте резервную копию настроек, подключитесь к контроллеру через SSH и выполните одну из команд:
- Переход со стабильного на тестовый:
wb-release -t testing
- Переход с тестового на стабильный:
wb-release -t stable
После смены релиза рекомендуем перезагрузить контроллер на случай, если обновилось ядро, а также обновить страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия.
Кроме этого, сменить релиз можно с помощью прошивки контроллера fit-файлом, способы и ограничения смотрите в инструкции по обновлению ПО для вашего контроллера.
Обновление прошивки контроллера и откат к заводским настройкам
Прошивку контроллера можно обновить или вернуть его к заводскому состоянию с удалением всех данных.
Все ревизии контроллера можно обновить через менеджер пакетов apt или веб-интерфейс, а в относительно свежих добавилась возможность обновления с флеш-накопителя и через Debug Network.
Инструкции:
- Как узнать ревизию контроллера
Ревизия контроллера в консоли, при подключении по SSH. Сразу под баннером, зелёными цифрами 6.7.2
Список сервисов и их назначение
Список сервисов, запущенных на контроллере, их статус и описание можно получить командой:
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 |
Журнал изменений в релизах
Ветка | Имя |
---|---|
stable | wb-2404 •wb-2401 • wb-2310 • wb-2307 • wb-2304 • wb-2207 • wb-2204 • wb-2201 • wb-2110 • wb-2108 • wb-2104 |
testing | скользящий релиз, изменения |