Как правильно построить умный дом

Как правильно построить умный дом

Неотъемлемым атрибутом практически любого интерьера будущего является умная мебель, которая сама поддерживает порядок и комфорт в доме. Впрочем, уже сегодня доступны автоматизированные климат-контроль, освещение, системы безопасности и управление любимыми бытовыми приборами с помощью голоса.

Для этого нужны немного знаний технологий и программирования, а также много воображения. Однако, я убедился, что последнего мне было вполне достаточно. Но обо всем пошагово.

Тема «умного дома» начала увлекать меня 7 лет назад. Во-первых, мне понадобилась обычная система, которая автоматически управляла следующими элементами:

  • освещением в санузле и холле посредством датчика движения;
  • вытяжкой с помощью датчика влажности;
  • домашней метеостанцией.

Во-вторых, я установил в доме реле для управления освещением в холле и ванной комнате (в каждом помещении по одному датчику).

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

Свет в ванной комнате был поделен на группы, так как санузел совмещенный. Одна отключалась спустя три минуты после прекращения фиксации движений, другая через 5 минут. А чтобы свет полностью не погас, достаточно было пошевелиться.

Также в уборной был установлен сенсор влажности, он в автоматическом режиме задействовал вытяжку, если влажность достигала более 50%. Если показатель опускался до 45%, то вытяжка отключалась.

Управление осуществлялось посредством программируемой платформы Arduino.

<p>Вскоре мне стало ясно, что данная платформа не очень подходит для автоматизации дома, так как не подразумевала работу в сети. А без этого экосистему создать не получится. Конечно, можно было ради этого доработать Arduino, но я отказался от этой мысли и выбрал самый лёгкий вариант — поменять платформу. </p><p>Разобравшись с Arduino, я решил перейти на ESP8266. Он оборудован Wi-Fi и по размерам меньше.</p>

Вскоре мне стало ясно, что данная платформа не очень подходит для автоматизации дома, так как не подразумевала работу в сети. А без этого экосистему создать не получится. Конечно, можно было ради этого доработать Arduino, но я отказался от этой мысли и выбрал самый лёгкий вариант — поменять платформу.

Разобравшись с Arduino, я решил перейти на ESP8266. Он оборудован Wi-Fi и по размерам меньше.

Как правильно построить умный дом

Вместе с тем, я хотел решить вопрос с постоянно включенными теплыми полами и кондиционером. Для этого мне понадобилось только заказать термостаты с WiFi модулем от производителя Beok, с помощью которых мне удалось отключать подогрев пола удаленно, но с другого приложения на смартфоне.

Что касается кондиционера, то эмулятор ИК-сигналов производителя Broadlink (модель RM Pro) решил мою задачу по удалённому управлению. Все просто: с пульта необходимо было записать на RM Pro сигнал, после чего в нажать в приложении на кнопку, и эмулятор давал записанный до этого сигнал. Так мне удавалось включать и отключать кондиционер и дистанционно настраивать разные параметры и в целом управлять им.

Установил также выключатели Livolo, посредством которых я мог по радиоканалу управлять светом.

<p>Из недостатков: </p><p>Понадобилось ставить отдельное приложение для управления.</p><p>Отсутствовала обратная связь. Нельзя было понять, горит ли свет, если он был включён посредством простого выключателя. </p>

Из недостатков:

Понадобилось ставить отдельное приложение для управления.

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

Помимо прочего, я приобрел такие WiFi-реле, как Sonoff/Tuya, а также совсем не дешевый Danalock для квартирного замка. Для последнего нужно было свое мобильное приложение. Практически все, кроме Danalock, я заказал на Aliexpress по достаточно низкой цене, что дало мне возможность экспериментировать безболезненно для своего кошелька.

Бризер от производителя Tion — одна из первых крупных покупок. С автоконтролем углекислого газа он справлялся хорошо в отличие от температуры, и ее приходилось регулировать вручную. И опять же для управления загрузил на телефон очередную программу.

Как правильно построить умный дом

Большинство купленных контроллеров и датчиков я даже и не вспомню. Их было много, а мой телефон был переполнен программами по управлению. У меня были попытки их объединить с помощью таких агрегаторов, как HomeBridge и MajorDomo для упрощения управления. Но у каждого варианта были свои минусы:

  • неудобный интерфейс;
  • нет поддержки всех приложений;
  • трудоемкий процесс подключения.

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

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

Порядка одного года у меня ушло на backend/frontend разработку программы.

NodeJS был выбран для написания серверной части. У него развитое сообщество, включающее протоколы почти к каждому современному гаджету на рынке. Angular (Ionic) был выбран для создания клиентской части. Он функционирует на разных ОС Android/iOS. В целом, стандартная архитектура (клиент-сервер).

Я переписал множество драйверов гаджетов, пока не получилось следующего (пример кода для гаджета):

Как правильно построить умный дом

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

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

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

Шаг за шагом я дорабатывал front и back. И когда приложением стало выглядеть в общем-то презентабельно, я задался вопросом, не поделиться ли с другими своей разработкой? Мне удалось найти партнеров и собрать команду, чтобы “отполировать” свой проект до блеска.

Изначально мне нужно было доработать дизайн программы. В этом мне помогла моя команда. Я предполагал, что это займет максимум 4 месяца, но работа затянулась на подольше. Не взирая на то, что сама структура не понесла больших изменений относительно исходного вида, поправить понадобилось много чего.

Совместно с коллегами я покупал наиболее распространенные гаджеты для умного дома и дорабатывал программу, добавляя интеграции с не поддерживаемыми устройствами.

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

Таким образом, мне с командой удалось сделать приложение, обеспечивающее автоматизацию дома со стандартной, клиент-серверной архитектурой. Софт с приятным и удобным интерфейсом может быть установлен на iOS или Android. Вот так мы создали BARY*

*Что касается названия, мы вдохновились персонажем книги Артура К. Дойля «Собака Баскервиллей» дворецкого Бэрримора (англ. Barrymore) — ваш личный «умный дворецкий».

Описание мобильного приложения с яркими картинками и котиками

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

Как правильно построить умный дом

Дом разделяется на зоны, а те в свою очередь на комнаты. И каждой из них есть разные параметры:

  • влажность;
  • температура;
  • показатель потребления электрической энергии;
  • и прочее.

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

Как правильно построить умный дом

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

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

Как правильно построить умный дом

Был интегрирован HomeKit для управления голосовым помощником Siri. Все устройства, которые поддерживаются BARY, могут быть сопряжены с HomeKit. Для этого нужно просто поставить галочку.

Конечно же, был интегрирован и сервис "Яндекс.Алиса", который оказался более отзывчивым в плане команд интерфейса в отличие от Siri. Последняя не закроет занавески, если ее попросить закрыть шторы и не установит комфортный уровень громкости на телевизоре и т.д.

Мы с командой реализовали автоматизации для удобства управления домом. А именно: порядок выполнения операций при определенном наборе условий. Также реализованы логические и многоуровневые автоматизации по типу: «Условие 1 и (Условие 2 или Условие 3)». И все в лаконичном и логичном редакторе:

Как правильно построить умный дом

У меня подобных автоматизаций, разделенных на комнаты и гаджеты, накопилось более 100, и каждая может быть быстро и легко найдена:

Как правильно построить умный дом

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

Как правильно построить умный дом

Сценарий выход/вход из дома/в дом у меня осуществлены посредством Apple TV. Включение/отключение происходит в автоматическом режиме, когда люди покидают помещение и соответственно возвращаются. Приходите к себе в квартиру, а телевизор уже работает и ждет тебя, ведь он сам себя не посмотрит. Ну классно же?

Ну и зачем умный дом, если не можешь подглядывать за питомцем?

Как правильно построить умный дом

Может подключаться любая камера, отдающая RTSP-поток.

Отмечу статистический блок, который вышел довольно содержательным:

Как правильно построить умный дом

Красная полоса говорит об отклонениях от усредненных параметров за 6 месяцев. Серая полоса иллюстрирует текущий расход в границах усредненных значений.

Картинка демонстрирует мою статистику за сентябрь. Я помню, тогда было прохладно, но отопление ещё не включили. В связи с этим вентиляция была включена с функцией обогрева.

Ознакомиться со статистикой можно по всем используемым устройствам:

Как правильно построить умный дом

К слову, расход электроэнергии был уменьшен больше, чем вдвое, за счет статистики и автоматизаций.

Все появляющиеся оповещения хранятся, они доступны для просмотра:

Как правильно построить умный дом

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

Как правильно построить умный дом

Учет расхода воды выполнен с помощью сенсора открытия дверей и окон Xiaomi. Для этого я припаял на контакт (на место геркона) выход счетчика импульсов, при этом в BARY уже реализован виртуальный счетчик, где в качестве первичного источника импульсов используется вышеупомянутый сенсор.

Архитектурная особенность и обеспечение безопасности

Соединение «клиент-сервер» шифруется с помощью AES. А сервер располагается в автоматизируемом помещении, что обеспечивает защиту на высоком уровне.

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

Где именно взять

Запуск серверной части выполняется почти на всех имеющихся платформах благодаря Node JS. Для самых популярных платформ подготовлены скрипты, они автоматически выполняют все функции.

На основе DebianStretch для RaspberryPi:

Как правильно построить умный дом

Target отвечает непосредственно за ту платформу, которая является целевой.

Если пользователь захочет поставить на иную платформу, достаточно отправить нам сообщение, и команда оперативно адаптирует скрипт.

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

В GooglePlay, AppStore приложение находится в открытом доступе для всех пользователей. Не исключено, что когда-нибудь программа будет платной.

А здесь вы можете посмотреть видео с кейсом, описанным выше.

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

Сабирзянов Айдар Ильдарович
Директор ООО "БАРИ"
22
17 комментариев

ага, наводнить шпионами.Пылесос Irobot например передает в Амазон полностью скан квартиры. Нах Нах такое счастье., никаких "умных приборов".

1
Ответить

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

Ответить

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

Ответить

Не берусь говорить за стоимость всего cmart оборудования, но вот момент с тем фактом что смогли что то перекодить, перенастроить, дописать в программное обеспечение вызывает у меня уважение, так что вы молодцы разрабы)

1
Ответить

А когда зависает роутер умный дом превращается в тыкву?

Ответить

Нет, он работает локально)

2
Ответить

Давно зависал роутер?

Ответить