Жители квартир и домов тратят много времени на регулирование множества процессов в своем жилье: включение и выключение электроприборов и света, видеонаблюдение. Однако не все знают, что эти и другие процессы можно автоматизировать, управляя соответствующей техникой с обыкновенного настольного компьютера, который есть у каждого.
Управление домом с компьютера — идея логичная. А появилась она даже до начала массовых продаж в магазинах комплексов автоматизации. Таким образом, сконструировать «умный дом» своими руками теперь может каждый владелец жилья – компьютер в этой системе выступает ключевым узлом. Установить его можно непосредственно в комнате или в отдельном шкафу.
Пользовательский компьютер выполнит все «умные» функции, а сигнал с внешних датчиков проходит по стандартным каналам TCP/IP или USB. Удобство создания такого узла объясняется еще и тем, что больше половины производителей выпускают технику на основе проводного подключения, которая снабжена адаптерами (чтобы подключить ее к компьютеру или ноутбуку). Возможный вариант работы с аналоговыми или же цифровыми сигналами — модуль для вывода и ввода, подключающийся посредством USB. Возможности такого устройства недостаточны, а сама автоматика подойдет для сигналов, имеющих уровень 0—5 вольт. Чтобы преобразовать полученный сигнал, в таком комплексе используются формирователи и преобразователи.
Управление домом с компьютера
Преимущества и недостатки
Пользователям компьютеров умный дом на базе ПК кажется перспективной идеей по следующим причинам:
- доступность узла для интеллектуального управления. У владельцев домов дома присутствует хотя бы один компьютер, а при необходимости под эти цели покупается даже бюджетный нетбук;
- доступная стоимость модулей для ввода и вывода (сравнительно с устройствами, которые используются с промышленными контроллерами);
- у него нет ограничений по количеству подключенных приборов (в готовых комплектах обычно присутствует малое количество техники для контроля над светом и безопасностью, а контроллер не рассчитан на множество приборов). Собрав умный дом собственноручно, вы сможете настроить его на выполнение нужных для вас опций, а также удобный способ управления, будь то голосовые команды или смартфон;
- возможность составить сложный комплекс с широким набором функций.
Сердцем Умного дома выступает сервер — который собирает информацию от всех устройств и отдает им различные команды
Производители оборудования для Умного дома часто делают собственные сервера для своих устройств. Ключевой минус таких серверов — это невозможность подключить к ним оборудование других брендов.
Некоторые производители отказываются от производства сервера и предлагают пользователям вариант облачного сервера. Минус такого варианта — зависимость от интернета.
Системам Умного дома (MajorDoMo и другие), которые позволяют подключать оборудование разных брендов, необходим физический сервер.
Что важно?
На выбор сервера для Умного дома обычно влияет несколько факторов:
Сразу уберем из наших вариантов промышленные сервера — это как минимум дорого.
В целом в качестве сервера для Умного дома можно использовать любой компьютер на Windows или Linux.
Многие пользователи MajorDoMo (и других систем Умного дома) используют для своего Умного дома обычные:
- персональные компьютеры (PC)
- нетбуки
Основной плюс такого варианта — это можно использовать свой старый компьютер в качестве Умного дома. Системы для создания Умного дома обычно не требовательны к железу, поэтому запустятся на многих старых компьютерах и буду стабильно функционировать.
Мы и сами используем старые PC и нетбук на нескольких наших тестовых системах 🙂
Но если покупать новый PC специально в качестве сервера — получается все же дороговато.
Кроме того, большой минус использования PC/нетбука в качестве сервера — это размер.
Если у вас есть специальное техническое помещение где вы можете поставить компьютер или нетбук — замечательно. Мы же предпочитаем делать аккуратный серверный шкаф и размещать сервер и все контроллеры там.
Оптимальное решение
И тут на помощь приходит такая замечательная вещь как одноплатный компьютер.
Рынок одноплатные компьютеров стал активно развиваться с 2011-2012 гг., когда был выпущен британский одноплатник Raspberry Pi. Первые же эксперименты показали что Raspberry отлично подходит в качестве сервера Умного дома, популярность которого начала также расти в 2011-2012 гг.
Основные плюсы использования одноплатных компьютеров в качестве сервера Умного дома:
- очень небольшая цена — от 20 USD в Китае до 50-70 USD в магазинах СНГ
- по техническим характеристикам отлично подходит для Умного дома
- надежность
- небольшой по размерам
Фото одноплатника
Самые популярные одноплатные компьютеры для создания Умного дома:
В качестве бонуса
По ссылке вы можете посмотреть что используют в качестве сервера текущие пользователи MajorDoMo.
Представьте картину: вы входите домой, автоматически включается свет и приятный женский (мужской, впрочем — кому как) голос приветствует вас. Вы небрежно бросаете фразу в сторону микрофона: «Дом, включи мой компьютер». Через несколько секунд слышите привычный шелест кулеров своего родного железного коня.
Фантастика? Под хабракатом я хочу поделиться своими успехами в построении подобной системы у себя дома.
Будущее — сейчас
Все мы когда-нибудь видели подобные картины в зарубежных фантастических фильмах и мечтали: «Когда-нибудь такое будет и у нас». Спешу вас обрадовать — подобие увиденного можно реализовать уже сейчас и без гигантских затрат.
Небольшой экскурс в том, что сейчас называют «умный дом». Вот что скажет нам википедия:
«У́мный дом (англ. 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 мы можем вешать на стандартный телефонный кабель — дешево и сердито).
Другая технология под названием Х10 использует для передачи данных метод частотного уплотнения в обычной электросети квартиры.
Плюсы:
- Легка в установке
- Никаких дополнительных проводов в квартире
- Распространенный стандарт, много исполнительных элементов
- Относительно низкая стоимость и простота компонентов
- Не требует дополнительного электропитания
Минусы:
- Медленная передача данных
- Большинство элементов не поддерживает команду статуса (т.е. не узнать текущее состояние устройства)
- Дороже чем 1-wire
Х10 подойдет ленивым и тем, кто не желает по каким-то причинам тянуть дополнительные кабеля. Я попал в ту и другую категорию, поэтому мой выбор остановился на Х10 =)
Будем считать, что с технологией управления электропитанием мы определились.
Едем дальше — видеонаблюдение
Ведь хочется иногда посмотреть, что творится дома, пока вы на работе, в отпуске, на даче, etc? У меня есть домашние питомцы и при длительном отсутствии хочется посмотреть на них и даже поговорить. Цели могут быть разными. Что нам для этого потребуется?
В первую очередь — компьютер. Он будет ядром, головой нашей системы «умный дом». Именно к нему мы подключим управление электропитанием наших домашних устройств посредством мастера сети 1-wire или Х10, к нему же мы подключим и камеры видеонаблюдения. В моем случае, я выбрал обычные простые web-камеры среднего качества. Подключаться все будет через USB. Ограничение на длину кабеля в 5 м, обходилось мной в виде покупки длинных активных USB кабелей, где возможно, и связкой кабелей через USB-хабы с внешним питанием (возможно, кто-то предложит другое решение — буду рад услышать). У меня вышло в итоге 4 веб-камеры для всех помещений квартиры.
Учим компьютер понимать нас и разговаривать
Для меня «умный дом» в первую очередь — это интерактивность. Для этого мы его научим разговаривать и понимать в свою очередь нас.
Мои исследования показали, что достойный уровень распознавания речи в данный момент может дать только Google. Я думаю, все знакомы с его замечательным голосовым поиском и переводчиком, которые могут здорово упростить жизнь владельцу мобильного устройства. Народные умельцы вычислили, что, куда и как надо отправить, чтобы получить из звукового файла текст.
То же самое и с синтезом — я не стал сильно заморачиваться и воспользовался тем же Google. На мой взгляд, синтезированная речь на достаточно неплохом уровне.
Объединяем
Самым удобным интерфейсом управления умным домом и связкой ПО я счел веб-интерфейс. Координированием работы ПО будет заниматься специально написанный демон на perl
Подводим итоги
В этой небольшой статье я рассмотрел минимально необходимые, с моей точки зрения, компоненты нашего «умного дома». Тут нет технической реализации — только краткий теоретический обзор. В следующих статьях я по-шагово опишу каждый компонент системы, его техническую и программную реализацию.