Wiren Board Cloud — удалённое администрирование

From Wiren Board
This is the approved revision of this page, as well as being the most recent.

Описание

Демонстрация

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 не нужно пробрасывать порты, так как все соединения с контроллера исходящие:

  1. агент стучится по адресу https://agent.wirenboard.cloud ;
  2. для туннелей на стороне облака открываются порты из диапазона 10000 - 30000 и frpc на контроллере подключается по ним.

Это позволяет держать контроллер за NAT, что повышает безопасность.

Подключение контроллера к облаку

Установка агента

Агент доступен и установлен на контроллерах Wiren Board 6 и новее в релизах ПО wb-2407 и новее. Как узнать релиз ПО на контроллере.

На старом релизе wb-2207 агент надо поставить вручную:

apt update && apt install wb-cloud-agent

Добавление контроллера в облако

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

По умолчанию контроллер отключен от облака, надо его добавить:

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

Также ссылку на добавление можно получить в консоли, для этого подключитесь к контроллеру по 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.

  1. Открываем конфиг nginx:
    mcedit /etc/nginx/sites-enabled/default
    
  1. Добавляем запись 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;
            }
    
  2. После сохранения перезапускаем сервер с проверкой статуса
    systemctl restart nginx && systemctl status nginx
    
  3. Для проверки можно открыть локально web-интерфейс контроллера с URL http://ip-address/z2m/, где ip-address — адрес контроллера. Замыкающий слеш обязателен.
  4. Через облачный сервис так: https://XXXXXXX.http.wirenboard.cloud/z2m/, где XXXXXXX — серийный номер контроллера.

Дополнительная информация для конфигурирования других сервисов документации nginx.

Внимание! После обновления ПО контроллера конфиг может вернуться к состоянию по умолчанию.

Отключение контроллера от облака

Чтобы удалить контроллер из облака, перейдите в личный кабинет, откройте страницу контроллера и удалите контроллер.

Если вы хотите, чтобы контроллер совсем не отправлял данные в облако, отключите запуск агента:

  1. Подключитесь к контроллеру по SSH.
  2. Введите команду:
    systemctl disable wb-cloud-agent
    


Траблшутинг

Если вы раньше использовали stable-релиз и добавляли при установке экспериментальный репозиторий — удалите его:

rm /etc/apt/sources.list.d/wb-cloud.list ; apt update

Обновление прошивки контроллера из облака

Процесс обновления прошивки из облака аналогичен обновлению прошивки через веб-интерфейс.

Из облака нельзя сбросить контроллер к заводским настройкам из-за вероятной потери связи с контроллером.