Добрый день, уважаемое сообщество!
В своих предыдущих статьях я рассказывал о том, как делаю у себя умный дом. С тех пор прошло уже достаточно большое количество времени и я достаточно серьезно продвинулся как в оборудовании, так и в софте. Думаю, что эту очередную статью можно смело называть «Умный дом 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'а. Сейчас система не готова для простого пользователя и находится в глобочайшей альфе. Некоторые функции, которые я использую у себя еще нет в общедоступном репозитарии, но это дело времени.
Основной целью данного топика является привлечение разработчиков-энтузиастов умного дома. Я этого не скрываю :)
Собствеено, ссылка на репозитарий основного модуля (остальные лежат там же: github.com/Neuronix2/IRISv2)
Пожелания, конструктивная критика и вопросы приветствуются.
Автор: Neuronix