Что нам стоит умный дом построить? / Хабр
Еще недавно экзотические понятия «умных устройств» и «умных домов» широко вошли в наш повседневный быт, упрощая ведение хозяйства и добавляя комфорта. Хотя, если задуматься, инженеры просто сделали сказку былью. Ведь первая смарт-избушка была на самом деле уже у бабы-яги. Помните – «избушка, избушка, повернись ко мне передом, к лесу задом»? Да и «сим-сим, откройся» из сказки про али-бабу чем не аналог клича современного пользователя «Привет, Алиса» или «Окей, Гугл»?
От избушки Бабы-Яги…
За последние годы появилось огромное кол-во «умных» устройств и помощников, позволяющих управлять любыми бытовыми устройствами, освещением, климатом, следить за безопасностью жилища или просто развлекать домочадцев и гостей. Недостатка в рекламе этих гаджетов нет, но как не утонуть в этом море информации? Опираясь на 20 летний опыт инженерной работы в IT индустрии и годы автоматизации своего дома и дачи, я хочу поделиться полученными навыками, которые, надеюсь, помогут новичкам в решении вопросов домашней автоматизации и уберегут их от возможных ошибок.
В нескольких публикациях я дам советы, как внедрить у себя недорогие и эффективные решения от разных производителей и объединить их все в единую и надежную систему на базе проектов с открытым исходным кодом. Я предлагаю постепенное погружение в тему с минимальными финансовыми вливаниями. Затем, отталкиваясь от простого к сложному, вы сможете практически бесконечно развивать систему по любым сценариям.
В первой статье из этого цикла я представлю небольшой обзор основных подходов к автоматизации при помощи «умных» вещей и что можно с ними сделать на своем собственном примере.
Что важно понимать в первую очередь, если вы решили купить себе «умное устройство» или готовый набор для «умного дома». Приставка «умный» в современном маркетинге, как правило, означает что вы можете контролировать это устройство удаленно или по расписанию. Есть устройства высшего уровня, которые, анализируя ваши предпочтения, могут давать вам рекомендации или самостоятельно принимать решения, например, о выборе климатического режима в различных помещениях в разное время.
Любое «умное» устройство должно подключаться к локальной сети/интернету и иметь какой-либо интерфейс управления, например, приложение в телефоне. С точки зрения передачи информации устройства делятся на проводные (как правило, по этим проводам может подаваться и питание) и беспроводные. Большинство продающихся активных (подключаемых к электрической сети или встраиваемых в электрическую сеть) «умных» устройств и ассистентов (умных колонок) подключаются через WiFi и для управления используют собственные приложения, завязанные на «облачные» сервисы производителя оборудования. В этом случае, производителю проще решать технические проблемы, возникающие при работе «умных» устройств и проще монетизировать свои сервисы. Но и основной минус очевиден: как только отключится интернет, такая «карета» мгновенно превратится в «тыкву», а «резвые скакуны» – в «крыс».
Автономные «умные» устройства, работающие от батареек и аккумуляторов используют для подключения различные экономичные беспроводные стандарты. Например: BLE (Bluetooth Low Energy), Z-Wave, Zigbee, RF и др. Преимуществом стандарта BLE является возможность подключения устройства напрямую к смартфону через bluetooth для начальной конфигурации и возможно последующего использования, но во всех остальных случаях, для обеспечения связи устройств с интернетом или домашней сетью, потребуется специальный шлюз. Шлюз, как правило, идет в комплекте с набором «умного» дома или покупается дополнительно у того же производителя. Как известно, даже в рамках одного беспроводного стандарта к шлюзу не всегда получится подключить устройства разных производителей.
Поэтому на первом этапе создания умного дома, когда у вас еще нет полностью сформированной концепции, вы вполне можете столкнуться с тем, что стали владельцем пестрого набора умных гаджетов, управляемых с разных приложений без возможности объединения их в единую логическую систему. А что может быть печальнее, чем когда вы уже потратили немалое количество времени, сил и средств, а весь ваш умный дом в итоге напоминает ту известную басню Крылова, в которой «лебедь рвется в облака, рак пятится назад, а щука тянет в воду»?
С чего начать?
Итак, с чего начать процесс автоматизации своего дома? Очень хочется написать, что сперва надо определиться с главным – а чего вы собственно хотите от своего «умного» дома, но мой личный опыт подсказывает, что для новичка это будет абсолютно бесполезный совет! На этот вопрос четко и полно сможет ответить только хорошо разбирающийся в технологиях автоматизации человек и имеющий большой практический опыт внедрения. На первых этапах надо сфокусироваться совсем на другом и быть готовым проявить гибкость по мере постепенного погружения в тему. Рассмотрим два базовых состояния, когда приходят мысли о внедрении умного дома:
- Вы собираетесь начать ремонт или уже начали его делать
- Вы только подумываете о том что спустя какое-то время его придется делать
В первом случае вам придется форсированно погружаться в тему и кардинально менять схему электропроводки и предусмотреть дополнительные точки присутсвия силовых кабелей и кабелей данных. Зато после ремонта вы сможете реализовать наиболее интересные концепции умного дома и серьезно сэкономить на оборудовании.
Во втором случае вы можете вдумчиво и не спеша изучать тему, по возможности реализуя некоторые из концепций в зависимости от текущих схем ваших инженерных систем. Зато к моменту проведения ремонта вы уже подойдете со своим собственным опытом и пониманием необходимых модификаций, а по окончанию ремонта у вас появятся еще более интересные идеи для следующего ремонта.
Мое погружение в домашнюю автоматизацию начиналось по первому сценарию, но с тем серьезным «отягчающим» обстоятельством, что я инженер (неважно, что не из области автоматизации или ремонта), поэтому могу бесконечно все время что-то улучшать, менять одну идею на другую, не видя предела совершенствованию. И как результат, только к окончанию ремонта, у меня наконец сформировалась картина, как все надо было сделать на самом деле.
Ограничения по бюджету и времени позволили сформулировать следующие правила и концепцию развития «умного» дома:
- Система должна внедряться и развиваться постепенно. Соответственно, в нее надо заложить серьезный потенциал к расширению, масштабированию и в дальнейшем расшириться на дачу, гараж и т.д.
- Вся логика «умного дома» должна исполняться локально, и все ключевые компоненты – не зависеть от интернет-подключения или облачных сервисов.
- В случае выхода из строя центрального управляющего устройства, управление всеми ключевыми устройствами должно дублироваться механическими выключателями.
Комфорт, безопасность, контроль
Вот основные сценарии автоматизации, которые без больших финансовых инвестиций могут облегчить ваш быт и повысить уровень контроля. Из реализованного мной лично функционала я бы выделил несколько основных направлений — комфорт, безопасность и эффективность расхода ресурсов. Под комфортом я подразумеваю возможности управления светом, мультимедиа, электрокарнизами, радиаторами центрального отопления и кондиционерами. Мой дом – моя крепость, поэтому под безопасностью я имею ввиду контроль входной двери. Под эффективностью расхода ресурсов подразумеваю возможности контроля параметров электрической сети и энергопотребления, расхода воды, выявления протечек во влажных зонах с возможностью перекрытия подачи воды и полотенцесушителя.
Свет в квартире – это не только электрические лампочки, поэтому я автоматизировал и работу штор. Во всех спальнях они автоматически закрываются на закате и открываются в будни по будильнику, в выходные вручную – через приложение или с пульта. Пока сыновья были маленькими, я использовал и сценарий выключения света в детских в полночь. Кстати, о детях. Как позвать ребенка на завтрак из комнаты, если кричать не хочется или он слушает музыку в наушниках? Я поступаю так: инициирую сценарий, при котором один из двух контуров верхнего света моргает три раза с интервалом в секунду. По такой же схеме можно удаленно «намекнуть» ребенку, что он не слышит звонка, когда ты пытаешься до него дозвониться.
Управление телевизорами. У меня дома два телевизора – аналоговый и цифровой, ранее управлявшихся через через инфракрасный пульт. Интеграция их в общую систему «умного» дома дало определенные плюсы: в приложении на телефоне удобнее выбирать нужную программу из разбитых по категориям списков, а для старого аналогового телевизора еще и подгружать текущие программы. И, разумеется, отпала необходимость искать вечно теряющиеся пульты.
«Сим-Сим, откройся»
Управление климатом в моей квартире реализовано с помощью автоматизации и интеграции в общую систему центральных батарей. Благодаря этому стало возможным забыть о таком неприятном занятии, как подкручивание батарей в ручном режиме в зависимости от погоды и состояния окон (проветривание, разгерметизация или плотно закрытое). Большое преимущество – через приложение задать свой комфортный температурный режим в каждой комнате.
Для контроля входной двери в системе управления «умным» домом был настроен бот Telegram, который публикует важные сообщения, например, все события открытия и закрытия входной двери с фотографией с камеры вызывной панели у двери на момент открытия и закрытия. Таким образом, я в режиме реального времени получаю сообщения с фотографиями о том, кто пришел или ушел. Очень удобно контролировать, когда и каким составом дети пришли со школы, ведь они часто забывают позвонить. Так же несколькими способами в любой момент времени можно проверить наличие членов семьи дома.
Контроль параметров электрической сети и расхода воды дает мне возможность в любой момент увидеть графики и исторические параметры потребления. Другой вопрос, что вы будете потом с этим делать? Гораздо более полезными оказались ежедневные отчеты с информацией о суточных расходах электричества и воды с расчетом в рублях. Иногда это сподвигает поискать какое-нибудь забытое включенное устройство, бессмысленно расходующее электричество. Так же через приложение можно всегда посмотреть текущие показания счетчиков электричества и воды, что несколько упрощает процесс оплаты.
В качестве резюме
Так же я предусмотрел автономную систему контроля протечек воды, которая частично интегрирована в общую. Однако тут необходимо сделать небольшой комментарий, касающийся контроля критически важных систем, таких как сигнализация или система контроля протечек воды. Я предпочитаю пользоваться коммерческими системами с автономным питанием. Мой опыт эксплуатации подтвердил общее правило: беда не приходит в одиночку. Например, случаи возникновения протечек сопровождались отключением электричества и как следствие выходом из строя центральной системы управления из-за отсутствия у нее бесперебойника.
«Умный дом» — переосмысление / Habr
На Хабре уже было несколько публикаций о том, как айтишники строят себе дома и что из этого получается.Хочу поделиться своим опытом («тестовый проект»).
Постройка собственного дома (особенно, если еще и своими силами) — крайне объемный кусок информации, поэтому я свое повествование буду вести больше про ИТ-системы (мы же все-таки сейчас на Хабре, а не на ФХ, хотя там тема тоже есть).
Предыстория
Мы уже довольно давно перебрались из мегаполиса «поближе к природе». Таунхаус (наш выбор на тот момент) казался идеальным вариантом — уже не квартира в многоквартирном доме, но еще не загородный дом — идеальный «тест на загородную жизнь». При этом свой «клочок земли» и все центральные коммуникации, два этажа и никаких проблем с парковкой.
Но довольно скоро мы поняли, что «загород» — нам отлично подходит, а вот наличие «близких соседей» — нас не устраивает.
Начались долгие и кропотливые поиски подходящего участка (это вообще отдельная тема — столько нюансов), но «кто ищет, тот всегда найдет». Нашли (25 соток, ЛПХ, 3 фазы (15кВт)). Купили.
И вот тут началось…
Купить и оставить участок «как есть» — это не про нас. Начали его осваивать потихоньку — удалили лишние деревья, организовали въезд, построили забор (все своими силами, денег-то не осталось после покупки участка)…
Сразу было понятно, чтобы строить дом — нужно продать таунхаус. Процесс продажи — очень небыстрый (загородная недвижимость — это очень сложно).
Чтобы было «не скучно» решили построить небольшой гостевой домик, который в дальнейшем можно было бы использовать вместо съемной квартиры на время строительства основного дома и после постройки дома как «кабинет вне дома со всеми удобствами» (ну и как гостевой дом тоже, конечно:)). Заодно на нем опробовать технологии строительства и сделать «тестовый» умный дом.
Стройка
Поскольку этот домик — «гостевой» и является «разминкой» перед стройкой основного дома, то решили его строить по каркасной технологии (северо-американский вариант).
Выбор технологии строительства был сделан на основании двух гипотез: «быстро» и «дешево».
Постулат «быстро» — да, правда (при условии достаточного финансирования), а вот «дешево» — совсем не оправдался («хорошо дешево не бывает» — если все делать правильно по технологии и «для себя», то получается совсем недешево).
Сегодня домик выглядит вот так:
Цоколь еще не доделали — вот снег растает и все подсохнет, тогда и займемся им.
Кратко про инженерные системы домика:
- Принудительная приточно-вытяжная вентиляция с рекуперацией тепла.
- Отопление — (только) электрические теплые полы.
- Холодное водоснабжение — скважина.
- Горячая вода — от электрического бойлера.
- Канализация — ЛОС.
- Кондиционирование — сплит-система (пока не установлена, но все необходимые магистрали проложены на ранних этапах стройки).
Собственно, при самой стройке ничего «ИТ-интересного» не происходило — нормальный строительный процесс (хотя вру: когда на участке еще даже не было временного туалета, уже была проброшена оптика, стоял роутер и запущена система видеонаблюдения).
Если интресует сам процесс стройки — вот моя тема на ФХ.
По своему (уже состоявшемуся) опыту — продумывайте все свои системы на несколько итераций вперед, чтобы не забыть сделать все нужные «закладки» («гильзы» для ввода кабелей, продумывайте где будет стоять различное оборудование и сколько его будет; прикидывыйте, как пройдут трассы и т.п. — это потом существенно облегчит жизнь, когда дело дойдет до инженерных систем). Подумать о «плане Б» — тоже не помешает (лучше иметь 1-2 запасных варианта, чтобы в случае чего можно было оперативно переиграть решение).
Маленький (тестовый) домик позволил реализовать и опробовать тот подход, который сложился в голове за последние 6-8 лет жизни в таунхаусе (где застройщик фактически все инженерные системы сделал за меня, и это накладывало определенные ограничения на систему «умного дома» (УД), которую я медленно, но верно испытывал на своей «прекрасной половине»):
— Перестань издеваться надо мной: я не знаю, как пользоваться выключателями — они разные на разных этажах — тут надо нажать, а тут — прислонить палец.Поскольку тут у меня уже не было никаких ограничений (в виде застройщика) — все системы делались так, как считал необходимым.
— Если свет еще раз ночью зажжется, я вырву что-нибудь с корнем!
— Ты меняешь выключатели быстрее, чем я успеваю к ним привыкнуть!
— Зачем нам голосовое управление? Я этим пользоваться не буду!
В результате вся электрика была сделана слегка нетрадиционным образом: в доме нет ни одного «классического» выключателя и вся проводка сделана «звездой» с центром в электрическом щитке.
Выглядит это вот таким образом:
Кровь, кишки…Щиток — «маленький», всего-то на установку 120 стандартных модулей (и это для домика, общая площадь которого — около 30м2).Но после установки всего необходимого оборудования он уже совсем не кажется избыточным по объему:
Топология «звезда» позволила в электрическом щитке расположить управляемые блоки, и теперь можно «рулить» любым «лучем» по своему желанию (как «рулить» — это отдельная тема, об этом чуть дальше).
Конечно, не все нагрузки требуется коммутировать через управляемые модули. Часть оборудования идет через обычные «автоматы» (холодильник, плита, «серверная» (ага, мы же не будем «стрелять себе в ногу»), стиральная машина и т.п.)
Пока шла стройка и занимались отделкой — с электрического ящика снял дверцу и банально пальцем тыкал в нужную кнопочку чтобы включить ту или иную цепь.
Вообще, если честно, то я несколько излишне усложнил систему — сейчас, после нескольких месяцев эксплуатации, вижу, что можно было сделать чуть-чуть проще (некоторых потребителей, которых я разделил для возможности раздельного управления — объединить в группы), но в целом — подход себя полностью оправдал и позволил решить все возникающие задачи.
Когда уже почти все было готово — дома начала разворачиваться настоящая ИТ-инфраструктура:
- Роутер mikrotik (резервный канал через LTE, vpn, capsman, мониторинг и все такое).
- Две различные WiFi-сети — физически разные точки доступа (одна сеть для IoT-устройств, другая — для обычных пользователей (вообще для «обычных» пользователей — две сети: 2.4 и 5ГГц), надо бы еще одну «гостевую сеть» поднять…).
- Сервер домашней автоматизации («сердце» «умного дома»).
- NAS Synology.
- Бесперебойники …
Большая часть «железа» уже была в наличии и переехала из таунхауса.
А вот тут уже начинается «ум» дома.
Все перечислять — будет очень долго, но суть везде одна и та же — система «сама» обнаруживает и реагирует на какие-то события/параметры без участия человека. Приведу некоторые очевидные (и не очень) сценарии, которые подверглись автоматизации:
«Он сам пришел» ©
Климат
- Режим «день/ночь» (с удобным управлением, как графиком, так и желаемыми уровнями нагрева/охлаждения).
- Если хозяева уехали — перевести систему в «ночной режим» для экономии электричества.
- Термостат для управления теплым полом (т.е. задается не только комфортная температура теплого пола, но и желаемая температура в помещении).
Освещение
- Все уехали — погасить свет в доме.
- В темное время суток в санузле включить свет при обнаружении движения (ночью свет НЕ ВКЛЮЧАТЬ, дабы «не разбудить» ;)).
- В прихожей ночью включить ночник при обнаружении движения.
- Имитация обычной «световой активности» хозяев в их отсутствие (при необходимости).
- При возвращении хозяев в темное время суток — включить «приветственный» свет на веранде и в прихожей (последнее — по датчику открытия двери).
Электричество
- Если все уехали — выключить «ненужные» розетки (не надо помнить, «выключил утюг или нет?»). По возвращению хозяев — «вернуть как было».
- Включить электрический полотенцесушитель на 2 часа, если влажность в санузле поднялась выше 70% (кто-то пошел в душ и точно будет сушить полотенце после этого).
- Выключить греющий кабель в подводящей водопроводной трубе, если температура на улице выше 5 градусов.
Безусловно, это только «верхняя часть айсберга» по приведенным подсистемам, а есть же еще другие области (такие как «Охрана», «Информирование» и т.п.).
Кто-то может сказать, ну и зачем тут городить «умный дом» — достаточно накупить в леруа мерлен (оби, кодин терра, к-раута — нужное подчеркнуть) датчиков движения, термостатов и т.п. — и решить те же задачи (пусть и не так изящно). И в чем-то будет прав, но если делать по-умному, то возможно «двойное» использование одних и тех же вещей. К примеру, датчик движения в прихожей можеть быть «активатором» ночника, когда хозяева дома и «датчиком движения» для охранной системы (когда хозяев нет). Да и «аппетит приходит во время еды» — я уверен, что еще далеко не все возможные сценарии выявлены и автоматизированы.
Кстати, «прекрасная половина» теперь является активным «паровозом» в процессах автоматизации, причем, уже в формулировках:
— А почему у нас до сих пор автоматически не… (далее следует словесное описание какого-то сценария) ?
Так с выключателями-то что?
Несмотря на то, что дома нет ни одного физического выключателя (рубильники и кнопки в электрическом щитке не считаем), никаких сложностей с включением/выключением не возникает.
И происходит это потому, что свет можно включить следующими способами:
- Беспроводной выключатель («беспроводная кнопка»), который наклеен на стене в удобном месте (там же, где должен был бы быть «простой» выключатель).
- «Привет, Siri! Включи люстру» (говорится Apple Watch, MacBook, iPhone/iPad).
- «Hey, Google! Turn on lights in the kitchen» (можно просить как андроид-телефон, так и «умную колонку» — у меня Google Home Mini).
- «Alexa, turn off light in the living room» (Echo Dot от Amazon).
- Приложение Home (iPhone/iPad/MacBook/AppleWatch).
- Приложение на умных часах.
- Приложение на андроид-телефоне/планшете.
- … (Наверняка еще что-то забыл 😉
Т.е. несмотря на отсутствие выключателя — его функции доступны и способов «коммутации» куда больше, чем при использовании классического решения.
Естественно, все работает как локально (внутри дома), так и удаленно (главное, чтобы интернет был).
Google Assistant и Amazon Alexa — на текущий момент не владеют «великим и могучим», но вот со стороны Google ситуация, думаю, скоро изменится — в «бета-режиме» колонка уже довольно сносно распознавала русский и говорила на нем, правда, на русском не работало управление умным домом, но это наверняка временные трудности.
Интеграция
Дальше становится еще интереснее — границы между системами потихоньку начали «размываться».
Система видеонаблюдения -> УД
К примеру, у меня (пока) есть одна капризная IP-камера, которая может «отвалиться» в любой произвольный промежуток времени — раньше для нее было настроено правило, что она раз в сутки самостоятельно перезагружалась. Так она умудрилась уйти на перезагрузку и не вернуться. Конечно, это произошло, когда я был в нескольких тысячах километров от дома…
Так эту ситуацию я оставить не мог.
Придумалось следующее решение: у Synology в системе видеонаблюдения не так давно появилась возможность использовать запросы во «внешние» системы.
Настроил простое правило «если потеряно соединение с целевой камерой — отправить запрос в систему умного дома, чтобы последний перезапустил камеру по питанию» (банально передернул питание PoE-инжектора с помощью «умной розетки»).
Вуаля! Работает! Регулярную самостоятельную перезагрузку камеры — заблокировал за ненадобностью.
Правильнее было бы конечно…… поменять PoE-инжектор на нормальный PoE-коммутатор и там задать правила, по которому запустить «Power Cycle» для конкретного порта, но это будет позже…
Кстати, ровно по этому же принципу можно сделать камеру видеонаблюдения — «датчиком движения» в системе УД.
УД -> Видеонаблюдение
Другая задача — иллюстрирует взаимодействие «в обратную сторону»: когда хозяева дома — отключить камеры видеонаблюдения, расположенные внутри домика (камеры внутри установлены поскольку мы любим путешествовать: приятно откуда-то издалека «заглянуть домой» и убедиться, что там все хорошо и подсмотреть, что робот-пылесос работает, а не забился куда-то в угол и отлынивает;)).
В этой задаче уже «умный дом» (на основании geo-данных) определяет, есть ли кто из домочадцев «поблизости» и если это так — инициирует переход системы видеонаблюдения в «Home Mode», при котором часть камер отключается.
Анализ данных
Ни одна серьезная система не обходится без датчиков (абсолютно разного типа) и системы хранения их данных — вот тут появляется возможность многофакторного анализа.
К примеру, в какой-то момент в домике обнаружилась одна неприятная вещь — низ окон начинал «потеть», конденсат обнаружился и на торце входной двери (обильный конденсат). Стали искать причину — поиск по форумам, применение каких-то превентивных мер — не давали результата. А оказалось все просто — достаточно было глянуть на показания датчика влажности в комнате — влажность в какой-то момент повысилась процентов на 10-15 от обычного состояния. С новыми данными решение искать стало проще — на ФХ в теме про вентиляцию предположили, что это последствия наличия «перетекания» воздуха внутри блока рекуператора, которое приводило к превышению «приточки» над «вытяжкой». Другая возможная причина этого — засорившийся фильтр внутри системы вентиляции.
Оказалось, что это именно так: замена фильтров и проклейка пары критичных мест уплотнительной лентой в блоке рекуператора полностью решили нашу проблему — конденсат везде пропал (и влажность вернулась к обычным значениям).
Так же интересно смотреть на реакцию системы при изменении параметров автоматизации: например, как скажется изменение значения термостата в контуре теплого пола на его электрическое потребление?
Но, к сожалению, на текущий момент времени на анализ практически нет, но данные копятся…
Если честно, то уже хочется какие-то вот такие вещи отдать на откуп ИИ 😉 — пусть анализирует и подсказывает наиболее оптимальные значения.
Жаль, что пока это только из области фантастики.
Оборудование и ПО
В этой статье я умышленно обхожу какие-то технические детали и не даю конкретных рекомендаций по железу и софту (хотя и это могу, конечно) — это не очень важно, главное — принципы (которые можно применить практически на любой современной системе с разной степенью удобства реализации).
Для меня в «умном доме» важны следующие вещи:
- Независимость процессов автоматизации от внешних «облаков» (все автоматические процессы должны работать даже при отсутствии доступа в интернет).
- Вариативность оборудования (не ограничивать себя только изделиями только одного производителя — необходимо иметь возможность интегрировать устройства разных вендоров между собой).
- Разнообразные способы управления (веб, приложения, голосовое управление (Siri, Google Assistant, Amazon Alexa) — кто знает, каким образом в реальной жизни (и реальный момент времени) будет удобнее воспользовться?).
- Гибкость построения различной автоматизации (развитый скриптовый язык сценариев — чтобы эта мелочь не могла омрачить «полет фантазии» в описании процессов).
- Актуальность состояний внутри системы (когда я только-только начинал «погружение в тему», часть устройств была вообще без обратной связи (livolo, например), потом появилась обратная связь (со сменой устройств, конечно), но частенько актуальность статусов была под большим вопросом — приходилось проверять).
- Минимальные задержки (время от подачи команды/«нажатия кнопки» до видимой реакции системы должно быть как можно меньше, чтобы это не вызывало временного дискомфорта от эксплуатации).
- Предсказуемость и стабильность (никаких несанкционированных «барабашек», включающих/выключающих свет (особенно ночью;)) быть не должно).
Безусловно, любая система УД (да и любая критичная ИТ-система) должна бекапиться и резервировться (вообще не мне вам об этом говорить;)).
Заключение
Вообще говоря «переосмысление» — не совсем правильное слово в названии, скорее это «развитие»: за последние 6 лет с того момента, как я написал:
Для меня «умный дом» — это когда находится какая-то проблемная область в обычной домашней жизни, для нее делается какое-то решение, которое начинает работать без участия человека и позволяет забыть эту проблемную область как минимум надолго, а в идеале — навсегда.мое мнение не поменялась. Принцип остался прежним, просто системы стали более сложными и интересными, аппаратное обеспечение поменялось (несколько раз), сфера влияния и зона ответственности «умного дома» увеличились.
P.S. а таунхаус мы продали и готовимся к стройке основного дома…
Умный дом, начало / Habr
Идея создания умного дома (УД) зародилась в голове еще задолго до появления собственного дома (квартиры). Временами изучал статьи об умном доме, искал в сети различные решения и примерял их к собственному видению умного дома. Постепенно в голове вырисовывалась картина будущего проекта. И вот когда настал долгожданный момент, была приобретена квартира, я начал воплощать свои идеи в жизнь. По своей натуре я практик, для меня проще начать сразу делать что-либо в железе без писанины, лишних слов, планов и расчетов на бумаге, поэтому весь проект был в голове и постоянно корректировался.Выбор был сделан на 99% в сторону проводных устройств, плюс все устройства должны быть максимально бюджетные. Изначально планировал делать все на микроконтроллерах, но узнав о существовании Arduino выбор пал именно на нее, т.к. упрощалось изготовление конечных устройств, не нужно было изготавливать платы самостоятельно.
На этапе ремонта была проложена витая пара по всем возможным направлениям — освещение, окна, двери, радиаторы, водосчетчики, теплосчетчики, электросчетчик, домофон, телевизор, компьютер, проектор, кондиционер, подъездный щиток, датчики движения, балкон, ко всем выключателям и розеткам…
Была переделана силовая проводка. Я отказался от распредкоробок, и вся проводка от каждой люстры, выключателя, розетки стянуты вместо установки электрощита. Дополнительно силовая проводка протянута к каждому окну, для питания контроллеров и питания электроприводов рулонных штор. Всего на двухкомнатную квартиру ушло около 1 километра различных проводов.
Сердцем системы выступает сервер на базе неттопа Asus EeeBox, на котором крутится iobroker. Все контроллеры общаются с сервером по протоколу MQTT.
В каждом окне стоит комнатный контроллер построенный на Arduino UNO + Ethernet Shield W5100 каждый из них собирает следующую информацию:
Контроллер в оконной раме- температура радиатора (DS18b20)
- температура и влажность помещения (DHT22)
- уровень освещенности (фоторезистор)
- датчик СО (MQ7, планируется замена на более достоверный датчик)
- датчики объема (DSC LC-100PI, переделанный под питание 5В, в который встроены датчик освещенности и датчик СО)Датчик объема
- в спальне и гостиной дополнительно датчики температуры DS18b20, которые установлены внутри приточных клапанов КИП-125
- управление сервоприводом (SG90) который установлен на заслонки приточного клапана КИП-125Сервопривод заслонки КИП-125
- датчик открытого окна (геркон)
Освещением управляет отдельный контроллер, построенный на Arduino Mega + Ethernet Shield W5100.Контроллер освещения в сборе
В качестве выключателей стоят обычные перекидные Schneider Electric из серии Unica с переделанной подсветкой под 5В. Подсветка запитана через полевой транзистор от ШИМ контроллера освещения (КО).Выключатель
Переделка подсветки выключателя под 5В
Выключатели коммутируют 12В которые через делитель поступают на вход КО. Программа КО инвертирует состояние выхода при переключении выключателя т.е. если свет горел то переключив выключатель свет отключится и наоборот. Минус этого решения, что выключатели не имеют положения выключено\включено, а из плюсов легкая организация аварийного режима, при котором выключатели коммутируют реле (Finder) освещения напрямую минуя КО.Плата аварийного режима
Реле управления освещением
В ванной помимо обычного выключателя стоит счетчик посетителей на ИК датчиках. Если посетителей больше 0 то свет горит.Счетчик посетителей в ванную
Дополнительно организовано управление и контроль отдельных устройств:
- Телевизор (LG, не смарт) не управляется по Ethernet, но управляется по RS232. Для управления поставил Arduino UNO + Ethernet Shield W5100.Заголовок спойлера
- Проектор (BENQ) аналогично телевизору.
- Ресивер ONKYO управляется как по Ethernet так и по RS232, в iobroker есть драйвер для управления ресиверами ONKYO по ethernet, так что работает из «коробки».
- управление домофоном (Cyfral, координатный). Организовано открытие подъездной двери (на реле) и контроль звонка домофона, при звонке домофона на телевизоре включается изображение с подъездной камеры, на телефон приходит сообщение в котором содержится ссылка для открытия двери.Управление домофоном
- управление водонагревателем (Termex). Управление и контроль организован на Arduino pro mini + NRF24, питание от встроенной платы управления водонагревателем. Реализовано включение, отключение, переключение режима нагрева и установка температуры. Переключение кранов только руками, горячую воду не так часто отключают, а тратить ~5 т.р. на краны с приводом нет желания, так что не напрягает. Как отключат горячую воду, хочу провести эксперимент энергоэффективности, поддерживать заданную температуру воды круглосуточно либо отключать водонагреватель или понижать заданную температуру на ночь и на время отсутствия.Управление водонагревателем из веб морды
- управление системой защиты от протечек (Аквасторож). Организовано на связке Arduino pro mini + NRF24.Управление аквасторожом
- счетчики расхода воды (Счетчики с импульсным выходом). Импульсы подсчитываю Arduino pro mini и отдаю данные по UART контроллеру «ванной» (Arduino UNO + Ethernet Shield W5100).Счетчик расхода воды
- счетчик электроэнергии (с импульсным выходом). Импульсы считаю аналогично счетчику воды
Управление УД организовано через web как с компьютера так и с телефона или планшета. Плюс организовано управление голосовыми командами через телефон с помощью приложения Tasker.Шкаф автоматикиРабочий хаос.
Еще немного фото
P.S. Это первая итерация моего УД и еще не все доделано. Если какие-то моменты будут интересны читателям, то раскрою более подробно в следующих статьях.
Часть вторая — Счетчик посетителей ванной комнаты
Умный дом. Конкретная реализация / Habr
Добрый день, уважаемое сообщество!В своих предыдущих статьях я рассказывал о том, как делаю у себя умный дом. С тех пор прошло уже достаточно большое количество времени и я достаточно серьезно продвинулся как в оборудовании, так и в софте. Думаю, что эту очередную статью можно смело называть «Умный дом v3» 🙂
Если пересказать коротко, то меня уже давно заинтересовала возможность построения у себя умного дома. Нынче это модный тренд, но раньше это было настоящей темой для отпетых гиков.
Расскажу что есть у меня сейчас из оборудования:
- Несколько диммеров ZWave
- Датчики ZWave (объема, присутствия, температуры, протечки, открытия дверей/окон, донгл для ПК)
- Клапаны ZWave
- Выключатели Noolite (силовые модули+выключатели-передатчики, донглы RX и TX (PC) для ПК)
- Едут диммеры Noolite
- Планшеты на Android (служат терминалами системы)
- На полке лежит донгл 1-wire 🙂
Обо всех этих технологиях рассказано достаточно подробно на Хабре (в том числе и в моих статьях), но я бы хотел остановиться на Noolite. Технология хорошо описана vvzvlad (например, тут). Теперь моя очередь 🙂
Вот так симпатично это выглядит в коробках (заранее извиняюсь за качество, сделано в процессе установки на мобильный телефон без всяких заморочек с фоном, заваленным горизонтом и т.п.):
Так выглядит донгл для передачи команд силовым блокам:
А вот так для приема:
Да-да! Именно для приема команд! Это та недостающая часть Noolite, которой лично мне не хватало для того, чтобы использовать эти устройства у себя. Информации об этом почему-то нигде, кроме официального сайта нет.
Почему он так важен? Если вы читали про Noolite раньше, то знаете, что силовые модули (то, что включает/выключает нагрузку) имеют только приемник сигналов, а передатчика нет. Это существенно ограничивало (лично для меня) применение такого оборудования в умном доме. Производитель решил проблему костылем оригинальным решением — выпустили отдельный приемник сигналов от самих передатчиков (радиовыключателей). Единственная проблема этого девайса — очень маленький радиус приема. Возможно тут накладывает свои ограничения сам радиовыключатель, т.к. у него достаточно слабая антенна, да и ставились они как правило на места бывших выключателей (чтобы скрыть дыры в стенах :)) — возможно, какие-то наводки.
Собственно, вот один из моментов процесса установки, взамен старого выключателя:
Как можно видеть, старые силовые провода закорачиваются в клеммнике, сверху ставится сам радиовыключатель.
Силовой блок в объектив телефона по каким-то причинам не попал 🙂 Результат его подключения:
Силовой блок в состоянии выключенной нагрузки приятно светит зеленым светодиодом. Ночью получается этакий дежурный свет.
Привязывается и отвязывается все очень просто и быстро, инструкция очень подробная и понятная. Единственное что не понравилось — это софт, идущий в коробке. Он явно написан на коленке, без всяких изысков и иногда плюется ошибками. Но мне он и не нужен — использовался только один раз, чтобы удостовериться в корректной работе купленных девайсов, почле чего был безжалостно выпилен.
Теперь можно поговорить об умной части дома. Железки — это хорошо и интересно, но должна быть и практическая часть. Расскажу пример своего утра.
Если сегодня не выходные и не праздники, то в 6.00 начинает разгораться ночник, установленный с моей стороны кровати — световой будильник.
Около 6.45 терминал умного дома (планшет на Андроиде, висящий рядом с кроватью) получает команду от головного сервера на включение будильника (да, я понимаю, что можно было бы просто включить будильник на планшете :)) — проигрывается приятный шум утреннего леса, под который я и продолжаю просыпаться.
Одновременно с этим включается свет в коридоре, на кухне, в ванной и туалете.
Когда я наконец выползаю в коридор датчики присутствия определяют мою сонную тушку и синтезированный голос гугло-женщины приветствует меня. Одновременно с этим умный дом открывает клапаны на подачу воды (есть у меня такая фобия — залить соседей).
После всяких туалетных процедур я заползаю в душ. Датчик присутствия в ванной определят что я уже тут и местный терминал спрашивает, хочу ли я узнать последние новости. Тут я волен ответить да или нет (принимаются видоизменненые ответы) — работает распознавание голоса от того же Гугла + нейронные сети Wit.AI.
(К слову сказать, пока голосовое общение в процессе разработки — говорить нужно четко и громко, принимается речь не всегда с первого раза, да и распознавание и реакция системы занимает некоторое время (от 2 до 5 секунд в среднем))
Дальше я выхожу из ванной, сам себе включаю чайник и наливаю чай (ага, недоработка :)). Если я задерживаюсь и система видит меня своими датчиками (присутствия + датчик на входной двери не отработал) — меня подгоняют голосовыми сообщениями.
Ухожу, закрываю дверь — свет везде автоматически выключается.
Это конкретно мой пример. Тут возможны нюансы — встанет жена, у меня отпуск и т.д. Но в целом сценарий для меня подходит в 90% случаев.
Немного о софте. Сама система умного дома реализована из трех компонентов. Это ядро системы, которое, собственно, всем и управляет. Веб-интерфейс на Play Framework 1.2.7, на котором в будущем будет реализовано челвеко-дружелюбное управление системами умного дома. И андроид-приложение, которое служит терминалом умного дома.
Софт опубликован на Github’e, конкретная реализация вышеописанного в нем пока отсутствует, т.к. много страшного кода, который я привожу в порядок, но в общем функции присутствуют.
Написана система на Java и на данный момент не имеет человеческо-удобного интерфейса, кроме как некоторое подобие REST’а. Сейчас система не готова для простого пользователя и находится в глобочайшей альфе. Некоторые функции, которые я использую у себя еще нет в общедоступном репозитарии, но это дело времени.
Основной целью данного топика является привлечение разработчиков-энтузиастов умного дома. Я этого не скрываю 🙂
Собственно, ссылка на репозитарий основного модуля (остальные лежат там же: github.com/Neuronix2/IRISv2)
Пожелания, конструктивная критика и вопросы приветствуются.
Умный дом (Самое начало) — ч.2 / Habr
Это продолжение статьи: Умный дом (Самое начало) — ч.1
В прошлой статье я писал о том что такое умный дом и с чего начать при его создании. Теперь я постараюсь описать техническую часть: железо и ПО. На всякий случай напомню дорогому читателю, что это не HOW to, а обзорный материал, потому конкретных решений и code-вставок для копипаста тут скорей всего не будет. Технологий и методов решения поставленной инженерной задачи очень много и описать все в моих статьях не получится.
Вся информация написана с упором на личный опыт, никаких «диванных» домыслов.
Теперь возвращаемся к теме.
Как говорилось ранее, ядро системы должно размещаться в каком-то изолированном от жильцов месте, а что, собственно, это ядро из себя представляет с аппаратной точки зрения? Конечно же сервер. Да-да, сервер, не Ардуино, не РазБери, не роутер с OpenWrt, а именно сервер. Почему? Потому что производительность, а ещё потому, что все Ардуины и пр. изделия созданы для того, чтобы обучать школьников/студентов программированию микроконтроллеров и работе с периферией. Эти устройства изначально не предназначены для развертывания полноценного готового и стабильно работающего решения. Точнее нет, развернуть-то можно, но на свой страх и риск. А вообще, если уж совсем грубо выразиться, то это конструктор для взрослых, типа как Lego Mindstorms, только чуть сложнее. Я ни в коем случае не имею ничего против этих устройств, просто у каждого свои задачи. Не знаю как кто, а лично я бы не доверил управления газовым котлом конструктору Lego.
Но под словом «сервер» я подразумеваю не стойку как в ДатаЦентре, набитую blade`ами, а какой-нибудь небольшой сервачок. Нам ведь нужно управлять домом, а не вычислять сворачиваемость белков, правда?
Сервером может быть небольшой mini-ITX компьютер с двухядерным процессором типа D525 и 2Гб оперативной памяти. Это решение обойдётся приблизительно в $200.
Это эдакое маленькое красивое решение. Если захотите развернуть на этом сервере media-хранилище, то можно воткнуть по USB внешний диск объёмом ~3Тб.
Если под сервер заложено денег по-больше, то можно взять HP microserver, типа вот такого:
www.citilink.ru/catalog/computers_and_notebooks/servers_and_net_equipments/servers/753329
у него есть потенциал для роста, но кого-то могут не устроить габариты.
Цена около $280 за стартовый комплект (двухядерный процессор, 2Гб оперативной памяти и один SATA диск на 250Гб)
Ставить что-то больше и мощнее особого смысла нет, т.к. этого железа хватит с головой.
По возможности ищите железо с USB 2.0 (ещё лучше: USB3).
Так же будет плюсом, если в качестве системного диска будет использоваться SSD-накопитель. Это даст хороший прирост к скорости загрузки ядра умного дома. Например ядро моего умного дома загружается (с SSD) не дольше загрузки обычного бытового Wi-Fi роутера — включил и пользуйся.
Для настройки сервера временно понадобится клавиатура и монитор (чтобы развернуть ОС, остальная настройка будет производиться удаленно).
Нельзя забывать и про сеть.
По возможность до всех стационарных сетевых устройств (компьютеры, медиаплееры, сетевые принтеры и камеры) лучше заранее проложить витую пару. Для коммутации лучше использовать коммутаторы (свитчи) с портами Gigabit Ethernet.
Для подключения к сети провайдера можно использовать любой роутер с Wi-Fi, но к его внутренним портам ничего кроме вышеописанного коммутатора/-ов лучше не подключать.
Вообще на Wi-Fi старайтесь не рассчитывать, особенно когда дело коснется передачи потока медиаданных (видео/звук) — могут быть задержки и провалы.
В общем, схема подключения должна быть приблизительно такая:
Шнурок, полученный от провайдера, вы подключаете к WAN-порту своего роутера, а к LAN порту подключаете свой коммутатор.
В свою очередь, к коммутатору Вы подключаете все остальные сетевые устройства.
Почему так? Чтобы исключить «падение» всей сети, если, например, Ваш не совсем удачно купленный роутер внезапно зависнет. В момент перезагрузки роутера все подключенные к нему устройства потеряют связь, и если вы смотрели на медиаплеере видео с сетевого хранилища, подключенного к роутеру, то просмотр, как Вы понимаете, прервётся. Приятного мало.
Если Ваш дом большой, то, возможно, для полного покрытия беспроводной сетью всего жилища понадобятся повторители сигнала. Не надейтесь, что Вы купите самый дорогой Wi-Fi роутер и он «пробьет все» ваши железобетонные перегородки. Лучше взять роутер «по-проще», и к нему пару/тройку повторителей.
Программное обеспечение
Я рекомендую на сервере разворачивать в качестве системной ОС Debian Linux без графической системы. Почему его, а не, скажем, Ubuntu? Ну, во-первых, Ubuntu в основном ставят те, кому нужна система X-window, а зачем нам на headless-сервере графика? Кто и что там будет разглядывать? А во-вторых, Ubuntu, по-сути, это и есть Debian, только со всякими свистелками/перделками, которые Вы доставить можете и сами (я на это надеюсь, т.к. без этих навыков самостоятельно разворачивать «Умный дом» не совсем правильно). Но если Вы привыкли к чему-то другому (например семейство RedHat, или Slackware), то делайте на том, что Вам ближе и понятнее. В конце-концов, Вам же всё это настраивать.
Из программного обеспечения я думаю правильно установить Samba (большинство бытовых плееров с сетью на борту с этим могут работать) и NFS (не игра Need For Speed, а Network File System). NFS Вам пригодится, если Вы дома используете MacOS или Linux на своих компьютерах/плеерах. Вроде даже говорят, что NFS меньше грузит процессор чем Samba, но лично мне кажется, что в масштабах дома едва ли получится создать большую нагрузку.
Если у Вас есть т.н. Smart-телевизоры, то возможно придётся разворачивать UPnP- и DNLA-серверы, т.к. большинство «умных телевизоров» не понимают ни Samba, ни NFS.
Для развёртывания связки DNLA/UPnP я рекомендую обратить свой взор на проект PMS (PlayStation3 Media Server), который когда-то вырос из медиасервера, развёрнутого на платформе взломанной игровой приставки PlayStation3. Проект разросся и мутировал в UMS (http://www.universalmediaserver.com/). Установка достаточно простая, лучше прочитать актуальную информацию по установке на сайте проекта.
Я проверял PMS и UMS с транскодингом — всё работало без нареканий. Даже при использовании в качестве медиаплеера приставки Xbox360 (у неё специфичный профиль работы с UPnP): всё работало.
Есть ещё один UPnP сервер: PlexMediaServer (https://plex.tv/), но, признаться честно, его работу с транскодингом на Xbox360 проверить не удалось, т.к. я к тому времени уже приставку продал. В целом Plex — очень мощный и функциональный, возможно даже некоторым он покажется избыточно функциональным, но на Smart-телевизорах работает и вроде никто не жалуется.
Сам я UPnP особо и не использую, т.к. телевизоры у меня старые, не Smart, и оснащены плеерами Dune, которые великолепно работают с хранилищем видео/музыки (по Samba), расположенным в ядре умного дома, но на всякий случай Plex всё же работает и всегда рад обслужить какого-нибудь android-клиента.
Если Вы любите качать видео с торрентов, то на ядро умного дома можно поставить Transmission — приложение для скачивания с torrent-трекеров. Transmission может работать без графической системы и управляться через web-интерфейс или с помощью Transmission-remote (приложение для удалённого управления закачками). Ставится с репозитариев linux-дистрибутивов
Кроме Media-компоненты кто-то наверняка захочет, чтобы умный дом что-то озвучивал голосом или принимал и обрабатывал голосовые команды. Например, Вы говорите: «Избушка, какая температура на улице?», а система отвечает Вам голосом Милляра: «Ух-ху-ху! На улице 25 градусов ниже нуля. Полезай ко мне в печку, погрей свои косточки».
Так вот, учитывая концепцию «Изолированного и самодостаточного умного дома» (про которую говорилось в первой части), всякие поделки на базе сервисов Google Voice или Yandex Voice API нужно отметать. Делайте систему по-нормальному, не по-голодрански. Я, конечно, понимаю, что жителям крупных регионов, трудно себе представить отсутствие интернета в доме, равно как трудно представить, что Google может быть недоступен, но… до августа 1945-го японцы тоже не могли себе представить, что всего одна бомба может уничтожить целый город.
Парни из Lizard Squad показали всему миру, что идеальных сервисов не существует: PlayStationNetwork компании Sony и сеть Microsoft из-за массированной DDos-атаки лежали 4 дня, а в некоторых регионах и на 5-й день наблюдали недоступность этих сервисов. Не исключено, что появятся какие-нибудь Blizzard Division и задосят Google/Yandex, потому доверять online-сервисам не нужно. Ну или если Вы на эти сервисы всё же рассчитываете, то проектируйте Ваш умный дом так, чтобы, в случае разрушения Глобальной Сети функционал Вашей системы не нарушился.
Что бы не происходило в мире, Ваш умный дом должен «… работать, работать, и работать» (из рекламы батареек).
Это же относится ко всяким сервисам типа Openremote или Fibaro: типа, сконфигурируй свой сервер с любой точки мира, а он подхватит все настройки и тут же заработает так, как надо тебе. Но как Вы будете настраивать тот же недешёвый Fibaro если сервис будет «лежать» под DDos целый месяц? Как Вы добавите на свой контроллер новый димер? Полезете настраивать его локально. Значит все эти сервисы Вам просто не нужны. Делайте своё, сразу и наверняка. Чтоб ни что не омрачило Вашу жизнь в среде Вашего прекрасного дома.
Теперь ещё одна часть умного дома, которая, возможно, будет Вам нужна:
Видеонаблюдение
Если Вы будете делать видеонаблюдение, то я рекомендую использовать не аналоговые камеры, а сетевые (IP-камеры) с питаем через Ethernet (PoE). Эти камеры дают хорошую картинку (нередко HD/FullHD) и с ними легче строить систему архивирования.
Кроме камер Вам может понадобиться NVR (Network Video Recorder) — это такая «коробочка», отвечающая за получение и сохранение изображения с камер.
В вопросе организации NVR как раз ещё одним плюсом будет, если Вы ядро своего умного дома построите на Linux-сервере. Весь функционал NVR можно развернуть прямо на нём. А вот если ядром является Ардуино, Расбери или подобные контроллеры, то функционал NVR они не потянут, потому что просто не хватит производительности.
У кого фантазии не хватило на то, чтобы придумать как это реализовать, то могу подсказать проект «Moment Video Server» (http://momentvideo.org/). Это не реклама.
Эти люди делают очень толковый и производительный видео-сервер, в т.ч. и с функцией NVR. Система условно-бесплатная и можно поставить на свой сервер версию, поддерживающую ограниченное количество устройств.
Установка простая:
Дёргаете установочный архив:
wget http://momentvideo.org/dist/moment_14-04-29_linux32.tar.gz
или
wget http://momentvideo.org/dist/moment_14-04-29_linux64.tar.gz
(если у Вас 64-разрядная ОС)Распаковываете:
tar -C /opt -xzf moment_14-04-29_linux32.tar.gz
В результате создастся директория: /opt/moment
Конфигурация производится правкой файла moment.conf
Подробнее о настройке читайте на сайте авторов: http://momentvideo.org/doc.ru.html
Запуск сервера осуществляется командой:
/opt/moment/bin/moment
По-умолчанию в браузере открываете h t t p: // ip-сервера: 8080/moment/
и увидите страничку сервера Moment.
Я с этой штукой поигрался и всё же построил что-то своё.
Если Вы хотите делать не NVR, а систему записи по движению, то камеры выбирайте такие, которые поддерживают MJPG (он же MotionJPEG), на них эта задача решается очень просто: установкой и правильной настройкой приложения «Motion» из репозитария linux-дистрибутивов.
Когда я строил свою систему видеонаблюдения, то ввел понятия «Оперативный архив» и «Долговременный архив».
В оперативном архиве лежат записи за текущий день — это удобно, если хочется быстренько глянуть «что там да как», а долговременный архив — это архив с категориями по годам, месяцам и дням. Долговременный архив синхронизируется с облаком глубокой ночью, а оперативный архив пишется на диск и в облако в реальном времени. Оперативный архив в облаке будет нужен, если злоумышленники проникнут в дом и кроме ценностей вынесут/разрушат ядро умного дома.
В кабинете оперуполномоченного Вы просто зайдёте в своё облако и просмотрите все записи камер до момента их отключения.
Ещё один вариант: скрытое сетевое хранилище, куда будет вестись синхронизация video-архивов. Самое главное, чтобы это хранилище было спрятано в надёжном тайнике, так, чтобы злоумышленники его не нашли.
UPS, конечно же, должен держать не только ядро умного дома, но и стему PoE ваших камер.
Вместо заключения
Всё описанное выше можно построить на двухядерном процессоре Atom с 4 Гигабайтами оперативной памяти, мало того, я это построил и использую в своём доме. Cделать ядро умного дома собственными руками, без использования решений с ограниченным функционалом. Самое важное: чёткий план, грамотно поставленная инженерная задача и прямые руки.
Вот теперь всё. На вой взгляд, для самого начала и для осознания приблизительных масштабов работы, этой информации должно хватить.
Возможно я вспомню что-то ещё, и если информации наберётся достаточно, то напишу следующую статью.
Спасибо всем за внимание.
С наступающими вас праздниками, уважаемые читатели! Счастья вам и вашим близким, мир вашему дому!
P.S. Очень-очень внимательно вычитывать текст времени не было, поэтому если будут вопиющие опечатки/описки — сообщайте и я поправлю.
«Умный дом» собственными руками / Habr
Представьте картину: вы входите домой, автоматически включается свет и приятный женский (мужской, впрочем — кому как) голос приветствует вас. Вы небрежно бросаете фразу в сторону микрофона: «Дом, включи мой компьютер». Через несколько секунд слышите привычный шелест кулеров своего родного железного коня.Фантастика? Под хабракатом я хочу поделиться своими успехами в построении подобной системы у себя дома.
Будущее — сейчас
Все мы когда-нибудь видели подобные картины в зарубежных фантастических фильмах и мечтали: «Когда-нибудь такое будет и у нас». Спешу вас обрадовать — подобие увиденного можно реализовать уже сейчас и без гигантских затрат.
Небольшой экскурс в том, что сейчас называют «умный дом». Вот что скажет нам википедия:
«У́мный дом (англ. digital home) — жилой автоматизированный дом современного типа, организованный для удобства проживания людей при помощи высокотехнологичных устройств. Под «умным домом» следует понимать систему, которая должна уметь распознавать конкретные ситуации, происходящие в здании, и соответствующим образом на них реагировать: одна из систем может управлять поведением других по заранее выработанным алгоритмам. Основной особенностью интеллектуального здания является объединение отдельных подсистем в единый управляемый комплекс.
Важной особенностью и свойством „Умного дома“ отличающим его от других способов организации жизненного пространства является то, что это наиболее прогрессивная концепция взаимодействия человека с жилым пространством, когда человек одной командой задает желаемую обстановку, а уже автоматика в соответствии с внешними и внутренними условиями задает и отслеживает режимы работы всех инженерных систем и электроприборов.
В этом случае исключается необходимость пользоваться несколькими пультами при просмотре ТВ, десятками выключателей при управлении освещением, отдельными блоками при управлении вентиляционными и отопительными системами, системами видеонаблюдения и сигнализации, воротами и прочим. В доме оборудованном системой „Умный дом“ достаточно одним нажатием на настенной клавише (или пульте ДУ, сенсорной панели и т. д.) выбрать один из сценариев. Дом сам настроит работу всех систем в соответствии с Вашим пожеланием, временем суток, Вашим положением в доме, погодой, внешней освещённостью и т. д. для обеспечения комфортного состояния внутри дома.»
В моем случае, я расскажу как организовать управление нагрузкой (розетки, лампы накаливания, etc) при помощи распознавания голосовых команд и озвучить все это неплохим русским голосом.
Технические подробности
1-wire
Для начала нам, конечно же, необходимо определиться с технологиями управления электропитанием устройств. На текущий момент таких имеется множество. Самая, пожалуй, простая, популярная и недорогая в реализации, это 1-wire от компании Maxim/Dallas. Технология 1-wire далеко не нова и известна уже около 10 лет. 1-wire широко применяется как в быту, так и в промышленных системах.
Преимущества 1-wire
- Простая и понятная архитектура сети
- Низкие требования к кабелям
- Большая протяженность линии
- Низкая стоимость и простота компонентов
- Открытый протокол и доступное ПО для программирования
- Возможность в определенных ситуациях обходиться без питания
Как известно, плюсов без минусов не бывает. Вот они:
- Низкая скорость передачи данных
- Обязательное наличие мастера, ведущего сети
Видно, что плюсов технологии гораздо больше, чем минусов. Остановимся подробнее на обязательном требовании к наличию мастера сети.
Дело все в том, что устройства с точки зрения организации обмена данными пассивные элементы цепи. Компоненты 1-wire не могут без специального запроса посылать в сеть данные. Таким образом устройства не могут общаться друг с другом без «активного» ведущего. Элементы сети являются всегда ведомыми. Мастер в сети 1-wire только один. Именно он инициирует, контролирует и управляет работой сети и подключенных к сети устройств. В зависимости от используемого программного обеспечения, мастер 1-wire линии может по-разному работать со своими подопечными, но только он в конечном итоге может опросить состояние конкретного элемента, а также послать запроса на получение от этого элемента какой-либо информации. Например, если нам необходимо в режиме реального времени выводить значение температуры с множества датчиков, то мастер сети в цикле будет по очереди опрашивать эти датчики. Отвечать мастеру по сети может только одно устройство. В качестве мастера может выступать МК (микроконтроллер), который может при соответствующем ПО напрямую включаться в сеть 1-wire к одному из своих портов ввода-вывода. Мастером может выступать также ПК (персональный компьютер), использующий специальные элементы сопряжения, позволяющие соединять 1-wire с COM-портом или USB-портом компьютера, такие как DS9097 или DS9490.
Собственно, работа ПК в качестве контроллера нас и интересует. Специальный элемент сопряжения выглядит примерно так:
Как видно, это небольшой переходник, имеющий с одной стороны USB, с другой — разъем RJ-11 для подключения элементов сети 1-wire (элементы 1-wire мы можем вешать на стандартный телефонный кабель — дешево и сердито).
X10
Другая технология под названием Х10 использует для передачи данных метод частотного уплотнения в обычной электросети квартиры.
Плюсы:
- Легка в установке
- Никаких дополнительных проводов в квартире
- Распространенный стандарт, много исполнительных элементов
- Относительно низкая стоимость и простота компонентов
- Не требует дополнительного электропитания
Минусы:
- Медленная передача данных
- Большинство элементов не поддерживает команду статуса (т.е. не узнать текущее состояние устройства)
- Дороже чем 1-wire
Х10 подойдет ленивым и тем, кто не желает по каким-то причинам тянуть дополнительные кабеля. Я попал в ту и другую категорию, поэтому мой выбор остановился на Х10 =)
Будем считать, что с технологией управления электропитанием мы определились.
Едем дальше — видеонаблюдение
Ведь хочется иногда посмотреть, что творится дома, пока вы на работе, в отпуске, на даче, etc? У меня есть домашние питомцы и при длительном отсутствии хочется посмотреть на них и даже поговорить. Цели могут быть разными. Что нам для этого потребуется?
В первую очередь — компьютер. Он будет ядром, головой нашей системы «умный дом». Именно к нему мы подключим управление электропитанием наших домашних устройств посредством мастера сети 1-wire или Х10, к нему же мы подключим и камеры видеонаблюдения. В моем случае, я выбрал обычные простые web-камеры среднего качества. Подключаться все будет через USB. Ограничение на длину кабеля в 5 м, обходилось мной в виде покупки длинных активных USB кабелей, где возможно, и связкой кабелей через USB-хабы с внешним питанием (возможно, кто-то предложит другое решение — буду рад услышать). У меня вышло в итоге 4 веб-камеры для всех помещений квартиры.
Учим компьютер понимать нас и разговаривать
Для меня «умный дом» в первую очередь — это интерактивность. Для этого мы его научим разговаривать и понимать в свою очередь нас.
Мои исследования показали, что достойный уровень распознавания речи в данный момент может дать только Google. Я думаю, все знакомы с его замечательным голосовым поиском и переводчиком, которые могут здорово упростить жизнь владельцу мобильного устройства. Народные умельцы вычислили, что, куда и как надо отправить, чтобы получить из звукового файла текст.
То же самое и с синтезом — я не стал сильно заморачиваться и воспользовался тем же Google. На мой взгляд, синтезированная речь на достаточно неплохом уровне.
Объединяем
Самым удобным интерфейсом управления умным домом и связкой ПО я счел веб-интерфейс. Координированием работы ПО будет заниматься специально написанный демон на perl
Подводим итоги
В этой небольшой статье я рассмотрел минимально необходимые, с моей точки зрения, компоненты нашего «умного дома». Тут нет технической реализации — только краткий теоретический обзор. В следующих статьях я по-шагово опишу каждый компонент системы, его техническую и программную реализацию.
Используемые материалы
upd: Часть 2. Видеонаблюдение
Умный дом — общая архитектура системы / Habr
Когда я наконец решил рассказать хабру о моем умном доме — он был уже готов, и я не знал как рассказать так много, а самое главное — с чего начать. В предыдущем посте рассказывал о комнатных контроллерах, но, без общего представления какую роль эта штука играет в доме и зачем оно вообще надо — все это кажется, мягко говоря, оторванным от контекста.Лучше поздно, чем никогда. Я наконец понял свою ошибку, и теперь начну с того, с чего обычно начинаются все книги — с оглавления.
Структурное представление умного дома:
Итак, про что тут можно рассказать:
- Полупроводниковые ключи
- Подсистема контроля протечек
- Сенсорные кнопки
- Драйвер шагового двигателя
- Комнатный контроллер
- Контроллер шины
- Приложение для Android
- Виджеты для Android
- Серверная часть на Qt
- Скриптовый язык написания алгоритмов работы умного дома, система CELAC (Condition — Event — Link — Action — Command). Можно назвать наоборот — но название CALEC мне понравилось меньше.
- Web-сервер на Node.js
- Сам Web-интерфейс
Отдельно можно выделить:
- Подсистема дверного замка (контроллер, считыватель, питание)
- Как организовано питание умного дома в целом
В качестве датчиков температуры и влажности использую DHT11, датчики движения — Фотон-9.
Напоследок пара фотографий начинки комнат:
Прихожая:
В черной коробке с зеленым диодом (за аккумулятором) контроллер замка и система автоподзарядки аккумулятора.
В корпусе Dlinkовского свитча — мой комнатный контроллер, втыкается в шину (розетка шины справа внизу), входы/выходы выведены разъемом DB25 на клемники слева, чтобы можно было легко и быстро заменить контроллер, если что.
Слева внизу болтается датчик температуры и влажности DHT11.
На соплях в центре фотографии можно заметить полупроводниковый ключ, которым управляется свет.
Туалет:
Тут тот же самый комнатный контроллер, плюс датчик протечки (прямо за контроллером), справа от аккумулятора плата его автоподзарядки, слева хитрая система противовесов, перекрывающая воду.
Клемника комнатного контроллера тут не видно, его закрывает стенка.