Пользователь
0,0
рейтинг
4 октября 2011 в 19:06

«Умный дом» собственными руками из песочницы

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

Фантастика? Под хабракатом я хочу поделиться своими успехами в построении подобной системы у себя дома.

Будущее — сейчас


Все мы когда-нибудь видели подобные картины в зарубежных фантастических фильмах и мечтали: «Когда-нибудь такое будет и у нас». Спешу вас обрадовать — подобие увиденного можно реализовать уже сейчас и без гигантских затрат.

Небольшой экскурс в том, что сейчас называют «умный дом». Вот что скажет нам википедия:

«У́мный дом (англ. 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.

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

image

Как видно, это небольшой переходник, имеющий с одной стороны 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. Видеонаблюдение
Николай Вигуро @Neuronix
карма
22,7
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (47)

  • +20
    >Представьте картину: вы входите домой, автоматически включается свет и приятный женский (мужской, >впрочем — кому как) голос приветствует вас. Вы небрежно бросаете фразу в сторону микрофона: «Дом, включи >мой компьютер». Через несколько секунд слышите привычный шелест кулеров своего родного железного коня.
    Я прихожу и говорю:
    — Ань, включи свет и запусти машину, что сегодня на ужин, мммм… вкусно пахнет. Вот 500 р тебе на завтра, купи поесть и купи проездов на метро…
    А ведь это все лишь Аня в обычном доме :)
    • +2
      Я думаю, у многих есть такие «Ани» дома. У меня в том числе ;)
      Но хочется приблизить то самое будущее. А если это хоть капельку возможно, то почему бы и нет? ;)
    • +20
      Как всегда надо считать стоимость владения. Любая «Аня» выйдет дороже и будут проблемы с апргейдом. И да, никто не упоминает, но срок работы у «Ани» тоже не большой — спустя несколько лет будут отказы в работе и прочие капризы.
      • +19
        Зато сколько недокументированных функций! ;)
        • +30
          -Ань, сделай мне сэндвич.
          -Сам пойди и сделай.
          -sudo сделай мне сэндвич.
          -что? э… ладно.
          • +3
            Теперь я понял, как появилась команда «sudo !!»
            • +8
              я только перевел и добавил чуть :D
              image
              • 0
                Те, кто знаком с xkcd, знают, что схематичными человечками без волос там изображаются мужики, а все человечки-девушки там с волосами. Поэтому никакая это не Аня в комиксе про sudo.
                • 0
                  Что всего лишь ещё раз доказывает что sudo подчиняются все. :)
                • +1
                  о Господи. я вспомнил эту картинку, написал этот диалог в тему шуток здесь в комментариях. а потом выложил оригинал, чтобы такие знатоки каких-то схематических изображений человечков не говорили «присвоил себе авторство».
            • –1
              Ух ты, не знал про "!!", спасибо.
    • +5
      Интересно Аня прочитала этот комментарий, или ей это не позволяется? :)
    • +1
      Ну и что :) как не крути а автоматизированный полив цветов, закрытие открытие жалюзей, поддержание температуры и влажности и т.д. и т.п. множество адаптивных действий зависящих от условий и требующих постоянного контроля. Всё это рутина которую должна выполнять автоматика.
  • 0
    Очень интересно посмотреть на конкретную реализацию. Сам посматриваю на 1-wire.
    Самому мне интересно не столько всякие такие совсем простые вещи автоматизировать, а осуществлять контроль за вещами, о которых я сам могу забывать. Ну и собирать данные со счетчиков электроэнергии, воды, газа.
    • 0
      В теории, к обработке видео можно подключить нейронные сети (FANN, например) и умный дом будет напоминать тебе о горе посуды в раковине на кухне :) Впрочем, забегаю вперед — расскажу об этом в следующих статьях.
  • 0
    А не подскажете, где можно почитать статьи о 1-wire? По возможности для чайников. Сам читал небольшую статью в журнале chip, году так в 2007, но хочется более свежей и подробной информации.
    • 0
      Можно почитать на сайте, ссылку на который я указал в конце топика. Там вообще много полезной инфы.
  • +3
    Спасибо за статью. Меня в области умных домов всегда напрягает красивая теория, не менее красивые картинки счастливых людей, командующих голосом из кресла своим домом… и безумное количество денег и сил, необходимых для построения весьма базовой и в 100 раз менее привлекательной системы в реале. А всякие видеонаблюдения, сигнализации, крутые пульты и т.п. требуют еще больших мешков денег, плюс оказывается, что таким трудом собранная предыдущая система не совместима по протоколам. Или не подходит для многофазового питания. Или надо менять всю электрическую инфраструктуру (как мне совершенно обыденно заявил один умный домовой продавец). В итоге купленная за $10 лампочка с датчиком движения или реагирующая на возглас «Слава Мао Цзэдуну!» прекрасно делает 80% всей необходимой «умной» работы. У вас не создалось такого впечатления?
    • 0
      Системы из коробки весьма дороги, да и рассчитаны на сегмент людей весьма не бедных. В моих же изысканиях меня интересовало в первую очередь возможность расширения, гибкость и минимальная стоимость решения. Но по моей ленивой природе пришлось разориться на Х10 модули (дороже 1-wire где-то на 20-30%). Кто же не боится паяльника и есть куда спрятать проводку, я бы порекомендовал использовать 1-wire. Дешево и сердито :)
      • +3
        Изыскания — это понятно, я же интересовался практической стороной. Даже с X10 надо прилично трахаться, причем совершенно очевидно, что это — тупик, и по-настоящему умного дома с его помощью не построить. Выхлоп «дом, включи компьютер!» достаточно смешон в свете затрат на него. А как хобби, да, хобби — штука иррациональная :).
  • +5
    Под хабракатом я хочу поделиться своими успехами в построении подобной системы у себя дома.


    и никакой конкретики в статье. или у вас нет успехов кроме теоретической основы?
    • 0
      Есть, но я хочу расписать каждый узел и каждую подсистему. В одном топике это получилось бы очень длинно.
      • +4
        По моему скромному опыту, к сожалению, дальше первого «обзорного» топика мало кто идет.
  • +1
    Между 1-wire и x10 обычно выбирают примерно так: новый дом или капитальный ремонт — 1-wire, иначе x10
    И к стати CAN
    Но есть еще RC-5 и insteon. Еще S10, но какой-то он загадочный.
  • +8
    То, что 1-wire позволяет тянуть длинные линии связи — миф. Да, в стандарте говорится «до 300 метров», но это скорее в лабораторных условиях, а на практике смело уменьшайте предельную длину вдвое, а то и вчетверо. Расскажу почему:
    1) Устройства 1-wire питаются от той же линии, по которой передают данные. Тонкий длинный провод + много устройств на нем + закон Ома => питающее напряжение падает, устройства работают нестабильно. Для шины протяженностью больше десятка метров настоятельно рекомендуется отказаться от фантомного питания и вести +5 вольт отдельным проводом.
    2) 1-wire — несимметричная линия, а значит, сильно подвержена помехам. С этой точки зрения гораздо лучше себя ведут RS-485 или CAN.
    3) Единица отличается от нуля только длительностью импульса. Длинный кабель, ведущий себя как RC-фильтр, будет размазывать импульсы, нарушая работу сети. В какой-то степени проблему решает ведущее устройство с т.н. активной подтяжкой линии (то есть высокий уровень задается не резистором, а транзисторным ключом).
    4) Сеть 1-wire большой длины чувствительна к топологии. Идеальный вариант — единая шина, на которой «сидят» все устройства, ведущее — на конце. Дерево, и, тем более, звезда работают хуже из-за переотражения сигнала. При большом числе устройств рекомендуется делить сеть на сегменты при помощи управляемых ветвителей.
    Немного информации к размышлению — здесь.
  • 0
    Сам недавно заинтересовался голосовым управлением телевизором.
    Но как раз столкнулся с проблемой распознавания голоса.
    Рассматривал вариант с гуглом, но для полноценного управления надо что бы запись в комнате шла 24 часа и как то не очень хочется все свои разговоры посылать на сервер корпорации добра.
    Так же рассматривал вариант с simon но к сожалению не разобрался/очень сырая.
    sphinx 4 — вроде бы что то рабочее, но нуждается в обучении, но я так до конца и не разобрался в нем.
    Как вы решили проблему с управлением голосом?
  • 0
    Очень интересно. Жаль, что не всегда ресурсы, от которых будет зависеть система, работают безотказно. Я имею ввиду электроэнергию, соединение с интернетом (я из РБ =)). Да и соединения лучше делать беспроводными. Скажем, захочется мне по команде врубать кофеварку или тостер, которые мне однажды захочется переставить или еще что-нибудь — не таскать же за ними провода :) Хотя здесь, конечно, можно и хитростями воспользоваться — беспроводным звонком, например)
    • 0
      Грамотно спроектированная система не должна терять основной функциональности, даже распадаясь на отдельные компоненты. То есть кофеварка должна быть способна варить кофе и без интернета, и без подключения к «центральному мозгу» умного дома.
      Отключение электричества — уже более серьезная проблема, но тут все равны: и обычный утюг, и интеллектуальная система. У последней даже преимущество в виде возможности подключить ИБП (или дизель — для желающих) и назначить устройствам приоритеты в получении аварийного питания.
      Система на беспроводных звонках — квадратноколесный велосипед. Стандартом в бытовых беспроводных интерфейсах считается ZigBee, но оборудование пока дорогое. X10, фактически, тоже дает свободу перемещения: в какую хочешь розетку воткни — будет работать.
      • 0
        Грамотно спроектированная система не должна терять основной функциональности, даже распадаясь на отдельные компоненты.


        +1. Но здесь имелось ввиду голосовое управление, которое автор, скажем так, «теоретически реализовал» на основе гугловского движка. В оффлайне все устройства непременно должны работать.

        Стандартом в бытовых беспроводных интерфейсах считается ZigBee


        Записал, спасибо :)
        • –1
          Да, гуглодвижок для распознавания голоса — это по меньшей мере странно. Но автор и сам признается, что так сделано «не от хорошей жизни», оффлайновые распознавалки якобы не устраивают по качеству.
          <telepatmode> A может, просто микрофоны плохие? </telepatmode>
    • +1
      Так проблема надежности и живучести — это основная проблема и сложность систем управления, в т.ч. и «умного дома». Любой школьник может забабахать «систему», где «приятный женский (мужской, впрочем — кому как) голос приветствует вас», которая поработает два дня, упадет, и больше не поднимется, потому что лень 20 раз кликать, чтоб вижуал бейсик под виндй запустить. Хуже то, что даже покупаю готовое решение, не можешь быть уверен в его надежности. И еще хуже то, что покупая дорогое решение, все так же не можешь быть уверен, ну если это только не очень дорогое, где к умному дому прилагаются умные дяди, которые мониторят ваш умный дом (да, порнуху в инет сливают) и через 5 минут сами приедут, если что поломается.

      Поэтому да, в таких статьях про «умный дом» хотелось бы читать не про 1-wire, а про то, как бороли и побороли его глюки.
  • 0
    Интересно, в какой ад можно превратить «Умный дом», перехватив управление?
    Типа «сварливая жена + теща, решившая погостить неделю». Ну и рассудительный унитаз, само собой.
    «Он одел шляпу...» — из Шекли, кажется.

    Я понимаю, что отдельные монстры общества потребления готовы за это платить. Но как то не хочется в таком мире жить. На большой макдональдс похоже. Контекстная реклама будет знать, что у тебя закончилось пиво или зубная паста. Эдакий универсальный драйвер к девайсам потребления.
    • +2
      Представляю заголовки новостей:
      «В интернет утекли записи с камер внутреннего наблюдения 14000 пользователей»
      «Хакер убил человека голодом, заблокировав холодильник»
      «Ведется расследование по делу о „туалетных спамерах“»

      Если серьезно, в системе обязательно должна быть Большая Красная Кнопка, разом превращающая «умный дом» в «глупый».
    • 0
      В крайнем случае — без этого точно можно жить :)

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

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

      Хотя можно использовать разного рода таймеры, или GSM, к примеру. Короче выкрутиться, думаю, можно, если захотеть :)
  • 0
    Один я вспомнил сериал «Eureka»? =)
    • 0
      А я начал баш перечитывать.
      Так процентов 20 цитат под пост подходят и даже новыми смыслами обрастают :)
      Типа «опять сборная кухни по чашкам переехала к моему компу»
  • 0
    спасибо за ссылку в конце. автор — трудолюбивый гений!
  • 0
    Тоже заинтересован идеей передачи 1-wire в Интернет для последующего анализа и контроля на вебсервере БЕЗ участия ПК для передачи данных. Ранее уже писал на Хабре по данной теме и буду рад единомышленникам:

    Народный мониторинг температуры (vs прогноз) в различных городах.
    Google PowerMeter в России. Продаются или кто-нибудь мог бы реализовать подобное в DIY
    Current Cost EnviR — мониторинг потребления электроэнергии

    А также не откажусь от помощи в разработке устр-в для данной тематике, например по данному краткому описанию: разработка eth-термометра.
  • 0
    Кроме X10 и 1-Wire какие есть еще аналогичные технологии?
    Спасибо.
  • 0
    Х10 раньше продавали в чипидип. После того, как они там пропали, цены взлетели примерно в 2 раза. В Роиссе их реально достать? Откуда сейчас народ Х10 таскает? Купил в свое время стартовый набор Х10, довольно забавно. А расширить его сейчас нечем:(
    • 0
      Посмотрел цены на этот стартер-кит. В бельгийском (откуда и родом x10) интернет-лабазе он стоит 350 евро-тугриков. При этом в него входит:
      Set contents:
      1 x Professional Home Automation Software HomeSeer V2.0
      1 x Computer Interface CM15
      1 x Universal A/V Remote EasyControl8
      2 x Plug-in Lamp Modules LM12
      1 x Plug-in Appliance Module AM12
      1 x Socket Rocket Lamp Module LM15

      Как мне кажется — несколько дороговато за патрон для лампы, пульт ДУ, адаптер к компьютеру и 3 розетки.
      Конечно надо учитывать, что x10 — «для домохозяек», воткнул и работает. С 1-wire надо самому паять, программировать и т.д., т.к. запчасти продаются в основном россыпью. Но разница в ценах…

      P.s. Погуглил еще немного — стартер китом называют все что угодно, начиная от пульта и 1 розетки и заканчивая самыми разными наборами выключателей/розеток/диммеров.
      Какой у вас?
      • 0
        У меня два кита. Все вместе стоило 4500рублей несколько лет назад. В комплекте примерно следующее:
        пульт, управляет по ИК техникой в доме и по радио устройствами Х10
        розетка с антенной для этого пульта, передает сигналы с него в сеть и умеет включать/выключать прибор вставленный в него. Напирмер лампу. Я выключаю при помощи него самодельный усилок.
        три проставки в розетку, которые позволяют плавно регулировать лампу, а так же включать-выключать
        один часы-таймер, позволяет с него управлять стройствами и задавать программу автоматического включения-выключения
        фирма-производитель marmitec
  • 0
    по поводу камер, хочется сделать замечание
    Чем проталкивать большое кол-во сегментов usb-проводов, с usb-хабами, разумнее будть выбрать одну вращающуюся камеру купольного типа на комнату, напр AVTECH KPC132ZDP (
  • 0
    Кстати, вопрос возник, а нафига в тегах 1-wire, если про него в статье написано только то, что и в википедии прочитать можно?
  • –2
    Home Sapiens
  • 0
    Осталось только сделать робота, который будет понимать человеческие команды на русском языке.

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