Логотип ONOKOM

Бот

Инструкция

Подбор шлюза для кондиционера через Telegram Bot

Обновление шлюзов Zigbee по OTA

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

В этой статье рассмотрены три способа обновления шлюза Zigbee:
1. Через Zigbee2MQTT
2. Через SprutHub
3. Через SprutHub, установленный на Wiren Board

1. Обновление устройств через Zigbee2MQTT

Скопировано

1.1 Загрузка прошивки с репозитория GitHub

Скопировано

В примере будет обновляться шлюз HS-3-ZB-S с версии OTA 17 до OTA 18. Версия прошивки обновиться с 0.5.2 до версии 0.5.4

Чтобы начать обновление устройства Zigbee, перейдите в публичный репозиторий ONOKOM и скачайте актуальную версию прошивки

Актуальная прошивка для шлюза HS-3-ZB-S расположена по следующему пути:
firmware/ZigBee/main/HS-3-ZB-S/0.5.4

1.2 Размещение прошивки в директории Zigbee2MQTT

Скопировано

Далее необходимо разместить файл прошивки на устройстве, где развернут сервер Zigbee2MQTT (ПК, Wiren Board, Raspberry Pi и т.д.) В нашем примере Zigbee2MQTT работает на контроллере Wiren Board

1. Подключитесь к контроллеру с помощью SFTP-клиента (например FileZilla, CyberDuck)

Настраиваем SFTP-подключение. Для подключения потребуется ввести:
- IP-адрес вашего контроллера
- Имя пользователя
- Пароль

2. Перейдите в директорию: /mnt/data/root/zigbee2mqtt/data и найдите или создайте директорию с именем "ota"

3. Загрузите файл прошивки в созданную (или существующую) директорию "ota"

4. Создайте и отредактируйте файл index.json

Созданный файл откройте в любом текстовом редакторе, например, VS code, и вставьте в него следующий код:


[
	{
		"version": 18,
		"url": "/root/zigbee2mqtt/data/ota/hs-3-zb-s_hw1.x_fw0.5.4_ota18.ota"       
	}
]

В коде хранятся данные о версии прошивки и путь, по которому её можно найти

В нашем случае для устройства HS-3-ZB-S прошивка имеет название:
“HS-3-ZB-S_hw1.x_fw0.5.4_ota18.ota“
Версия OTA-прошивки — 18
Эти параметры берутся непосредственно из названия файла прошивки

Путь к директории ota и имя файла прошивки могут отличаться в зависимости от вашей системы и модели устройства

5. Перейдите в корневую директорию Zigbee2MQTT: /mnt/data/root/zigbee2mqtt/data/
В ней нужно отредактировать файл configuration.yaml и вставить в него следующий код:


ota:
    image_block_response_delay: 50
    default_maximum_data_size: 60
    zigbee_ota_override_index_location: /root/zigbee2mqtt/data/ota/index.json

Код задает параметры для обновления по OTA

6. Сохраняем файл и перезагружаем Zigbee2MQTT

В случае, если Zigbee2MQTT установлен на Wiren Board, необходимо подключиться по SSH и в терминале прописать следующую команду:

systemctl restart zigbee2mqtt

1.3 Запуск обновления через веб-интерфейс Zigbee2MQTT

Скопировано

1. Открываем веб-интерфейc и переходим во вкладку OTA

На вкладке находим информацию о подключённых Zigbee-устройствах, включая версию OTA и доступные обновления

2. Нажмите кнопку “Проверить обновления”, которая находится справа от нужного устройства в списке. Нам отобразиться информация по прошивкам. Если нажмём на кнопку ещё раз, система предложит обновить устройство

3. Нажимаем кнопку «Обновить прошивку» и в интерфейсе отобразится статус загрузки

Светодиод шлюза начнёт моргать с высокой частотой. Это говорит о том, что идёт загрузка ПО.

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

После установки в интерфейсе отобразиться актуальная версия ПО

2. Обновление через SprutHub

Скопировано

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

Скопировано

Поддерживаемые устройства: SprutHub, SprutHub2, SprutHub2 DIN

Чтобы начать процедуру обновления:
1. Извлеките MicroSD карту из устройства SprutHub и подключите её к ПК с помощью кард-ридера

2. Cкачайте актуальную прошивку из репозитория ONOKOM и скопируйте её в директорию: Spruthub/Firmware/ZigBee на SD карте.

3. Установить MicroSD обратно в SprutHub и перезагрузите

2.2 Обновление в веб-интерфейс SprutHub

Скопировано

Для проверки версии ПО на вашем устройстве:
1. Откройте веб-интерфейс вашего устройства SprutHub

2. Перейдите в раздел "Устройства", нажмите на значок "Шестерёнка" и перейдите в раздел "Информация"

Как можно увидеть на скриншоте, на устройстве устаревшая версия прошивки

3. Перейдите во вкладку “Настройки”“Расширенные”, а затем в пункте “Внешнее хранилище“ поставьте “microSD” и сохраните изменения

4. Вернитесь на вкладку "Настройки" и нажмите кнопку "Перезагрузить"

После перезагрузки начнется обновление, и в отладочном окне будет запись о начале процесса

5. Чтобы включить отладочное окно, нажмите на значок "три точки" в правом углу интерфейса SprutHub и выберете в списке “Отладка”

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

Когда обновление закончится, в левом нижним углу появиться уведомление, а в окне будет запись события

В интерфейсе SprutHub информация об устройстве может не поменяться, чтобы обновить её, нужно перезагрузить контроллер Zigbee

6. Для перезагрузки контроллера Zigbee перейдите во вкладку “Контроллеры”, нажмите на значок "три точки" и перейдите в "Настройки"

Изображение
загружается

7. Выключите, а затем включите контроллер Zigbee. Это нужно для его перезагрузки

После процедуры информация об устройстве обновится

3. Обновление через SprutHub установленным на Wiren Board

Скопировано

Подключитесь к контроллеру по SSH
Для пользователей Windows можно воспользоваться Командной строкой или PowerShell
Для пользователей Linux и Mac OS можно воспользоваться встроенной утилитой "Терминал"

1. Откройте программу и введите следующую команду:


ssh имя_пользователя@ip_адрес_контроллера #Заменить на ваши данные

2. Затем в строку терминала вставьте следующую команду:


wget -P "/mnt/data/makesimple/.SprutHub/data/Firmwares/ZigBee" #Путь до директории "https://github.com/ONOKOM/firmware/raw/refs/heads/main/ZigBee/main/НАЗВАНИЕ_УСТРОЙСТВА/версия_прошивки/название_файла_проишивки.ota"  

Код нужно отредактировать под конкретный случай, а именно вставить свои:
- Название устройства (большими буквами)
- Версию устройства
- Название файла прошивки (маленькими буквами)
Все эти параметры берутся из репозитория ONOKOM

В нашем случае код выглядит так:


wget -P "/mnt/data/makesimple/.SprutHub/data/Firmwares/ZigBee" "https://github.com/ONOKOM/firmware/raw/refs/heads/main/ZigBee/main/HS-3-ZB-S/0.5.4/hs-3-zb-s_hw1.x_fw0.5.4_ota18.ota"  

Эта команда скачивает прошивку нужной версии и сразу помещает её в правильную директорию

Путь из репозитория GitHub может отличаться в зависимости от вашей модели устройства

3. Перезагрузите SprutHub

После перезагрузки начнется этап обновления устройства (занимает примерно 15 минут).
Отследить, как обновляется устройство, можно в интерфейсе SprutHub, включив отладку, как было описано в пункте 2.2

4. Рекомендации

Скопировано

- Убедитесь, что файл прошивки соответствует вашей HW-ревизии и версии OTA
- Держите устройство близко к координатору (1–2 м), питание должно быть стабильным
- Не отключайте питание до завершения обновления
- Если обновление прервалось, нужно начать процедуру обновления заново с учетом рекомендаций