Wiren Board 7 Firmware Update: различия между версиями

Материал из Wiren Board
(не показано 136 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Обновление прошивки контроллеров Wiren Board 7.2…7.3 }}
{{DISPLAYTITLE: Обновление прошивки контроллера Wiren Board 7}}
== Общая информация ==
== Общая информация ==
{{Anchor|info}}
{{note|note| Если у вас контроллер из партии v7.2.1A, выпущенной в декабре 2021 г. и в консоли написано «This is a development release» — перед обновлением или сбросом, [[Wiren_Board_v7.2.1A_Create_Restore_Folder | переключите его на релиз]].}}
{{YouTube
Инструкции в этой статье работают на контроллере '''Wiren Board 7'''.
|link=https://youtu.be/2XhPWDzYSmY
 
|text= Обновление ПО контроллера Wiren Board 7
ПО контроллера выпускается в формате релизов ''stable'' — стабильный, новые функции каждые три месяца, и ''testing'' — новые функции каждый день. Между релизами можно переключаться. С завода на контроллере установлен ''stable''.
|list= PL-yKQAXd5Un_fQfrVVgMt1Em5Qb1f-v6l
}}
=== Совместимость ===
{{Anchor|compatibility}}
{{Wbincludes:Update Compatibility
|model= Wiren Board 7.2…7.3
|link= Wiren_Board_7.3
}}


=== Как всё устроено ===
Прошивку контроллера Wiren Board можно обновить [[#Обновление с помощью apt через консоль | с помощью apt через консоль]], [[#Обновление через веб-интерфейс | через веб-интерфейс]].
{{Wbincludes:Firmware Update How Everything Works}}
Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные.


=== Релизы ===
Для обновления через веб-интерфейс или с USB-флешки вам понадобится fit-файл прошивки, который можно скачать в нашем [http://fw-releases.wirenboard.com/?prefix=fit_image/stable/ репозитории] или по прямой ссылке на stable-релиз: [http://fw-releases.wirenboard.com/fit_image/stable/7x/latest_stretch.fit Wiren Board 7.x].
{{Wbincludes:Wiren Board Software Releases}}


== Пользовательские настройки и файлы ==
== Журнал изменений в релизах ==
{{Anchor|user-files}}
{{Wbincludes:Release Log}}
{{Wbincludes:Wiren Board User Settings And Files}}


== Проверка обновлений ==
== Проверка обновлений ==
{{Wbincludes:Wiren Board Check Firmware Update}}
{{Wbincludes:Wiren Board Check firmware update}}


== Обновление в консоли через apt==
== Обновление с помощью apt через консоль ==
{{Anchor|apt}}
{{Wbincludes:Wiren Board Apt firmware update}}
[[Image: Dialog.png |400px|thumb|right| Окно ''Modified configuration Files'']]
{{note|note|Рекомендуемый способ. Если последний раз ПО контроллера обновлялось до апреля 2021 года, то сперва вам нужно перейти на релизы, для этого [[New_repository_April_2021 | смените репозиторий]].}}


Если вы обновляетесь с релиза wb-2207 и более раннего через apt, то прочитайте сперва описание известных проблем, с которыми вы столкнётесь: [[WB_7:_Errata#ERRWB73011 | Wiren Board 7: ERRWB73011]].
== Обновление через веб-интерфейс ==
{{Wbincludes:WebUI Wiren Board Firmware Update}}


Важно! В релизе wb-2304 сменилась версия Debian, поэтому при переходе со старых релизов wb-21**/wb-22** надо ввести дополнительную команду ([[wb-2304|подробнее]]):
== Сброс к заводским настройкам ==
:<syntaxhighlight lang="bash">
Если у вас контроллер из партии v7.2.1A, выпущенной в декабре 2021 года, перед первым сбросом подготовьте контроллер по [[Wiren Board v7.2.1A Create Restore Folder | инструкции]].
wb-release --update-debian-release
</syntaxhighlight>


{{Wbincludes:Wiren Board Apt Firmware Update}}
Процедура сброса:
# Выключите контроллер кнопкой на корпусе.
# Зажмите и не отпускайте кнопку FW, включите контроллер.
# Через 5-7 секунд раздастся короткий звуковой сигнал, отпустите кнопку.
# Индикатор будет некоторое время мигать красным, а потом раздастся длинный звуковой сигнал — запрос подтверждения на сброс к заводским настройкам.
# Чтобы подтвердить сброс и удалить все файлы, нажмите и держите кнопку FW.
# Контроллер четыре раза коротко пикнет, а индикатор мигнёт зелёным, кнопку можно отпустить.
# Дождитесь окончания сброса. В конце контроллер перезагрузится и загрузится в обычном режиме.
<!--
[[Image: WB6.7 USB1 + FW.png |400px|thumb|right| Порт '''USB 1''' и кнопка '''FW''' на контроллере Wiren Board 6.7]]
{{YouTube
| link= https://youtu.be/SJFLmVe6OgU
| text= Сброс Wiren Board 6 к заводским настройкам
}}
Мы не рекомендуем для обновления прошивки использовать внешние жесткие диски — может не хватить мощности USB-порта.


=== Решение проблем при обновлении со Stretch на Bullseye ===
Про сохранение настроек читайте в разделе [[#Сохранение пользовательских файлов и настроек |Сохранение пользовательских файлов и настроек]].
{{Wbincludes:Bullseye Errata}}


== Прошивка через веб-интерфейс ==
'''Подготовьте флеш-накопитель''':
{{Anchor|web-ui}}
# [[Formatting Flash Drive | Отформатируйте флешку в FAT32]].
# Скачайте [[#Общая информация  | fit-файл прошивки]] на компьютер.
# Скопируйте скачанный ''.fit''-файл в корень флешки и убедитесь, что размер файла не равен нулю.
# Переименуйте файл на флешке:
#* '''для обновления прошивки''' контроллера в <code>wb_update.fit</code>,
#* '''для сброса контроллера к заводским настройкам''' и удаления всех данных в <code>wb_update_FACTORYRESET.fit</code>.


=== О способе ===
'''Чтобы обновить прошивку или сбросить контроллер к заводским настройкам''':
Прошивку через веб-интерфейс удобно использовать, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО. Способ подходит для обновления внутри веток stable или testing, а также для перехода со stable на testing.
# Выключите контроллер.
# Подключите флешку с файлом прошивки к порту '''USB 1''' и включите контроллер.
# Если в корне флешки найден файл прошивки, то индикатор контроллера начнёт часто мигать оранжевым.
# В этот момент зажмите на одну секунду кнопку '''FW''', которая находится на плате контроллера.
# Дальнейшие шаги зависят от того, какой файл лежит на флешке:
#* <code>wb_update.fit</code> — индикатор загорится зелёным, потом мигнёт красным и замигает зелёным — это началась процедура обновления прошивки.
#* <code>wb_update_FACTORYRESET.fit</code>:
#*# Индикатор загорится зелёным, потом два раза мигнёт красным и ещё два раза зелёным.
#*# Контроллер начнёт пищать, а индикатор замигает красным — контроллер ждёт подтверждения.
#*# Подтвердите очистку контроллера, для этого нажмите кнопку '''FW''' и держите, пока контроллер не пискнет четыре раза, а индикатор не загорится зелёным — это началась процедура сброса настроек.
#*# Кнопку можно отпустить. В процессе индикатор будет мигать зелёным.
# Процедура продлится 5–10 минут, в конце контроллер перезагрузится в рабочий режим, а индикатор на нём замигает зелёным — флешку можно извлечь.


{{Wbincludes:Firmware Update Fit Save Data}}
Если обновление или сброс завершаются с ошибкой, подключитесь к [[WB_Debug_Console | Debug-консоли]] контроллера и повторите шаги. Если увидите ошибку <code>FAT: Misaligned buffer address</code> — смените накопитель на другой.


=== Скачивание прошивки ===
<gallery mode="packed" widths ="200px" heights="250px">
{{Wbincludes:Fit Files Wiren Board 7}}
Image: 2 update.png | Обновление: момент, когда нужно нажать кнопку FW на 1 секунду для начала обновления
Image: 4 update.png | Обновление: обновление прошивки началось
Image: 1 factory reset.png | Сброс: момент, когда нужно кратковременно нажать кнопку FW для сброса к заводским настройкам
Image: 2 factory reset.png | Сброс: момент, когда нужно на 4 секунды нажать кнопку FW для подтверждения сброса к заводским настройкам
Image: 3 factory reset.png | Сброс: начался сброс к заводским настройкам
</gallery>
-->


=== Процесс ===
== Пользовательские настройки и файлы ==
{{note|info|Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его [[Enlarging_the_rootfs_partition|можно увеличить]].}}
<h3>Где хранятся настройки</h3>
{{Wbincludes:Wiren Board WebUI Firmware Update}}
[[Image: Etc-wbconfigs.png |400px|thumb|right| Файлы настроек, которые сохраняются при обновлении через fit-файл]]
В контроллере Wiren Board есть отдельный раздел, который монтируется в каталог <code>/mnt/data</code>, в котором по адресу <code>/mnt/data/etc</code> находятся настройки:
* системные: сеть, часовой пояс, пароль к веб-интерфейсу, mosquitto, nginx;
* устройств, подключенных по RS-485 — <code>wb-mqtt-serial.conf</code>;
* модулей ввода-вывода и расширения — <code>wb-hardware.conf</code>;
* универсальных входов/выходов A1-A4 — <code>wb-mqtt-adc.conf</code>;
* выводов GPIO контроллера — <code>wb-mqtt-gpio.conf</code>;
* настройки архива данных — <code>wb-mqtt-db.conf</code>;
* шлюза OPC UA — <code>wb-mqtt-opcua.conf</code>;
* шлюза Modbus TCP/Slave — <code>wb-mqtt-mbgate.conf</code>.


== Прошивка через Debug Network ==
Кроме этого, по адресу <code>/mnt/data/etc/</code> хранятся:
{{Anchor|debug-network}}
* <code>wb-rules</code> — пользовательские скрипты;
* <code>wb-rules-module</code> — модули, написанные на wb-rules;
* <code>wb-mqtt-serial.conf.d/templates/</code> — пользовательские шаблоны.


[[Image: wb7-debug-network-pc.png |300px|thumb|right| Файл обновления прошивки на съёмном накопителе ]]
<h3>Резервное копирование</h3>
[[Image: wb7-debug-network.png |300px|thumb|right| Разъём Debug Network, USB-C ]]
Чтобы сделать резервную копию настроек контроллера, просто скопируйте содержимое <code>/mnt/data</code> на [[Просмотр_файлов_контроллера_с_компьютера|компьютер]]. Если вы устанавливали на контроллер сторонние программы, или хранили файлы вне папки <code>/mnt/data</code> — их нужно сохранить отдельно.
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
В контроллере есть разъём [[Debug Network]], который можно использовать для обновления прошивки или удаления всех данных и настроек.


{{Wbincludes:Wiren Board 7 Firmware Update Fit Save Data}}
<h3>Сохранение при обновлении</h3>
 
[[Image: Dialog.png |400px|thumb|right| Окно ''Modified configuration Files'']]
=== Подготовка файла прошивки ===
Сохранение тех или иных настроек зависит от типа обновления.
{{Wbincludes:Fit Files Wiren Board 7}}
 
{{Wbincludes:Fit File Rename Wiren Board 7}}
 
=== Процесс ===
Вам понадобятся компьютер и кабель USB-C с возможностью передачи данных. Весь процесс займёт не больше пяти минут.
 
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
 
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
# Начало зависит от аппаратной ревизии контроллера:
#* Для ревизии 7.3:
#*# Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network. Это выключит контроллер.
#*# Зажмите и не отпускайте кнопку FW.
#*# Переведите переключатель в положение ON и тут же вставьте кабель в разъём Debug Network. Если вам нужны логи из дебага, сразу подключите кабель Debug Console.
#*# Подключите к контроллеру внешнее питание — это нужно для того, чтобы при отключении кабеля контроллер корректно прошился.
#*Для ревизии 7.2:
#*# Вставьте кабель в разъём Debug Network. Если нужно, подключите кабель к Debug Console.
#*# Переведите выключатель в положение OFF.
#*# Подключите к контроллеру внешнее питание.
#*# Зажмите и не отпускайте кнопку FW.
#*# Включите контроллер переключателем и продолжайте удерживать кнопку FW.
#Держите кнопку FW до короткого звукового сигнала. В Debug Console в этот момент будут строки:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
# <здесь вы нажали кнопку>
Entering firmware update mode.
</syntaxhighlight>
# Отпустите кнопку FW.
# Через несколько секунд на компьютере обнаружится накопитель '''WB UPDATE''', откройте его. В Debug Console в это время будет сообщение:
#:<syntaxhighlight lang="bash">
Copy .fit file to virtual USB driver and unplug the cable
</syntaxhighlight>
# Скопируйте подготовленный .fit-файл на этот накопитель. В Debug Console в это время будут сообщения:
#:<syntaxhighlight lang="bash">
# приглашение скопировать файл на накопитель
Copy .fit file to virtual USB driver and unplug the cable
# <много сообщений с процессом копирования файла>
</syntaxhighlight>
# По окончании копирования, отключите накопитель средствами ОС и вытащите кабель Debug Network, начнётся прошивка контроллера. В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Will look for update in USB gadget ramdisk
 
Will use wb_update.fit from USB gadget (/usb)
# или, если вы выбрали удаление данных
Will use wb_update_FACTORYRESET.fit from USB gadget (/usb)
</syntaxhighlight>
# Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: <code>wirenboard-XXXXXXXX login:</code>.
 
Если в имени файла есть <code>FACTORYRESET</code>, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: <code>FACTORY RESET REQUESTED</code>. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.
 
== Прошивка с помощью USB-флешки или карты Micro-SD ==
{{Anchor|usb-flash}}
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.
 
Способ удобен, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.
 
{{Wbincludes:Wiren Board 7 Firmware Update Fit Save Data}}
 
=== Подготовка файла прошивки ===
{{Wbincludes:Fit Files Wiren Board 7}}
 
{{Wbincludes:Fit File Rename Wiren Board 7}}
 
=== Процесс ===
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать подтверждение тех или иных действий и писать сообщения о ходе процесса.
 
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
# Скопируйте подготовленный файл прошивки на флешку или карту памяти и вставьте её в контроллер.
# Следующие шаги зависят от аппаратной ревизии контроллера:
#* Для ревизии 7.3:
#*# Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network.
#*# Зажмите и не отпускайте кнопку FW.
#*# Подключите к контроллеру внешнее питание.
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW. Если вам нужны логи из дебага, быстро подключите кабель Debug Console.
#*Для ревизии 7.2:
#*# Если нужно, подключите кабель к Debug Console.
#*# Переведите выключатель в положение OFF.
#*# Подключите к контроллеру внешнее питание.
#*# Зажмите и не отпускайте кнопку FW.
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
# Держите кнопку FW до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
# <здесь вы нажали кнопку>
Entering firmware update mode.
</syntaxhighlight>
# Контроллер попробует найти на подключённой флешке или карте памяти fit-файлы с прошивкой. В Debug Console при этом будут выводится строки:
#:<syntaxhighlight lang="bash">
Looking for update .fit on /dev/sda...
Looking for update .fit on /dev/sda1...
</syntaxhighlight>
# Если файл будет найден — контроллер издаст два коротких сигнала и перейдёт в режим прошивки. В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Will use wb_update.fit from virtual USB drive
# или, если вы выбрали удаление данных
Will use wb_update_FACTORYRESET.fit from virtual USB drive
</syntaxhighlight>
#: Если в имени файла есть <code>FACTORYRESET</code>, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: <code>FACTORY RESET REQUESTED</code>. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные, то просто выключите контроллер.
# Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: <code>wirenboard-XXXXXXXX login:</code>.
 
=== Массовая прошивка контроллеров ===
{{Wbincludes:Mass flashing from flash}}
 
== Удаление данных и возврат заводских настроек ==
{{Anchor|factory-reset}}
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек, а также релиз ПО контроллера, который был в момент его выпуска — сделайте резервную копию ваших файлов и настроек.
 
=== Процесс ===
Если у вас установлены USB-флеш, карта MicroSD или воткнут провод в Debug Network — вытащите их.
 
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
 
В инструкции мы просто зажмём кнопку FW и автоматом подтвердим все действия:
# Начало зависит от аппаратной ревизии контроллера:
#* Для ревизии 7.3:
#*# Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network.
#*# Зажмите и не отпускайте кнопку FW.
#*# Подключите к контроллеру внешнее питание. Если вам нужны логи из дебага, вместо внешнего питания можно подключить кабель Debug Console, контроллер включится автоматически.
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
#*Для ревизии 7.2:
#*# Если нужно, подключите кабель к Debug Console.
#*# Переведите выключатель в положение OFF.
#*# Подключите к контроллеру внешнее питание.
#*# Зажмите и не отпускайте кнопку FW.
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
# Контроллер издаст короткий звуковой сигнал — это он перешёл в режим обновления прошивки, не отпускайте кнопку FW.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
Entering firmware update mode.
</syntaxhighlight>
# Подождите 20-30 секунд, пока контроллер перебирает все накопители в поисках прошивки. В финале прозвучит один двойной звуковой сигнал — контроллер перешёл к процедуре сброса с помощью зашитого на заводе образа прошивки.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Load modules for USB to work
Waiting for USB to settle (10/10)
Waiting for microSD to settle (3/3)
Wait for eMMC to become available...
 
Will use /mnt/data/.wb-restore/factoryreset.fit
</syntaxhighlight>
# Через несколько секунд контроллер спросит подтверждение на удаление всех данных, но так как кнопка у нас уже зажата, то просто прозвучат по очереди четыре коротких звуковых сигнала. После этого сразу начнётся удаление данных, откат версии прошивки к заводской и восстановление заводских настроек.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
##############################################################################
 
                          FACTORY RESET REQUESTED
 
          This WILL destroy ALL YOUR DATA: configuration, scripts,
                          files in home directory!
 
        If you are ABSOLUTELY SURE that you want to reset Wiren Board
            to factory condition, hold the FW button for 4 seconds.
 
        If you will not do it in 10 seconds, the controller will reboot
                        without firmware update.
 
 
          If you want to perform a regular firmware update, rename
        FIT file to "wbX_update.fit" without "factory-reset" suffix.
 
##############################################################################
.... #< здесь звучали четыре коротких звуковых сигнала >


Factory reset is confirmed!
При обновлении '''через веб-интерфейс или с флешки''' раздел <code>/mnt/data</code> сохраняется, но если вы устанавливали стороннее ПО, то оно будет утеряно — сделайте резервную копию его файлов конфигурации.
</syntaxhighlight>
# Отпустите кнопку FW.
# По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.


Вся процедура занимает чуть больше 2 минут. После сброса у вас будет версия прошивки, зашитая в контроллер при производстве — обновите ПО до актуального релиза.
При обновлении из консоли '''через ''apt''''' сохраняются пользовательские файлы и установленные программы, но может появиться окно ''Modified configuration Files'' с запросом на действие с файлами конфигурации, в котором нужно выбрать один из пунктов:
* install the packade maintainer`s version — заменить версией из обновляемого пакета и потерять ваши настройки.
* keep the local version currently installed — не заменять файл и сохранить ваши настройки.
* show the differences between the versions — посмотреть различия между версиями.
* show a side-by-side difference between the versions — посмотреть различия между версиями и оба варианта файла настроек.
* start a new shell to examine the situation — открыть командную строку, чтобы разобраться в ситуации.


== Удаление данных и возврат заводских настроек с обновлением ПО ==
При любом способе сброса на контроллере удаляются все файлы настроек и установленные программы.
{{Wbincludes:FactoryReset WebUI}}
{{Wbincludes:WebUI Wiren Board Releases
|new=true}}

Версия 11:29, 7 февраля 2022

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

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

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

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

Для обновления через веб-интерфейс или с 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

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

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

Процедура сброса:

  1. Выключите контроллер кнопкой на корпусе.
  2. Зажмите и не отпускайте кнопку FW, включите контроллер.
  3. Через 5-7 секунд раздастся короткий звуковой сигнал, отпустите кнопку.
  4. Индикатор будет некоторое время мигать красным, а потом раздастся длинный звуковой сигнал — запрос подтверждения на сброс к заводским настройкам.
  5. Чтобы подтвердить сброс и удалить все файлы, нажмите и держите кнопку FW.
  6. Контроллер четыре раза коротко пикнет, а индикатор мигнёт зелёным, кнопку можно отпустить.
  7. Дождитесь окончания сброса. В конце контроллер перезагрузится и загрузится в обычном режиме.

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

Где хранятся настройки

Файлы настроек, которые сохраняются при обновлении через fit-файл

В контроллере Wiren Board есть отдельный раздел, который монтируется в каталог /mnt/data, в котором по адресу /mnt/data/etc находятся настройки:

  • системные: сеть, часовой пояс, пароль к веб-интерфейсу, mosquitto, nginx;
  • устройств, подключенных по RS-485 — wb-mqtt-serial.conf;
  • модулей ввода-вывода и расширения — wb-hardware.conf;
  • универсальных входов/выходов A1-A4 — wb-mqtt-adc.conf;
  • выводов GPIO контроллера — wb-mqtt-gpio.conf;
  • настройки архива данных — wb-mqtt-db.conf;
  • шлюза OPC UA — wb-mqtt-opcua.conf;
  • шлюза Modbus TCP/Slave — wb-mqtt-mbgate.conf.

Кроме этого, по адресу /mnt/data/etc/ хранятся:

  • wb-rules — пользовательские скрипты;
  • wb-rules-module — модули, написанные на wb-rules;
  • wb-mqtt-serial.conf.d/templates/ — пользовательские шаблоны.

Резервное копирование

Чтобы сделать резервную копию настроек контроллера, просто скопируйте содержимое /mnt/data на компьютер. Если вы устанавливали на контроллер сторонние программы, или хранили файлы вне папки /mnt/data — их нужно сохранить отдельно.

Сохранение при обновлении

Окно Modified configuration Files

Сохранение тех или иных настроек зависит от типа обновления.

При обновлении через веб-интерфейс или с флешки раздел /mnt/data сохраняется, но если вы устанавливали стороннее ПО, то оно будет утеряно — сделайте резервную копию его файлов конфигурации.

При обновлении из консоли через apt сохраняются пользовательские файлы и установленные программы, но может появиться окно Modified configuration Files с запросом на действие с файлами конфигурации, в котором нужно выбрать один из пунктов:

  • install the packade maintainer`s version — заменить версией из обновляемого пакета и потерять ваши настройки.
  • keep the local version currently installed — не заменять файл и сохранить ваши настройки.
  • show the differences between the versions — посмотреть различия между версиями.
  • show a side-by-side difference between the versions — посмотреть различия между версиями и оба варианта файла настроек.
  • start a new shell to examine the situation — открыть командную строку, чтобы разобраться в ситуации.

При любом способе сброса на контроллере удаляются все файлы настроек и установленные программы. Внимание: Отображаемое название «Программное обеспечение контроллеров 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