Test: различия между версиями

Материал из Wiren Board
Строка 59: Строка 59:
{{note|info|Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его [[Enlarging_the_rootfs_partition|можно увеличить]].}}
{{note|info|Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его [[Enlarging_the_rootfs_partition|можно увеличить]].}}
{{Wbincludes:Wiren Board WebUI Firmware Update}}
{{Wbincludes:Wiren Board WebUI Firmware Update}}
== Прошивка через Debug Network ==
{{Anchor|debug-network}}
[[Image: wb7-debug-network-pc.png |300px|thumb|right| Файл обновления прошивки на съёмном накопителе ]]
[[Image: wb7-debug-network.png |300px|thumb|right| Разъём Debug Network, USB-C ]]
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
В контроллере есть разъём [[Debug Network]], который можно использовать для обновления прошивки или удаления всех данных и настроек.
{{Wbincludes:Wiren Board 7 Firmware Update Fit Save Data}}
=== Подготовка файла прошивки ===
{{Wbincludes:Fit Files Wiren Board 7}}
{{Wbincludes:Fit File Rename Wiren Board 7}}
=== Процесс ===
Вам понадобятся компьютер и кабель USB-C с возможностью передачи данных. Весь процесс займёт не больше пяти минут.
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
# Выключите контроллер кнопкой и дождитесь, пока индикатор возле кнопки включения потухнет.
# Подключите к разъёму Debug Network кабель USB-C, контроллер автоматически включится.
# Переведите контроллер в режим прошивки, для этого в течение 5-6 секунд после подключения кабеля нажмите кнопку FW и держите её до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
# <здесь вы нажали кнопку>
Entering firmware update mode.
</syntaxhighlight>
# Через несколько секунд на компьютере обнаружится накопитель '''WB UPDATE''', откройте его. В Debug Console в это время будет сообщение:
#:<syntaxhighlight lang="bash">
Waiting for USB gadget to connect to host PC
Copy .fit file to virtual USB drive
</syntaxhighlight>
# Скопируйте подготовленный .fit-файл на этот накопитель — контроллер каждую секунду будет следить за процессом.
# Когда файл полностью скопируется, контроллер автоматически отключит накопитель, издаст два коротких звуковых сигнала и начнет прошивку. В 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>
# Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: <code>wirenboard-XXXXXXXX login:</code>.
Если в имени файла есть <code>FACTORYRESET</code>, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: <code>FACTORY RESET REQUESTED</code>. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.


== Прошивка с помощью USB-флешки ==
== Прошивка с помощью USB-флешки ==
Строка 100: Строка 147:
=== Массовая прошивка контроллеров ===
=== Массовая прошивка контроллеров ===
{{Wbincludes:Mass flashing from flash}}
{{Wbincludes:Mass flashing from flash}}


== Удаление данных и возврат заводских настроек ==
== Удаление данных и возврат заводских настроек ==

Версия 15:30, 19 декабря 2023

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

Обновление ПО контроллера Wiren Board 7

Совместимость

Инструкции на этой странице подходят для контроллеров Wiren Board 7.2…7.3. Инструкцию по обновлению Wiren Board 6.x и Wiren Board 7.4 смотрите на соответствующих страницах.

Как всё устроено

Структура eMMC и способы обновления

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

Кроме этого, для контроллеров Wiren Board выпускаются прошивки в виде fit-файлов — это образ корневого раздела rootfs, который можно прошить с USB-флешки, карты памяти, через Debug Network или из веб-интерфейса контроллера. Интернет на контроллере не нужен. Сохранятся настройки, сделанные из веб-интерфейса контроллера, а установленное стороннее ПО будет удалено вместе с файлами конфигурации.

Также вы можете удалить все файлы и настройки с контроллера, получив чистое устройство с заводской версией ПО и настройками по умолчанию.

Релизы

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

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

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

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

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

О переключении между релизами и другую информацию смотрите в статье Программное обеспечение Wiren Board.

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

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

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

eMMC контроллера Wiren Board разбита на несколько разделов, пользователю важно знать два из них, которые монтируются в папки:

  1. / или rootfs — корневой раздел с файлами операционной системы, ссылками на системные настройки, установленным сторонним ПО и его файлами конфигурациями.
  2. /mnt/data — большой раздел в несколько Гбайт с системными настройками и любыми пользовательскими файлами.

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

  • системные: сеть, часовой пояс, пароль к веб-интерфейсу, mosquitto, nginx;
  • устройств, подключенных по RS-485 — wb-mqtt-serial.conf
  • дашборды, виджеты и настройки веб-интерфейса — wb-webui.conf;
  • модулей ввода-вывода и расширения — wb-hardware.conf;
  • универсальных входов/выходов A1-A4 (A1-A3, D1) — 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/ — пользовательские шаблоны.

В каталоге /etc находятся симлинки на файлы и каталоги из /mnt/data/etc.

Где хранятся настройки установленного стороннего ПО, уточняйте в его документации.

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

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

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

Кроме этого вы можете скачать образ корневой файловой системы — так вы сохраните настройки сторонних программ, которых хранят файлы в /etc. Сделать это можно кнопкой в веб-интерфейсе НастройкиСистемаСкачать архив с rootfs.

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

В контроллере нет механизма, который сообщит пользователю о доступном обновлении, поэтому о выходе новых версий вы можете узнать из новостей в наших социальных сетях или в консоли контроллера:

  1. Подключитесь к контроллеру через SSH.
  2. Выполните команду:
    apt update
    
  3. Если есть пакеты для обновления, то можете посмотреть их список:
    apt list --upgradable
    

Увеличение корневого раздела

Увеличили размер корневого раздела rootfs

С выходом релиза wb-2307 можно увеличить корневой раздел rootfs для контроллеров Wiren Board 6 и Wiren Board 7 с 1 до 2 Гбайт — вдвое больше места для системных файлов и стороннего ПО.

Чтобы расширить rootfs, обновите прошивку контроллера с помощью последнего FIT-образа через веб-интерфейс.

После обновления станет доступна галочка Расширить rootfs, если прошивка поддерживает эту возможность — поставьте её и снова обновите прошивку контроллера через веб-интерфейс той же прошивкой, что и в первый раз.

Альтернативный метод — Factory Reset с удалением всех данных, инструкции: Wiren Board 6 Factory Reset, Wiren Board 7 Factory Reset и Wiren Board 7.4 Factory Reset.

После расширения rootfs нельзя устанавливать FIT-образы старых релизов.

Обновление в консоли через apt

Окно Modified configuration Files

Рекомендуемый способ. Если последний раз ПО контроллера обновлялось до апреля 2021 года, то сперва вам нужно перейти на релизы, для этого смените репозиторий.

Если вы обновляетесь с релиза wb-2207 и более раннего через apt, то прочитайте сперва описание известных проблем, с которыми вы столкнётесь: Wiren Board 7: ERRWB73011.

Важно! В релизе wb-2304 сменилась версия Debian, поэтому при переходе со старых релизов wb-21**/wb-22** надо ввести дополнительную команду (подробнее):

wb-release --update-debian-release

Apt — это менеджер пакетов операционной системы Debian, который обновляет изменившиеся пакеты и устанавливает новые, если это необходимо. Для работы нужен интернет или локальное зеркало apt-репозитория Wiren Board.

Обновление контроллера через apt учитывает систему релизов — следуя инструкции, вы полностью перейдёте на новый релиз, а не только обновите отдельные пакеты.

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

Чтобы обновить прошивку контроллера:

  1. Подключитесь к нему по SSH.
  2. Выполните команды:
    apt update; apt upgrade
    

В процессе обновления может появиться запрос на действие с файлами конфигурации. Если не знаете, что выбрать — оставьте значение по умолчанию keep the local version currently installed, так вы сохраните свои настройки.

Так же в консоль будут выводиться служебные сообщения и запросы на действия, которые могут повредить систему или удалить пользовательские настройки — внимательно читайте вопросы перед тем, как ввести Y.

Решение проблем при обновлении со Stretch на Bullseye

Если вы столкнулись с ошибками при переходе на новый дистрибутив, сообщите нам на портал поддержки.

Могут возникнуть проблемы с работой докер после обновления. Если докер был установлен до перехода, замените имя релиза со stretch на bullseye в файле /etc/apt/sources.list.d/docker.list и повторно запустите команду его установки по инструкции.

Кроме этого, известно о проблемах с mosquitto и nginx, если их файлы конфигурации изменялись вручную. Обычно это происходит, если вы устанавливали защиту паролем на веб-интерфейс. В этом случае после обновления надо подключиться к контроллеру по SSH и повторно настроить защиту паролем по новой инструкции: Защита паролем веб-интерфейса контроллера в Debian Bullseye.

Если вы используете модуль расширения WBE2R-R-ZIGBEE v.1 со старой прошивкой, работающей только на версии zigbee2mqtt 1.18 — у вас всё может сломаться, поэтому надо:

  1. Перед обновлением сохранить папку /root/zigbee2mqtt/data
  2. Установить специальную версию для этого адаптера:
    apt update && apt install zigbee2mqtt-1.18.1
    
  3. Восстановить данные из скопированной ранее папки.

Всё, больше этот пакет у вас обновляться не будет, а значит и ломаться будет нечему.

Прошивка через веб-интерфейс

О способе

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

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

Скачивание прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Процесс

Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его можно увеличить.

Уровень «Администратор»

Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе НастройкиПрава доступа.

После завершения настроек рекомендуем поставить уровень доступа Пользователь или Оператор — это поможет не совершить случайных ошибок при ежедневной работе с веб-интерфейсом.

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

Чтобы обновить прошивку контроллера:

  1. Скачайте fit-файл прошивки на компьютер.
  2. Зайдите в веб-интерфейс контроллера и перейдите в раздел НастройкиСистема.
  3. Нажмите кнопку Выбрать файл и выберите скачанный ранее fit-файл.
  4. Файл с прошивкой загрузится на контроллер и начнётся обновление, которое длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения.
  5. После обновления контроллер перезагрузится.

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

Прошивка через Debug Network

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

О способе

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

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

Подготовка файла прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Переименуйте загруженный файл в wb_update.fit — для обновления, или в wb_update_FACTORYRESET.fit — для удаления данных и сброса к заводским настройкам. Обратите внимание, что .fit — расширение файла, если у вас Windows и отключен показ расширений, то скаченный файл будет без него — не надо его добавлять, просто замените имя до точки.

Процесс

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

Для наглядности можно подключиться к Debug Console, где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.

В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:

  1. Выключите контроллер кнопкой и дождитесь, пока индикатор возле кнопки включения потухнет.
  2. Подключите к разъёму Debug Network кабель USB-C, контроллер автоматически включится.
  3. Переведите контроллер в режим прошивки, для этого в течение 5-6 секунд после подключения кабеля нажмите кнопку FW и держите её до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
    Press FW button to enter firmware update mode
    # <здесь вы нажали кнопку>
    Entering firmware update mode.
    
  4. Через несколько секунд на компьютере обнаружится накопитель WB UPDATE, откройте его. В Debug Console в это время будет сообщение:
    Waiting for USB gadget to connect to host PC
    Copy .fit file to virtual USB drive
    
  5. Скопируйте подготовленный .fit-файл на этот накопитель — контроллер каждую секунду будет следить за процессом.
  6. Когда файл полностью скопируется, контроллер автоматически отключит накопитель, издаст два коротких звуковых сигнала и начнет прошивку. В Debug Console при этом будет сообщение вида:
    Will use wb_update.fit from virtual USB drive
    # или, если вы выбрали удаление данных
    Will use wb_update_FACTORYRESET.fit from virtual USB drive
    
  7. Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: wirenboard-XXXXXXXX login:.

Если в имени файла есть FACTORYRESET, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: FACTORY RESET REQUESTED. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.


Прошивка с помощью USB-флешки

Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.

Способ удобен, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.

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

Подготовка файла прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Переименуйте загруженный файл в wb_update.fit — для обновления, или в wb_update_FACTORYRESET.fit — для удаления данных и сброса к заводским настройкам. Обратите внимание, что .fit — расширение файла, если у вас Windows и отключен показ расширений, то скаченный файл будет без него — не надо его добавлять, просто замените имя до точки.

Отформатируйте флешку в FAT32 и скопируйте на неё файл.

Если возникнут проблемы с обновлением, подключитесь к Debug-консоли контроллера и повторите обновление.

Процесс

Порт USB 1 и кнопка FW на контроллере Wiren Board 6.7

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

Чтобы обновить прошивку:

  1. Выключите контроллер.
  2. Подключите флешку с файлом прошивки к порту USB 1 и включите контроллер.
  3. Если в корне флешки найден файл прошивки, то индикатор контроллера начнёт часто мигать оранжевым.
  4. В этот момент зажмите на одну секунду кнопку FW, которая находится рядом с разъёмом Wi-Fi.
  5. Индикатор загорится зелёным, потом мигнёт красным и замигает зелёным — это началась процедура обновления прошивки.

Процедура продлится 5–10 минут, в конце контроллер перезагрузится в рабочий режим, а индикатор на нём замигает зелёным — флешку можно извлечь.

Массовая прошивка контроллеров

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

Версия установленного на контроллере ПО не важна, но fit-файл для обновления нужно взять свежий.

Работает это так:

  1. Подготовьте флешку с нужной прошивкой по инструкции выше.
  2. Создайте на этой флешке файл install_update.flags с текстом --mass-update — это включит режим массовой прошивки.
  3. Вставьте флешку в контроллер и прошейте его обычным способом.
  4. На флешке будет создана папка logs с файлами:
    • wb-mass-update.log, в который добавится строчка с серийным номером контроллера, данными о fit-файле (релиз, дата сборки) и сути операции (update/factory reset).
    • wb-console.XXXXXXXX.log, где XXXXXXXX — серийной номер контроллера. В этот файл будет записан полный лог процедуры прошивки.
  5. В конце прошивки контроллер издаст характерный сигнал (тили-ли-ли) — флешку можно извлекать.

Если флешку переставить в другой контроллер и прошить его — в файл wb-mass-update.log будет добавлена новая строчка с серийным номером, а также создастся ещё один файл с логом прошивки контроллера.

Удаление данных и возврат заводских настроек

Wbincludes:USB Wiren Board 6 Firmware Update

Удаление данных и возврат заводских настроек с обновлением ПО

О способе

Процедура удаляет все данные и установленное ПО! Убедитесь, что у вас останется доступ к контроллеру. Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек — сделайте резервную копию ваших файлов и настроек. В отличие от аналогичного способа с кнопкой FW, происходит обновление ПО контроллера до версии, которая используется в выбранном вами fit-файле.

Подготовка файла прошивки

Функция пока доступна только для fit-образов с testing-релизом.

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Процесс

Страница системных настроек в веб-интерфейсе контроллера

Чтобы удалить все данные, сбросить настройки и обновить версии ПО на контроллере:

  1. Скачайте fit-файл по инструкции выше.
  2. Откройте веб-интерфейс контроллера.
  3. Перейдите НастройкиСистема.
  4. Загрузите fit-файл с прошивкой в разделе Удаление данных и сброс настроек (Factory reset) и дождитесь окончания процедуры.
  5. Перезагрузите контроллер.

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