Wiren Board Cloud — удалённое администрирование
Описание
Wiren Board Cloud — сервис удаленного администрирования систем автоматизации на контроллерах Wiren Board. Подробное описание возможностей
Работает в контроллерах Wiren Board 6 и новее.
Информацию об ошибках и пожелания присылайте на портал техподдержки. Если вы сообщаете о проблемах — приложите к сообщению диагностический архив.
Принцип работы
На контроллер Wiren Board устанавливается агент wb-cloud-agent, который соединяется с облаком и получает из него настройки для создания туннелей и отправки метрик. Для отправки метрик используется сервис wb-cloud-agent-telegraf, а для туннелей wb-cloud-agent-frpc.
Данные передаются по защищённому каналу. Авторизация контроллера в облаке происходит по ключу, хранящемся в чипе ATECCx08.
Подробнее об архитектуре смотрите в нашем докладе Собственное облако, новый конфигуратор устройств и другие новости софта Wiren Board.
Порты
Для работы Wiren Board Cloud не нужно пробрасывать порты, так как все соединения с контроллера исходящие:
- агент стучится по адресу https://agent.wirenboard.cloud ;
- для туннелей на стороне облака открываются порты из диапазона 10000 - 30000 и frpc на контроллере подключается по ним.
Это позволяет держать контроллер за NAT, что повышает безопасность.
Подключение контроллера к облаку
Установка агента
Агент доступен и установлен на контроллерах Wiren Board 6 и новее в релизах ПО wb-2407 и новее. Как узнать релиз ПО на контроллере.
На старом релизе wb-2207 агент надо поставить вручную:
apt update && apt install wb-cloud-agent
Добавление контроллера в облако
По умолчанию контроллер отключен от облака, надо его добавить:
- Откройте веб-интерфейс контроллера, перейдите Настройки → Система и кликните на появившейся ссылке в разделе Подключение к облаку.
- После перехода по ссылке вы попадёте в личный кабинет, либо система попросит авторизоваться или создать аккаунт.
Также ссылку на добавление можно получить в консоли, для этого подключитесь к контроллеру по SSH и введите команду wb-cloud-agent
:
# wb-cloud-agent
👉 https://wirenboard.cloud/controllers?add=69bdf824559896554d15abeaba3e62ad30c5a8f65er82f52be0bf87f084b1
К личному кабинету в облаке можно подключить неограниченное количество контроллеров.
Важно! Если в контроллере удалить данные через factory reset, а потом снова поставить агент — контроллер подключится к облаку автоматически.
Получение доступа к произвольным web-интерфейсам на контроллере
Инструкция может не работать с некоторым ПО! В разработке другой удобный способ, но сроков пока нет. Можно настроить в nginx на контроллере прокси для какого-нибудь произвольного (обязательно до этого не существующего) URI. Это работает с большинством приложений, но может и не работать.
Для примера, получим доступ к web-интерфейсу Zigbee2mqtt по uri «z2m». Web-интерфейс zigbee2mqtt включен на контроллере на порту 8081.
- Открываем конфиг nginx:
mcedit /etc/nginx/sites-enabled/default
- Добавляем запись location в секцию server
location ~ ^/z2m/(.*)$ { set $upstream_app 127.0.0.1; set $upstream_port 8081; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port/$1$is_args$args; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; }
- После сохранения перезапускаем сервер с проверкой статуса
systemctl restart nginx && systemctl status nginx
- Для проверки можно открыть локально web-интерфейс контроллера с URL
http://ip-address/z2m/
, где ip-address — адрес контроллера. Замыкающий слеш обязателен. - Через облачный сервис так:
https://XXXXXXX.http.wirenboard.cloud/z2m/
, где XXXXXXX — серийный номер контроллера.
Дополнительная информация для конфигурирования других сервисов документации nginx.
Внимание! После обновления ПО контроллера конфиг может вернуться к состоянию по умолчанию.
Отключение контроллера от облака
Чтобы удалить контроллер из облака, перейдите в личный кабинет, откройте страницу контроллера и удалите контроллер.
Если вы хотите, чтобы контроллер совсем не отправлял данные в облако, отключите запуск агента:
- Подключитесь к контроллеру по SSH.
- Введите команду:
systemctl disable wb-cloud-agent
Траблшутинг
Если вы раньше использовали stable-релиз и добавляли при установке экспериментальный репозиторий — удалите его:
rm /etc/apt/sources.list.d/wb-cloud.list ; apt update
Обновление прошивки контроллера из облака
Процесс обновления прошивки из облака аналогичен обновлению прошивки через веб-интерфейс.
Из облака нельзя сбросить контроллер к заводским настройкам из-за вероятной потери связи с контроллером.