Умный дом с нуля 10 ключевых моментов системы SmartESP
Я рекомендую эту статью для тех кто впервые сталкивается с умным домом и хочет понять основные преимущества системы. В ней я объясню концепцию SmartESP и покажу какими элементами управления будет обладать Умный дом. Чтобы сэкономить Ваше время я не стану перечислять абсолютно все возможности, а сделаю акцент только на особенностях системы.
Первое. Распределенная система контроллеров.
В SmartESP нет понятия главного контроллера к которому подключаются другие модули или разные датчики и устройства. Вместо этого используется множество недорогих и равноправных контроллеров на которых установлен модуль с чипом ESP 8266. К каждому из этих контроллеров подключается свой набор датчиков и устройств.
Второе. Сегментация умного дома по проектам.
В SmartESP весь Умный дом разбит на отдельные проекты. Каждый проект это отдельная задача. Например, есть проект «Климат-контроль» и он занимается обогревом и вентиляцией. Обычно это какое-то помещение. И скажем, есть другой проект «Сигнализация» и он занимается контролем противопожарных датчиков и звуковыми уведомлениями. Есть другие проекты «Метеостанция», «Теплица» и так далее. Все эти проекты самостоятельные умные сегменты Вашего дома, которые можно собирать без строго определенной последовательности.
Третье. Группировка контроллеров по проектам.
Каждый проект, это группа равноправных, но необязательно идентичных контроллеров. Допустим я решил сделать отопление квартиры. В первой комнате у меня будет три обогревателя установленных в разных местах. Следовательно, у меня будет три отдельных контроллера, возле каждого обогревателя.
Кроме этого, мне нужно измерять температуру в комнате и управлять вытяжкой или вентилятором. В этом случае, у меня есть множество вариантов. Я могу подключить только один датчик температуры к одному из контроллеров для обогревателя, а могу и использовать три датчика температуры, подключив каждый к своему контролеру. Тогда я буду получать более усредненную и точную температуру по всей комнате.
Аналогичным образом и обстоит дело с вентилятором. Я также могу подключить его к одному из трех контроллеров, поскольку в проекте «Климат-контроль» предусмотрено управление не только обогревателем, но и вентилятором или похожим на него устройством. При этом, если получилось так, что вентилятор находится далеко от обогревателей, то я могу добавить ещё и четвертый контроллер, который будет управлять только этим вентилятором.
Естественно такое положение вещей распространяется не только на устройства, но и на датчики температуры. При желании, я могу доба
вить и пятый, шестой, седьмой и так далее контроллеры, к которым будут подключены только термодатчики и никакие другие устройства.
Все эти контроллеры я могу объединить в рамках одного проекта, как если бы это был один универсальный контроллер со всевозможными датчиками и устройствами. Вот например здесь, для одного проекта определены несколько контроллеров и для каждого из них я могу задать какие непосредственно устройства есть на каждом. Когда же речь идёт о показателях датчиков, то здесь также задаётся и функция их обработки.
Подобным образом я могу поступить и когда перейду к отоплению другой комнаты. Я создам отдельный проект и добавлю в эту группу свой набор контроллеров. В итоге у меня будет несколько отдельных проектов по отоплению каждой комнаты со своим набором контроллеров в каждой из них.
Однако, если скажем я завтра передумаю, и захочу добавить или убрать обогреватель или вентилятор, то я смогу соответственно просто добавить, удалить или перенести контроллеры из одной группы в другую. Например, можно при желании объединить проекты. Или же наоборот, вынести отдельный обогреватель в комнате в третий отдельный проект, который будет работать по особому алгоритму, отличному от других.
Что это всё даёт? Прежде всего то, что мы получаем высокую мобильность и динамичность проектов. Я могу начать проект отопления дома с одного обогревателя, постепенно добавляя другие по мере необходимости и своих возможностей. Плюс, я могу перемещать устройства по комнате и выполнять различные перегруппировки контроллеров. Одним словом, мне необязателен генеральный проект всего сразу, где я должен максимум всего предусмотреть и рассчитать. Это очень удобно в том случае, когда Вы занимаетесь постепенным построением умного дома без капитального ремонта, просто автоматизируя отдельные функции по мере первоочередной необходимости.
Четвертое. Удобная и наглядная автоматизация.
Как Вы уже поняли, каждый проект имеет свою специализацию и может объединять множество однотипных контроллеров. Кроме этого, каждому проекту возможно задать свой набор режимов автоматизации. Собственно, лично для меня, сценарии автоматизации, это самое главное в умном доме. Мало толку видеть просто показатели датчиков и вручную включать-выключать устройства. Первостепенная задача дома стать умным, а именно — уметь достигать поставленных нами целей.
И здесь ключевая особенность SmartESP в том, что он построен по принципу специализированных проектов. Например, у нас есть конкретный проект Климат-контроль и соответственно для этого проекта разработаны как специализированная прошивка контроллера, так и специальные формы в которых удобно и наглядно создаются конкретные задачи.
Это очень важный момент из моей практики. Сборку и установку контроллеров, настройку и подключение их к серверу и другие сложные процедуры могут выполнять технические специалисты, но управление умным домом должен осуществлять рядовой пользователь. Причем возможности пользователя не должны сводиться к минимуму, типа включить-выключить или задать температуру.
Честно говоря, меня крайне раздражают обзоры, когда при демонстрации умного дома показывают: вот, смотрите здесь Вы можете менять температуру в доме! Вы серьезно? Кому нужно вручную туда-сюда менять температуру в доме? Всем нам нужен прежде всего комфорт и экономия, а этого нельзя достичь путём постоянного дерганья терморегулятора, пусть и очень удобным способом.
Также нельзя и предлагать пользователю писать скрипты домашней автоматизации, даже если используется наглядная система их визуализации. Это сложно и может вызывать ошибки неопытности. Именно поэтому в SmartESP и реализована концепция специализированных проектов. В этом случае, пользователь получает готовые сложные алгоритмы управления устройствами, а самое главное видит понятные формы, где отображаются человеческие названия датчиков и устройств.
Эта форма называется задачей. Здесь я могу определить разные показатели, которые требуется достичь или соблюсти. Этих задач может быть несколько, каждая на соответствующий момент времени.
Например, обогреватель может в разное время суток поддерживать разную температуру. Кроме этого, может быть использована тактика постепенной смены температуры, чтобы избежать дискомфорта перегретого или резкого холодного воздуха. Не говоря уже о том, что можно определить сложный механизм работы обогревателя, чтобы исключить инерционность его работы и температурные скачки.
В свою очередь, управление каждым устройством объединяются в Режимы. Вы можете создать ряд Режимов для каждого проекта. Например, это может быть обычный режим, когда выполняются обычные задачи по созданию комфортного климата в комнате, а также другой режим, когда Вы будете отсутствовать продолжительное время. В этом случае, задачи комфорта меняются на задачи по экономии.
Как Вы уже поняли, переключение режимов мгновенно меняет набор задач для каждого устройства. Это действительно удобно и быстро делать скажем через приложение на смартфоне. Поэтому, если кто-то предложит Вам автоматизацию обогрева по-простому принципу включить-выключить обогреватель, исходя из текущей температуры, то будьте осторожны! Домашняя автоматизация должна быть и функциональна и наглядна, так чтобы пользователь смог с ней быстро разобраться и управлял прежде всего стратегиями, а не показателями.
Пятое. Многоуровневая безопасность.
В SmartESP реализована безопасность на разных уровнях. Прежде всего, самый минимальный уровень безопасности заложен в каждый контроллер. То есть, по сути каждое управляемое устройство имеет свой узел безопасности, который не зависит от связи с сервером или одного главного контроллера.
Например, если у Вас в комнате три контроллера для трех обогревателей, то для каждого, именно для каждого из них можно задать свой режим автономности. Он будет активироваться автоматически, когда перестанет работать что угодно: или Wi-Fi сеть или роутер, или кабель к роутеру, или провайдер или сервер или что-либо еще.
Каждый из этих трех обогревателей будет работать независимо друг от друга и до тех пор пока на него подаётся питание. Да, конечно это будет аварийный режим поддержания какой-то температуры в критическом интервале, но в любом случае — Вы избежите катастрофы.
Следующий уровень безопасности, состоит в том, что каждое включение-выключение устройства практически всегда ограничивается по времени. Очень часто, когда Вы создаете какую-либо задачу, то в этом же окне присутствует поле «Время максимальной работы». Таким образом, практически любое включение устройства можно ограничить по максимальному времени работы на тот случай, когда дальнейшие команды вдруг перестанут проходить.
Но и это еще не всё. В SmartESP каждый режим проекта может содержать свой набор уведомлений. Как показывает практика, важно своевременно и быстро получать предупреждения на смартфон о возможных пороговых значениях.
И наконец самый интересный уровень безопасности умного дома, это возможность одних контроллеров следить за другими и автоматически изменять режимы работы друг друга.
Собственно говоря это будет уже шестая особенность. Называется она «Умная сеть». Как Вы помните в проекте SmartESP мы имеем дело с набором специализированных проектов, а не единым супер контроллером призванным править всеми.
Шестое. Умная сеть контроллеров.
Итак, мы постепенно создаем проект за проектом, а потом когда приходит время объединить их в нечто целое, чтобы они работали согласованно друг с другом, то мы объединяем их через «Умную сеть». Это уникальная особенность даёт возможность настроить взаимосвязи между проектами. Например, для этого проекта я могу установить особый режим на основании показателей совершенно другого проекта. То есть, при выполнении этого ряда условий, автоматически будет установлен нужный мне режим.
Опять таки, другой проект, показатели которого мы проверяем, может иметь свои правила, которые в свою очередь переключают режим и для него. Просто представьте какую сложную стратегию поведения всех проектов Вы сможете создать и причем шаг за шагом, добавляя вполне конкретные и понятные привязки. По сути, Вы как бы вручную создаете свою нейросеть умного дома протягивая логические ниточки от каждого проекта к другим. В результате, определенное событие может стать триггером, повлекшим цепь изменений режимов проектов, которую было бы очень сложно просчитать и организовать при классическом структурном программировании сценариев.
Седьмое. Единая панель управления для разных домов.
А что если у Вас несколько умных домов? Или же, а что если разные проекты одного дома, или даже контроллеры одного проекта находятся на значительном расстоянии друг от друга? Интересная особенность SmartESP в том, что если Вы используете облачный сервер, то благодаря Маршрутизации можно объединять контроллеры которые находятся в совершенно разных сетях и соответственно местах дислокации.
Например, у меня есть мой туристический контроллер, который я часто беру при поездках. Даже будучи в арендованной комнате, мне удобно управлять каким-то устройством, когда я вне дома. И мне не нужен отдельный сервер или отдельный аккаунт, всё находится прямо здесь в одном месте и доступно для управления как с компьютера так и со смартфона.
Естественно, это может быть особенно удобно, когда мы сталкиваемся с большим объектом автоматизации, где в рамках одного объекта нам не хватает одного роутера.
Восьмое. Суперпозиция сервера SmartESP
Умный дом от SmartESP содержит понятие «Сервер». Следовательно, всеми контроллерами всех проектов управляет один компьютер на котором установлено специальное программное обеспечение. Это главный «мозг» умного дома, который размеренно раз в минуту посылает «нервные импульсы» и опрашивает все контроллеры, отправляя им необходимые команды.
В этом есть плюс в том, что не требуется избыточная мощность сервера, как если бы на нём был установлен брокер. С брокером датчики и устройства работают в режиме подписки и асинхронно, что значит, что проектировщику системы надо закладывать повышенную производительность. Делается это для поддержки большого числа сокетов или случая одновременного обращения всех контроллеров к серверу. Владельцам таких серверов приходится выбирать между неэффективными затратами или нежелательными рисками.
Кроме этого, есть другой принципиальный вопрос: а где же должен находиться этот сервер? И ответ на него, обрадует всех. Сервер SmartESP может находиться как в облаке, так и у Вас дома.
Первый облачный вариант, который называется «Подготовленный» более удобен и универсален. Он отлично подходит для простого пользователя, который не имеет достаточно знаний для обустройства домашнего сервера или же просто не хочет с ним возиться на начальном этапе. Именно поэтому, с облачным сервером можно очень быстро запустить свой первый умный дом и провести ряд экспериментов.
С другой стороны, чем больше и критичней становится Ваш Умный дом, тем чаще возникает вопрос: а кто на самом деле контролирует мой дом? Плюс, возникают сомнения в надежности далекого облака или провайдера Интернета. Это всё понятные мне вопросы, поэтому да, у Вас всегда есть возможность установить сервер SmartESP и локально у себя дома.
Хотя, в принципе для себя я выбрал одновременно два варианта. То есть, как правило я использую облачный сервис, но при этом я настроил и свой локальный сервер на небольшом компьютере, который выполняет ряд других функций домашнего сервера. Например, он также содержит в себе и сетевое хранилище, мини-АТС и конечно же благодаря docker-технологии, он включает в себя резервный сервер SmartESP.
Что еще достаточно важно, это то, что благодаря разделу «Обслуживание» можно не только осуществлять резервное копирование Умного дома, но и быстро перекидывать все проекты с одного сервера на другой. Соответственно с облачного сервера на локальный и с локального в облако.
Девятое. Использование привычной сети Wi-Fi.
Контроллеры SmartESP основаны на недорогом чипе ESP 8266, который использует популярную сеть Wi-Fi, которая скорее всего уже есть у Вас дома. Да, сейчас есть альтернативные варианты использования Bluetooth-контроллеров, но на деле не все так однозначно.
Во-первых, Вам потребуется приобрести специализированный шлюз определенного производителя, который имеет ограниченную совместимость с другими устройствами и датчиками.
Во-вторых, для стабильной работы расстояние между устройствами и шлюзом или промежуточным ретранслятором должно быть небольшое. Это сразу требует покупки множества контроллеров, чтобы покрыть расстояния.
В-третьих, мини контроллеры используют слабый блютуз потому что рассчитаны для работы от батареек. С одной стороны это удобно, но на практике не всегда. Когда Ваш умный дом станет среднего размера и у Вас будет скажем полсотни контроллеров, то в каждом из них будет батарейка, которая работает один год. Получается если 365 дней разделить на 50 и если устройства будут разряжаться по очереди, то каждые 7 дней надо будет где-то поменять батарейку. Конечно, так не будет, но все равно придётся менять батарейки по несколько штук и каждый месяц.
Поэтому SmartESP использует более привычный и универсальный WiFi-сигнал, запитывая контроллеры от сети. Это схема уверено работает и в однокомнатной квартире и в загородном доме, где к тому же особо часто нужна длительная автономность.
Единственное, что я рекомендую, по возможности не использовать домашнюю WiFi-сеть Вашего роутера для случая, если в ней находятся потребители с высокими объемами передачи данных. Вообще-то подобные домашние устройства как телевизор или стационарный компьютер всегда лучше подключать через кабель. Если же у Вас нет такой возможности, то недорогим и оптимальным решением будет использовать отдельный маршрутизатор для Умного дома, который потребуется просто подключить к основному. Две раздельные WiFi-сети, это более стабильное и профессиональное решение.
Десятое. Открытая проектная документация.
SmartESP предоставляет открытые чертежи для своих проектов. Благодаря этому, у Вас как у пользователя всегда есть выбор, собрать контроллер самому или же купить готовый у мастера. Каждый вариант имеет свои плюсы и минусы, поэтому я не стану агитировать Вас в пользу одного или другого варианта, просто скажу, что у Вас как и с сервером SmartESP реализовано право выбора.