Собственно, он в облака уже давно ушёл. Можно только констатировать, что нам это даёт, и чем чревато. То есть, плюсы и минусы.
Несколько лет назад я полагал, что возможность связи с контроллером Умного Дома через облачный сервер — это ненадёжное и небезопасное решение. Сейчас я смотрю на это не так однозначно, потому что без облака многие важные возможности Умных Домов во многом нереализуемы. Так что надо чётко понимать для каждой системы, какова в её работе роль облачного сервера. И, что важно, влияние его на надёжность и безопасность работы. Надо разделять программные задачи и задачи, выполняемые «железом».
В рекламных роликах, сделанных ещё в прошлом веке, говорилось о том, что Умный Дом предугадает ваши желания, окружит вас комфортом и безопасностью, и прочие красивые вещи. Реализовываться это потихоньку начинает только сейчас, точнее, становится видно, как это теоретически можно попробовать реализовать. И перспектива видна только при использовании облачных серверов с их возможностями для обработки информации.
Принципы построения проводных систем Умного Дома на базе центрального контроллера или распределённой логики (KNX, AMX, Crestron) разрабатывались тогда, когда никаких облачных серверов не было. Не было некоторых технологий, да и интернет постоянный был не у всех. И вообще, казалась странной концепция зависимости каких-либо функций от интернета. Поэтому системы на базе ПЛК (программируемого логического контроллера) часто вообще никакого облака не имеют и полноценно работают сами по себе.
Собственно, в большинстве систем мы можем просто отключить кабель Ethernet от контроллера или шлюза, тогда управление Умным Домом будет только с локальных выключателей. Если мы в настройках роутера запретим доступ контроллера в интернет, то будет работать ещё управление системой с приложения на смартфонах и планшетах в пределах локальной сети дома.
Промышленные контроллеры (типа Beckhoff, Wago, Fastwell и прочих, на которых можно реализовать Умный Дом) и их младшие версии типа EasyHomePLC, в основном, не могут работать напрямую (без промежуточного сервера) через облако, не всегда на них можно запустить нужные для такой связи процессы и шифрование. Связь приложения на смартфоне или планшете с контроллером осуществляется по IP адресу, только так.
Три функции, ради которых нам нужна связь контроллера с каким-либо сервером в интернет:
1. Удобное удаленное управление системой
Проведём аналогию с системами видеонаблюдения, в работе которых облачные серверы тоже играют важную роль. Году этак в 2010 для доступа к картинке с видеокамер надо было делать статический IP и пробрасывать порты на видеорегистратор, это создавало определённые сложности. Потом у производителей регистраторов появились облачные серверы, позволяющие смотреть камеры, добавив в личный кабинет на сайте производителя регистратора серийный номер этого регистратора. Сейчас всё стало ещё проще — достаточно отсканировать QR код на корпусе камеры, чтобы увидеть её в приложении. Соответственно, удалённая связь с регистратором стала зависеть от работоспособности сервера.
Такая облачная связь осуществляется за счёт того, что регистратор постоянно обменивается запросами с сервером, всегда на связи с ним. Когда мы со своего приложения также связываемся с сервером, мы получаем доступ к видео. Для этого на регистраторе постоянно должен быть запущен процесс общения с сервером. Аналогично и с контроллером: для удалённого управления либо делаем от провайдера статический IP и на роутере настраиваем проброс портов на контроллер, либо мудрим с VPN. GSM модем помогал, когда интернет был нестабилен, можно было управлять смсками и так же получать сообщения о тревогах.
Я впервые увидел удалённую связь с контроллером Умного Дома через облако в Fibaro Home Center. Создаём учётную запись на сайте, вводим логин и пароль в web-интерфейсе контроллера и в приложении, получаем доступ. Также можем подключаться к контроллеру по IP адресу, когда мы дома.
Появляется зависимость от сервера. Он может перестать работать по какой-то причине. Или его вдруг могут заблокировать в России, за что — придумают. И взлом сервера не исключается. Зато невероятно удобно! В приложении Дом на устройствах Apple мы можем легко давать права доступа к системе любым пользователям, указывая их Apple ID, и так же легко эти права доступа убирать.
2. Обновление и удалённое обслуживание системы
В системе на ПЛК обновление прошивки контроллера происходит, как правило, вручную. К EasyHomePLC надо подключиться кабелем microUSB и специальной утилитой обновить прошивку. Для Beckhoff обновление происходит через Twincat (там несколько способов, на самом деле). Нужно заранее сделать бэкапы конфигурации, скачать откуда-то правильный файл прошивки и вручную запустить процесс. Так же обновляются, например, IP видеокамеры и регистраторы.
В контроллерах систем Z-Wave и, например, Larnitech — есть возможность, как на компьютерах, планшетах и смартфонах быстрого обновления прошивки одной кнопкой. Система уведомит о том, что появилась новая прошивка, по нажатию кнопки она сама скачается и установится. Возможна установка и обновление отдельных компонентов и плагинов.
В Beckhoff или EasyHomePLC такое невозможно, там прошивка обновляется вся целиком со всеми драйверами.
В Wirenboard прошивка и программные модули обновляются вручную через командную строку, как в linux. Собственно, контроллер Wirenboard и работает под linux.
Если эти контроллеры никогда не будут устанавливать новую прошивку сами по себе, то такие системы как Xiaomi, Google, Asus даже не спросят вас, они сами знают, когда что обновить. Никакого конфигуратора или web интерфейса, только одно мобильное приложение. Если производитель захочет заблокировать ваше устройство по какой-то причине или отключить вообще все свои системы, он сможет сделать это за минуту. Точно так же обновляются не только системы управления, но и роботы-пылесосы, фитнес-браслеты и прочее, максимально незаметно для пользователя. Все настройки резервируются на сервере и легко восстанавливаются через учётную запись. И это здорово, конечно, что пользователю не надо думать ни о каких прошивках и настройках, главное знать имя и пароль учётной записи, остальное «просто работает».
У меня ещё со времён работы с первыми цифровыми видеорегистраторами и роутерами процесс обновления прошивки или установки чего-либо сопряжен с волнительным ожиданием того, сработает ли всё нормально или произойдёт ошибка в середине процесса. Это у меня ещё с загрузки программ с аудиокассет на ZX Spectrum, видимо. Так что для устройств ответственней, чем фитнес-браслет, я предпочитаю ставить обновления вручную, подготовившись и сохранив всё. Личное дело каждого, конечно.
Удалённое обслуживание контроллера удобно тем, что можно легко дать права доступа (создав нового пользователя с нужными правами) любому человеку, тогда он сможет подключиться и что-то сделать. Для систем на EasyHomePLC или Beckhoff нужно либо подключаться по IP адресу, либо через компьютер, установленный в той же локальной сети, что и контроллер.
Третья причина использовать облако самая интересная.
3. Облачные интеграции
Это алгоритмы, завязанные на какие-то сторонние действия или обработка данных на сервере.
Например, голосовое управление. Ни у какого известного мне контроллера системы Умный Дом пока что нет подключаемых микрофонов и встроенного распознавания речи. Всё работает через приложение на гаджете или колонку-помощник. Вариантов в мире сейчас немного: Siri от Apple, Assistant от Google, Алиса от Яндекса и Alexa от Amazon. Недавно появилась Маруся от Mail.ru, которая тоже планирует управлять умными домами.
Когда мы что-то говорим в iPhone, то наш голос отправляется на сервер Apple, там распознаётся как команда для устройства, подключенное к приложению Дом в нашей учётной записи, приходит на контроллер системы Homekit в локальной сети (это iPad или AppleTV или Homepod) и уже на устройство, например, лампочку. Аналогично с прочими голосовыми помощниками.
С каждой системой распознавания речи интеграция происходит по-своему, производитель должен поддерживать работу с каждой системой отдельно, что достаточно сложно. Только все интегрировались с Алисой, как вот тебе Маруся А ещё, кажется, Сбербанк планировал сделать свою колонку.
Есть такая вещь как IFTTT. Это сервис, позволяющий интегрировать между собой кучу разных сервисов и умных устройств. Один клиент мне рассказывал о том, что его видеокамера Nest распознаёт выходящего из туалета кота, радиореле включает вытяжку в туалете, робот пылесос запускается по заранее заданной программе на очистку площадки от туалета до того места, где обычно прерывается дорожка тянущихся за котом опилок. Это всё сделано через IFTTT.
Другая возможность облака — распознавание видео. Пока только у Nest, насколько я знаю, есть более-менее законченное решение. Думаю, скоро появится в голосовых помощниках камера (как и микрофон, на 360 градусов), которая будет распознавать человека, правильнее говорить и слушать в его сторону. Понимать, что можно при детях говорить, а что нет. Отвечать индивидуально в зависимости от того, кто задал вопрос. Для непрерывного видеопотока нужен будет ещё более быстрый интернет и Wi-Fi, конечно, обрабатываться же видео будет на сервере, а не в самой колонке.
Контроллеры по способу работы с облаком
Давайте распределим разные системы Умного Дома по возможности работы с облаком и простоте интеграции, например, с Siri и Алисой.
Beckhoff, Wago, Siemens, ABB и прочие ПЛК (именно промышленные контроллеры) возможности напрямую работы с облаком не имеют. Программное обеспечение обновляется вручную полностью, отдельного обновление компонентов нет. Прямой интеграции с голосовыми сервисами нет. В этой же категории EasyHomePLC.
Для связи с облаком нужен промежуточный шлюз, то есть, компьютер на windows или linux. Как минимум Raspberry PI. На него ставится программное обеспечение, например, Openhab. Шлюз общается с контроллером командами json или по modbus.
Для систем на EasyHome (контроллеры Beckhoff и EasyHomePLC) разработчик выпускает как отдельное устройство сервер голосового управления на базе Raspberry с установленным Openhab для управления через Siri. У EasyHome есть открытый API, так что можно интегрировать его с чем угодно, используя промежуточный шлюз.
Это решение мне очень нравится. Такая система хороша своей надёжностью. Никаких лишних процессов на самом контроллере, вероятность отказа или зависания из-за работы интернета, облачного сервера или какой-то библиотеки для интеграции со сторонней системой сведена к минимуму. Если требуются какие-то облачные фишки — ставим отдельный Raspberry с OpenHab и пусть он виснет при сбое каких-то процессов. А если не требуются, то мы отключаем API, запрещаем доступ через интернет и получаем безопасную и надёжную систему.
Для программируемых реле и модулей ввода-вывода Овен выпускаются шлюзы Пх210, которые подключаются по RS485 и пересылают данные в собственный бесплатный сервис Owen Cloud. Контроллеры Овен ПЛК могут связываться с этим сервисом без шлюза, напрямую. Голосовое управление этот сервис не обеспечит, только удалённый контроль работы системы и изменение состояния переменных.
Сервер Iridium Server выполняет ту же роль шлюза, позволяя почти любым контроллером управлять с Iridium Mobile, используя все его преимущества: красивая программа, облачный доступ, управление голосом, интеграция со всеми возможными системами.
Wirenboard, Larnitech, контроллеры Z-Wave — это уже компьютеры на linux. Им промежуточный сервер-шлюз не нужен, они сами отлично работают с собственными облаками для обеспечения удалённого доступа.
Larnitech работает с голосовыми помощниками, включая Алису, это включается в интерфейсе. Контроллер Z-Wave RaZberry тоже легко подключает плагин как минимум для Apple Homekit.
С Wirenboard и контроллерами Z-Wave лучше использовать такой же шлюз типа Openhab или Homebridge, голосовое управление там не в один клик включается, нужно немного почитать инструкции.
Прошивка и плагины у всех этих контроллеров обновляются несложно, через web интерфейс.
Третья категория — это системы, работа которых без связи с облаком и регистрации вообще не предполагается. Это Xiaomi и прочие беспроводные комплекты. Прошивки обновляются сами без вопросов. Оборудование Умного Дома от Ростелеком ещё и ежемесячную абонентскую плату требует, хотя построено на обычном Z-Wave. Платное облако в обмен на хорошую техподдержку и бренд.
Разумеется при отключении интернета приложение работать не перестанет при нахождении устройства управления в квартире. И логика входов и выходов будет отрабатывать. Но до какого-то момента.
Примерно так же с аудиосистемой Sonos. При отключении интернета, если вам не нужно интернет радио или стриминговые сервисы, система будет работать нормально, воспроизводя музыку с подключенных источников или с файлового сервера в локальной сети. В какой-то момент приложение говорит, что нужно обновить прошивку устройств, можно это уведомление игнорировать. Потом отключаются часть функций в настройках. А потом приложение ультимативно заявляет, что пока не обновим прошивку, работать система не будет.
Немного выводов
Есть критическое мнение о том, что «умный дом» нельзя так называть, пока он действительно не будет вести себя как в рекламе и фантастических фильмах: предугадывать желания и прочее. Выключать забытый свет не потому, что у него это прописано в логике действий «если-таймер-то», а потому что он сам понимает, что человека ушёл, поэтому свет не нужен. И включать яркость света соответственно с тем, как он сам понимает текущее состояние человека: встал он ночью водички попить или ещё не ложился. Это можно, конечно, и сейчас прописать в логике и сценариях, но надо либо чтобы программист вместе с хозяином дома жил месяц-другой и отлаживал алгоритмы, либо чтобы сам хозяин этим занимался.
Чтобы реализовать такую автоматическую настройку сценариев, надо привлечь нейросеть. А заодно и распознавание владельца по голосу. Сделать это могут гиганты типа Яндекса и Apple. Разумеется, все данные будут обрабатываться не в колонке, а на сервере, там же будут постоянно совершенствоваться алгоритмы работы. Так что будущее за переносом мышления дома в облако. Важно, чтобы простая логика отрабатывала в домашнем контроллере автономно без сервера и без интернета.
ПЛК в этом плане самые надёжные, вся логика хранится внутри, зависимость от интернета отсутствует вообще. Интеграция с голосовыми помощниками, IFTTT, совместные сценарии с роботами-пылесосами и чайниками отрабатывается через отдельный предназначенный для этого сервер. ПЛК обеспечивает стабильную работу света, выключателей, штор, климата и прочих подключенных к нему вещей. Думать, что раз EasyHomePLC не имеет прямой интеграции с Алисой или Siri, то он через какое-то время безнадёжно устареет по сравнению с какой-то другой системой, в корне неверно. Скорее, наоборот, он навряд ли когда-то устареет, потому что и через 20 и через 30 лет свет будет управляться подачей питания, радиатор термоприводом, принцип работы системы контроля протечки тоже не изменится. А вот какой-нибудь контроллер от Xiaomi за это время сменится многократно.
Умные лампочки, чайники, пылесосы, холодильники и прочее — это вещи каждая со своим протоколом управления, более-менее единый сейчас только Homekit, для всего остального надо вручную писать, отлаживать и постоянно обновлять драйверы, не нужно ожидать от любого контроллера поддержку всех этих устройств. Это задача не железа, а софта. А задача железа — электробезопасность и удобное управление извне. Открытый API или mqtt задачу управления извне решает.
Новость от мая 2020 года по ПЛК и облака (перевод новости):
Siemens представляет новую версию логического модуля серии Logo!
Впервые на Hannover Messe 2020: новейший Siemens Logo! 8.3 будет доступен с осени 2020 года и будет иметь прямое облачное соединение.
Программное обеспечение LOGO Soft Comfort 8.3 приобретает функциональное обновление, позволяющее настраивать новые устройства.
С версией 8.3 можно активировать и настроить облачное соединение и использовать новый бесплатный веб-редактор для создания пользовательских веб-сайтов и информационных панелей в облаке.
Пользователи также могут разрабатывать свои проекты автоматизации и управлять ими из облака с помощью смартфона, планшета или ПК.
Через зашифрованное соединение из облака к Siemens LOGO! 8.3 через протокол TLS безопасная передача данных осуществляется в обоих направлениях.
Облачная связность новых логических модулей представляет собой смену парадигмы. Принимая во внимание, что ранее LOGO! пришлось прервать для обработки или сбора данных, доступ в облаке в режиме реального времени позволяет получить доступ ко всем данным во время работы.