среда, 22 января 2014 г.

Умный дом. Конкретная реализация

Добрый день, уважаемое сообщество!

В своихпредыдущих статьях я рассказывал о том, как делаю у себя умный дом. С тех пор прошло уже достаточно большое количество времени и я достаточно серьезно продвинулся как в оборудовании, так и в софте. Думаю, что эту очередную статью можно смело называть «Умный дом v3» :)



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

Расскажу что есть у меня сейчас из оборудования:



  • Несколько диммеров ZWave

  • Датчики ZWave (объема, присутствия, температуры, открытия дверей/окон, донгл для ПК)

  • Клапаны ZWave

  • Выключатели Noolite (силовые модули+выключатели-передатчики, донглы RX и TX (PC) для ПК)

  • Едут диммеры Noolite

  • Планшеты на Android (служат терминалами системы)

  • На полке лежит донгл 1-wire :)




Обо всех этих технологиях рассказано достаточно подробно на Хабре (в том числе и в моих статьях), но я бы хотел остановиться на Noolite. Технология хорошо описана vvzvlad (например, тут). Теперь моя очередь :)

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



Так выглягит донгл для передачи команд силовым блокам:



А вот так для приема:



Да-да! Именно для приема команд! Это та недостающая часть Noolite, которой лично мне не хватало для того, чтобы использовать эти устройства у себя. Информации об этом почему-то нигде, кроме официального сайта нет.

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


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



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



Силовой блок в объектив телефона по каким-то причинам не попал :) Результат его подключения:



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


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


Теперь можно поговорить об умной части дома. Железки — это хорошо и интересно, но должна быть и практическая часть. Расскажу пример своего утра.


Если сегодня не выходные и не праздники, то в 6.00 начинает разгораться ночник, установленный с моей стороны кровати — световой будильник.

Около 6.45 терминал умного дома (планшет на Андроиде, висящий рядом с кроватью) получает команду от головного сервера на включение будильника (да, я понимаю, что можно было бы просто включить будильник на планшете :)) — проигрывается приятный шум утреннего леса, под который я и продолжаю просыпаться.

Одновременно с этим включается свет в коридоре, на кухне, в ванной и туалете.

Когда я наконец выползаю в коридор датчики присутствия определяют мою сонную тушку и синтезированный голос гугло-женщины приветствует меня. Одновременно с этим умный дом отрывает клапаны на подачу воды (есть у меня такая фобия — залить соседей).

После всякх туалетных процедур я заползаю в душ. Датчик присутствия в ванной определят что я уже тут и местный терминал спрашивает, хочу ли я узнать последние новости. Тут я волен ответить да или нет (принимаются видоизменненые ответы) — работает распознавание голоса от того же Гугла.

(К слову сказать, пока голосовое общение в процессе разработки — говорить нужно четко и громко, принимается речь не всегда с первого раза, да и распознавание и реакция системы занимает некоторое время (от 2 до 5 секунд в среднем))

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

Ухожу, закрываю дверь — свет везде автоматически выключается.


Это конкретно мой пример. Тут возможны нюансы — встанет жена, у меня отпуск и т.д. Но в целом сценарий для меня подходит в 90% случаев.


Немного о софте. Сама система умного дома реализована из трех компонентов. Это ядро системы, которое, собственно, всем и управляет. Веб-интерфейс на Play Framework 1.2.7, на котором в будущем будет реализовано челвеко-дружелюбное управление системами умного дома. И андроид-приложение, которое служит терминалом умного дома.

Софт опубликован на Github'e, конкретная реализация вышеописанного в нем пока отсутствует, т.к. много страшного кода, который я привожу в порядок, но в общем функции присутствуют.

Написана система на Java и на данный момент не имеет человеческо-удобного интерфейса, кроме как некоторое подобие REST'а. Сейчас система не готова для простого пользователя и находится в глобочайшей альфе. Некоторые функции, которые я использую у себя еще нет в общедоступном репозитарии, но это дело времени.


Основной целью данного топика является привлечение разработчиков-энтузиастов умного дома. Я этого не скрываю :)

Собственно, ссылка на репозитарий основного модуля (остальные лежат там же: http://ift.tt/KD5PjA)


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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий