8-900-374-94-44
[email protected]
Slide Image
Меню

Habrahabr умный дом – Умный дом (Самое начало) — ч.1 / Habr

Умный дом (Самое начало) — ч.1 / Habr

Тема «Умный дом» уже у всех на слуху. Про неё говорят, в неё вкладывают, её развивают… По этой теме к таким гигантам как Siemens, General Electric и др. присоединились, казалось бы, не совсем профильные компании, такие как Microsoft, Google, Apple.

Единого стандарта по теме нет, равно как нет инструкции, мол, «делай так и вот так», поэтому теоретически построить свой умный дом может каждый и именно так, как ему захочется и потому эту тему я не смог пропустить и активно к ней подключился. Не скажу, что с умными домами я собаку съел… нет, скорее так, понадкусывал, но тем не менее, на основе свое опыта и своих наблюдений попробую выложить развёрнутый… ммм… How-To? Нет, не потянет. Обзор? Тоже не то… Скорее это будет напутствие или некий набор советов.

Театр начинается с вешалки, а я начну с того, что сразу расставлю все точки над «И», чтобы у читателей не возникало в процессе чтения необоснованного негатива или просто какого-то недопонимания.

Самое главное — это то, что статья рассчитана на людей, которые толком ещё не поняли, нужен ли им вообще этот самый «Умный дом» и нужно ли влезать в эту тему?

Теперь термин.
Будем честны, «Умный дом» — это не только такая система с искусственным интеллектом, которая разговаривает с Вами по утрам в ванной (пока вы бреетесь) и готовит Вам ужин пока вы едете домой. Не нужно путать систему с женой.

Умный дом — это любая система автоматизации/автоматики (или комплекс систем автоматизации/автоматики), которая хоть как-то, хоть на мельчайшую долю, но облегчает Ваш быт. Не важно что это: автоматическое выключение света в туалете после выхода оттуда человека и закрытия двери, или система, которая сама поливает домашние цветы, кормит любимую кошку и перекрывает протекающую трубу водоснабжения, если вы задержались на работе допоздна. Если в Вашем доме что-то срабатывает на основе какого-то алгоритма, значит это уже можно назвать системой «Умный дом», только с ограниченным функционалом.

Так же «Умный дом» — это не только особняк, напичканный электроникой, но и квартира, в которой работает Ваша система автоматизации и/или управления, т.е. «Умная квартира» — это тоже «Умный дом» и дальше по тексту мы будем пользоваться именно этим термином.

Вообще излишнее занудство человеку ни к чему, а вдаваться в полемику по вопросу насколько умным оказался «Умный дом», который сделал студент Коля — я считаю, неуважение труда того самого Коли. Он это сделал? Оно работает и чем-то управляет? Великолепно, молодец! Пусть дальше растёт над собой.

Возвращаемся к теме.

Мы хотим построить наш «Умный дом», с чего начать? С покупки, строительства? Нет, в этом деле, как и во всех инженерных задачах, начинать нужно с бумаги, а точнее — с проекта. Будет ли это жеванная бумажка с понятными только Вам схемами и чертежами или это будет что-то нарисованное в *CAD… главное, чтобы было понятно хотя бы Вам что же там изображено.

Не бойтесь описывать «далёкие планы», записывайте и продумывайте всё, даже то, что сможете сделать в очень далёкой перспективе. Лучше всё продумать сейчас ибо потом будет уже поздно. Это опыт оплаченный кровью многих инженеров, наступивших на многочисленные грабли.

На что следует обратить внимание?

1. Пользователи

Подумайте, как с вводимой вами системой будут обращаться пользователи, т.е. жильцы Вашего дома или члены Вашей семьи. Смогут ли этим пользоваться не подкованные в техническом плане люди (старики, дети или жена — не важно кто именно). Сценарий типа: «Дорогая, свет в туалете сейчас включиться, сейчас я только прошивку в Ардуину долью.» не подходит. Представьте, что Вы сдаёте свою систему богатому «быдловатому» бандиту, который видя Ваши выключатели со светодиодной подсветкой скажет Вам: «Эта… слыш, а чо эта за хрень? Куда тут чо жать?«. То, что очевидно Вам может быть абсолютно не понятно остальным.

2. Технология

Проводная или беспроводная. Если проводная, значит нужно строить планы прокладки всех необходимых кабелей (и лучше с большим запасом). Где штробить стены, где размещать розетки и элементы автоматизации — всё должно быть на схеме. Если система беспроводная, то продумайте где будут стоять передатчики/приёмники, где будут размещены повторители сигналов.
Сейчас Вы это помните, через месяц, когда информации будет очень много, в голове будет каша и что-то будет забываться.

3. Исполнитель

Кто будет всё это делать? Вы сами или нанятая специализирующаяся по теме фирма? Самостоятельно будет дешевле, но потребуется от Вас глубокого погружения в вопрос. Мы всё же будем полагаться на самостоятельное развёртывание, ведь категория статьи «Сделай сам», не так ли?

4. Автономность

Продумывая функционал и возможности умного дома всегда рассчитывайте на то, что в доме не будет Интернета. Конечно, многие умные дядьки возразят мне, мол, нужно продумывать возможность сопряжения с чем-то во внешнем мире… продумывайте, закладывайте, ни кто не спорит, но Ваш умный дом должен работать исправно в режиме полной автономности/изоляции. Человеку, живущему в мегаполисе, возможно будет трудно понять, как так, чтоб совсем не было Интернета… GPRS, ADSL, хоть что-то же должно быть резервное? Нет, нет и ещё раз нет! Ничего может и не быть, но работать должно

всё.

Вот пример:
Вы соорудили забавную систему: говорите «Нафаня, включи мультиварку/свет в туалете» и система выключает мультиварку или свет в туалете, попутно произнося «Включаю». Но вдруг из-за злобных хакеров Аль-Каеды сеть Вашего провайдера отвались, а за ней посыпалась и сеть Вашего мобильного оператора «Рупор», который обеспечивает Вас резервным LTE каналом. Естественно Google TTS, в основе которого и лежала Ваша система голосового управления, отвалился и умный дом в мгновение ока превратился в немого тупицу, который не может ничего включить. Сделайте возможность ручного управления, а ещё лучше, сделайте систему так, чтобы она могла, например, зачитывать вслух погоду без голосового сервиса Google. Сложно, но можно. Никто не говорил, что развернуть «Умный дом» — это как MS Office установить.

Второй пример:
Вы сделали управление умным домом через приложение на Android, но после описанной выше злобной атаки хакеров ваш смартфон не смог обратиться на облачный сервис и дать команду умному дому выключить забытый утюг. Напишите своё приложение, которое сможет работать удалённо через 2G-сеть мобильного оператора или по Wi-Fi, если вы находитесь в зоне покрытия Вашей домашней точки доступа.

5. Следующий момент, который нужно помнить при проектировании, вытекает из предыдущего: «Ядро» Вашей системы автоматизации.

В Вашем доме может быть роутер (ADSL, LTE или ещё какой), свитч или ещё какое-то сетевое коммутирующее устройство, но умным домом должно управлять «ядро» — отдельное и самостоятельное устройство. Ни в коем случае не объединяйте управление сетевым трафиком и управлением домом в одной железке. Сейчас много роутеров, на которые можно установить прошивки с миниатюрной копией Linux, а многие знакомящиеся с этой темой люди пытаются на такие роутеры навешать всё что в голову приходит. Лично я люблю такие роутеры, в которых можно подстроить более точно всё то, что мне нужно, но я не считаю верным установку средств управления на устройство, изначально не рассчитанное на это.

Ваш дом может остаться полностью без сети, но должна работать домашняя автоматизация или наоборот, домашняя автоматизация может «вылететь», но это не должно утянуть на дно и работу ЛВС (локальной сети).

6. Размещение ядра

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

Если у Вас есть подвал, то лучше Ваш «центр управления полётами» развернуть там.

7. Расходы

Возможно это нужно было вставить где-то ближе к началу, но если предыдущие пункты до конца не проработаны, то до расходов дело может и не дойти.
Самое главное что нужно знать, это то, что «Умный дом» — чертовски дорогая затея. Вы можете делать что-то самостоятельно (травить платы, программировать микроконтроллеры), но это только уменьшит Ваши расходы, а не исключит их совсем.
Следующее по важности, что в этом пункте нужно учесть — дубликация. Закупку всякого оборудования и исполнителей закладывайте в двойном размере и всегда округляйте в бОльшую сторону. В Вашем доме на каждого исполнителя (выключатели, датчики и т.п.) должен лежать в загашнике дублёр (если, конечно, обслуживанием Вашего дома не занимается сторонняя организация). Не рассчитывайте на то, что если что-то сломается, то Вы поедете в магазин и купите.

Пример:
Скакнуло напряжение. Защита хоть и сработала, но часть встроенных выключателей света сгорело, я Вы вчера заболели и лежите дома с температурой 39,2 градуса. Допустим, что Вы мужчина мужественный (вот ведь каламбур получился), и, наплевав на своё здоровье, решили подняться с постели и заменить все выключатели самостоятельно, но… чем? Дублёром.

Решили перед входом разместить камеру? Закупайте две. Прикинули, что по дому Вам нужно 12 «умных» выключателей? Закупайте 24. Думаете не бывает так, что вылетят сразу все 12? Бывает, к сожалению и самое первое, что у Вас должно быть продублировано — ядро системы.

Итог

Я описал ничтожно малую часть начала такого большого и интересного для большинства «технарей» проекта, как «Умный дом». Эта тема затрагивает почти все сферы в IT: сети, программирование, администрирование, автоматизация, электрика и электроника… и от этого она является темой сложной, требующей особого подхода. Это видно из того, что я написал выше, ну а если не видно, значит писатель во мне так и не созрел.

Запихать весь текст в одну статью никак не получится, я и так достаточно насокращал, потому будет, как минимум, ещё одна часть материала, которая, в принципе, будет содержать в себе советы/рекомендации по выбору программной и аппаратной части. Звучит немного странно, мол, такое разнообразие технологий, какие тут могут быть советы? Тем не менее, советы и рекомендации есть даже в такой ситуации.

Ссылка на вторую часть (когда она будет готова) вставлю в конце первой, чтобы было проще искать.

Спасибо всем за внимание, и тем, кто дочитал все это до конца.

Продолжение: Умный дом (Самое начало) — ч.2

habr.com

«Умный дом» — переосмысление / 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.com

Умный дом, начало / 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.com

Умный дом. Конкретная реализация / 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)

Пожелания, конструктивная критика и вопросы приветствуются.

habr.com

Умный дом, как я до такого докатился. Часть 2-я / Habr


В первой части я рассказал о причинах, побудивших меня заняться построением своего “умного дома”, и об используемом “железе”.
Но “железо”, само по себе, умным быть не может, главное это “софт”. Вот об этой стороне своего проекта я и хочу рассказать в этой части. Банальное управление освещением с пульта, конечно, выглядит круто в глазах непосвященной публики, но “ума” тут никакого.
Так что же такого умного можно сделать? И, главное, как?

Как я уже говорил ранее, к системе у меня подключено:
  • Все освещение квартиры
  • Теплый пол
  • Вентиляция
  • Видеонаблюдение
  • Климатические датчики
  • Датчики движения
  • Датчики открывания дверей и окон

Для начала приведу неполный список того, что умеет моя система (и примеры, для чего это используется):

  • Банальное управление всем, что подключено, с веба/смартфона/планшета 🙂
  • Мониторинг происходящего в квартире и вокруг из любой точки мира, где есть Интернет (так, мои дома, спят дневной сон, не буду пока звонить будить; сработала сигнализация на мотоцикле у подъезда — подключился к камере, убедился что все нормально и т. д.)
  • Включение освещения в коридоре когда кто-то пришел домой и при этом на улице темно, а дома никого не было
  • Отключение света во всей квартире и перевод теплого пола в экономичный режим когда никого нет
  • Управление освещением по расписанию (имитация присутствия)
  • Сценарное управление освещением одним касанием: погасить все (ребенок просыпается, а просыпаться не надо, 3 часа ночи, родители еще бродят ;)), погасить все кроме света в коридоре (выношу ребенка из ванной со словами, смотри все уже спят и тебе пора) и т. д.
  • Управление теплым полом по расписанию и температуре
  • Управление вентиляцией по расписанию и температуре
  • Отключение вентиляции при открытых окнах (для сохранения ресурса фильтров)
  • Управление видеозаписью по различным событиям (не закрытая на замок входная дверь, движение и т. д.)
  • Управляемые оповещения по событиям (кто-то пришел, все ушли, входная дверь не заперта 15 минут и т. д.)

Самой сложной задачей, на первый взгляд, казалось решение задачи: “Есть ли кто дома?”

Ведь если есть, но спят, то никакой датчик движения ничего не определит, а включать свет тогда при входе нежелательно, так же как отключать отопление. Долго я ломал над этим голову, начиная с вариантов подсчета входящих/выходящих и заканчивая определением всех перемещений по квартире (конечная точка — дверь, значит никого, кровать, значит спят).
Но как говориться, все гениальное — просто, обратил внимание на закономерность, вошедшую в привычку:

  • Если кто-то приходит домой, то всегда закрывает щеколду
  • Если кто-то уходит не последний, то закрывает один замок (что бы остальным было удобнее открывать
  • И только если все ушли, то закрываем все замки и при этом никак нельзя закрыть щеколду

Поставил датчики на все замки и вуаля, за полтора года ни одного ложного срабатывания, 100% определение присутствия дома кого-либо.

Архитектура системы
В системе есть следующие сущности:

  • Сенсор — то с чего можно считывать данные
  • Триггер — условие зависящее от сенсора или времени, управляющее контролами
  • Контрол — то чем можно управлять
  • Мессенджер — по сути тоже, что и контрол, только он посылает сообщение

Контрол (мессенджер) связан с несколькими триггерами, которые, в свою очередь, срабатывают по событиям от сенсоров.

Сенсоры делятся на пять групп:

  • Сенсор-значение: возвращает абсолютное значение, например температуру
  • Сенсор-ключ: возвращает время с последнего срабатывания и состояние, например датчик движения
  • Сенсор-команда: возвращает значение произвольной команды шелла linux, например температуру диска
  • Макросенсор: сочетание нескольких сенсоров, например, сенсор NOBODY_HOME определен как: min(abs(FRONTDOOR_KEY),
    -FRONTDOOR_LATCH_KEY,
    FRONTDOOR_LOCK_LOWER_KEY,
    FRONTDOOR_LOCK_UPPER_KEY)

    Что в переводе на русский язык значит: никого нет дома с того момента когда была закрыта дверь (FRONTDOOR_KEY), отрыта щеколда (FRONTDOOR_LATCH_KEY) и закрыты замки (FRONTDOOR_LOCK_LOWER_KEY, FRONTDOOR_LOCK_UPPER_KEY)
  • Сенсор-контрол: возвращает время с момента последнего изменения контрола и его состояние

Триггеры умеют делать следующее:

  • on — Включать контрол при наступлении условия
  • off — Выключать контрол при наступлении условия
  • switch on — включать при соблюдении условия и выключать при несоблюдении
  • switch off — выключать при соблюдении условия и включать при несоблюдении

Контролы делятся на три группы:

  • 1-wire контрол — вкл/выкл устройство по шине 1-wire
  • cmd контрол — выполнить команду шелла linux
  • Кастомный контрол — все что душе угодно, но надо лезть в код

Разберем эту схему на примере упрощенного варианта управления теплым полом.
К примеру, у нас есть следующие задачи:

  • Поддерживать температуру 34 градуса
  • Отключаться на ночь
  • Выключаться когда никого нет
  • Включаться когда кто-нибудь есть дома

Изобразим схему взаимодействия на диаграмме:

  • Trigger 1, означает, что когда температура падает ниже 34 пол нужно включить, иначе выключить
  • Trigger 2, означает, что с часу ночи, в течении 8 часов пол должен быть выключен
  • Trigger 3, означает, что с когда никого нет дома больше 1 секунды нужно пол выключить
  • Trigger 4, означает, что с когда кто-то есть дома больше 1 секунды нужно пол включить

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

Стороние проекты
Вся моя система написана на Python и крутится на сервере под управлением Ubuntu. В качестве БД используется MySQL. Для подключение к 1-wire используется библиотека owpython.
Но разумеется, писать все самому смысла нет, чаще легче взять готовые решения.

Для видеонаблюдения я не стал изобретать велосипедов и воспользовался OpenSource системой ZoneMinder, тем более, что она имеет весьма неплохой API позволяющий, к примеру, включать/выключать запись по нужным мне правилам. Или наоборот, повесить свою обработку событий при появлении движения в охраняемой зоне. Так же она может отдавать изображение с камеры.

Пользовательский интерфейс
У системы есть три основных интерфейса управления:

  • Классический (выключатели на стенах)
  • Нативное Android приложение
  • Вебинтерфейс

С точки зрения системы классический выключатель — это просто сенсор-ключ, который с помощью триггеров привязывается к любым контролам. При желании можно привязать, например, выключатель на кухне к свету в детской (чем я обычно занимаюсь на 1-е апреля)

Поскольку, во время написания Android приложения, я был увлечен сериалом Star Trek, то и тему оформления сделал под стиль терминалов из этой культовой ленты.
Терминал имеет главное окно, на котором отображается общее состояние системы:

Слева — общее состояние.
Посередине — план квартиры, с отображением состояния основных контролов и сенсоров
Вверху — общая для всего приложения информационная панель.
Справа — основные кнопки (выключить все, монитор уличных датчиков, настройки)

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

Так же в каждой комнате можно посмотреть различную информацию по датчикам, например, график температуры

Я не дизайнер и не верстальщик фронтендер поэтому вебинтерфейс у меня простой, корявый и минималистский.

Верхние блоки — мониторинг
Слева — управление контролами и триггерами
В центре — видеонаблюдение
Справа — справочная информация не связанная непосредственно с «умным домом».

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

UP:
Продолжение тут Умный дом, как я до такого докатился. Часть 3-я

habr.com

«Умный дом» собственными руками / 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.com

Умный дом — общая архитектура системы / Habr

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

Лучше поздно, чем никогда. Я наконец понял свою ошибку, и теперь начну с того, с чего обычно начинаются все книги — с оглавления.
Структурное представление умного дома:


Итак, про что тут можно рассказать:

  • Полупроводниковые ключи
  • Подсистема контроля протечек
  • Сенсорные кнопки
  • Драйвер шагового двигателя
  • Комнатный контроллер
  • Контроллер шины
  • Приложение для Android
  • Виджеты для Android
  • Серверная часть на Qt
  • Скриптовый язык написания алгоритмов работы умного дома, система CELAC (Condition — Event — Link — Action — Command). Можно назвать наоборот — но название CALEC мне понравилось меньше.
  • Web-сервер на Node.js
  • Сам Web-интерфейс

Отдельно можно выделить:
  • Подсистема дверного замка (контроллер, считыватель, питание)
  • Как организовано питание умного дома в целом

В качестве датчиков температуры и влажности использую DHT11, датчики движения — Фотон-9.
Напоследок пара фотографий начинки комнат:

Прихожая:

В черной коробке с зеленым диодом (за аккумулятором) контроллер замка и система автоподзарядки аккумулятора.
В корпусе Dlinkовского свитча — мой комнатный контроллер, втыкается в шину (розетка шины справа внизу), входы/выходы выведены разъемом DB25 на клемники слева, чтобы можно было легко и быстро заменить контроллер, если что.
Слева внизу болтается датчик температуры и влажности DHT11.
На соплях в центре фотографии можно заметить полупроводниковый ключ, которым управляется свет.

Туалет:

Тут тот же самый комнатный контроллер, плюс датчик протечки (прямо за контроллером), справа от аккумулятора плата его автоподзарядки, слева хитрая система противовесов, перекрывающая воду.
Клемника комнатного контроллера тут не видно, его закрывает стенка.

habr.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *