Моя Реализация «Умного Дома»

Полтора года назад я написал статья о разработке собственной шины «CLUNET» для подключения устройств в «умном доме».

Многие просят меня рассказать им о том, что у меня в итоге получилось, что я сейчас и постараюсь сделать.

Попробовал нарисовать схему своей комнаты со всеми подключенными к сети устройствами, картинка кликабельна:

Моя реализация «умного дома»

Вся идея держится на трех столпах:

  • Децентрализация – вся система функционирует без какого-либо основного модуля;
  • Простота – минимум компонентов и простота подключения;
  • Дешево – стоимость устройства легко можно снизить до 100 рублей.

При таком подходе вы сможете легко создавать и добавлять в сеть CLUNET устройства, каждое из которых отвечает за какую-то простую функцию.

У всех устройств есть свой адрес, и они могут обмениваться пакетами друг с другом напрямую, без участия какого-либо основного модуля, и это очень активно используется:

  • В комплект поставки приемника пульта дистанционного управления входит переключатель и механизм открывания окон, позволяющий управлять светом и открывать окно с любого пульта дистанционного управления или Nintendo Wii U;
  • Датчики движения сообщают выключателю, что в помещении никого нет, и свет можно выключать;
  • На дисплее в коридоре всегда отображается текущая температура на улице, полученная от датчиков температуры;
  • По команде кодовой панели открывается замок двери;
  • Устройство с пейджером издает звуки, когда распознает, что замок открыт, нажата кнопка или звонит домофон.

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

И нет, у меня нет проблем с непониманием моих источников.

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

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

Многие, скорее всего, скажут: «У вас, наверное, везде провода!» - отчасти это правда, но никакой фобии по отношению к проводам у меня нет. Кроме того, небольшой кабель с линиями питания и передачи данных практически незаметен на фоне других кабелей.



Маршрутизатор с адаптером CLUNET

Мой роутер помимо маршрутизации трафика выполняет еще одну роль — маршрутизацию трафика; это «окно» для сетевых устройств CLUNET в Интернет. А точнее наоборот — позволяет управлять всеми устройствами из Интернета и локальной сети.

Для этого в его USB-порт включено специальное устройство.



Моя реализация «умного дома»

Не буду слишком повторяться, я говорил об этом в статья о протоколе CLUNET .

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

Кроме того, роутер используется как простой веб-сервер, чтобы можно было управлять устройствами через веб-интерфейс на всякий случай.

ну, на всякий случай:

Моя реализация «умного дома»

Очень удобен в использовании и хрон на роутере для самых разных задач - от открытия окна или обогрева помещения по расписанию до банального будильника.

Для последнего я сделал простой веб-интерфейс и скрипты:

Моя реализация «умного дома»

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

Главное – выключить его, пока он не успел разбудить соседей.

В ответ на пакеты, поступающие от устройств, также выполняются различные скрипты.

Так ведутся логи самых разных событий, таких как звонки на домофон, рисуются графики температуры( http://clusterrr.com/sensors/t/ ) и другие данные, мне на телефон приходит push-уведомление, если вдруг дверь в комнате открыта, а меня нет дома и так далее.



Программное обеспечение для Windows

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

В главном окне вы можете отслеживать весь трафик между устройствами и отправлять им любую команду:

Моя реализация «умного дома»

В нем можно наблюдать, как умный дом живет полноценной жизнью, но на практике это нужно только для отладки.

Все можно сделать, нажав на значок в области уведомлений:

Моя реализация «умного дома»

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

Да, лень — двигатель прогресса, и мне чертовски удобно открывать окно или включать свет горячими клавишами, не вставая со стула.

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

При нажатии горячей клавиши на экране появляются экранные пульты:

Моя реализация «умного дома»

С них можно управлять ресивером, телевизором, обогревателем и лазером.

Трудно описать, насколько это облегчило жизнь.

Пульты дистанционного управления приходится искать постоянно, они валяются где угодно, только не рядом.

Теперь они полностью покрыты пылью.

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

Например, MPC-HC поддерживает работу с ним; есть плагин для foobar2000. Таким способом можно поступить наоборот – управлять приложениями на компьютере с помощью любого пульта.



Программное обеспечение для телефона

Ну как же всем этим не управлять с телефона из любой точки мира? Приложение для Android имеет примерно такой же функционал.

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



Моя реализация «умного дома»



Моя реализация «умного дома»



Моя реализация «умного дома»



Моя реализация «умного дома»



Таблетка

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

Но вскоре до меня дошло, что времена уже не те.

Гораздо проще купить дешевый китайский Android-планшет и повесить его на стену.

Да, такие планшеты обычно медленные и очень низкого качества, но для моих целей этого вполне достаточно.

Сказано - сделано.



Моя реализация «умного дома»

Мне пришлось написать различные виджеты рабочего стола:

Моя реализация «умного дома»

Но это всё равно было недостаточно удобно, особенно когда хотелось что-то сделать наощупь.

Через некоторое время я вспомнил, что в Android есть отличный API распознавания голоса.

Планшету потребовалось всего полчаса, чтобы начать выполнять свои первые голосовые команды.

Вскоре диапазон возможных команд значительно расширился.

Знакомьтесь, моя электронная жена: Надо ли говорить, как удобно ночью открыть окно, не открывая глаз? Жаль, что этот привод очень шумный — когда окно закрывается по таймеру, не проснуться невозможно.

Подобный сервис со временем был установлен на телефон.

Работает только при подключенном зарядном устройстве.

Вероятно, было бы здорово использовать для этого Google Glass.

Подробнее об устройствах

Напоследок расскажу немного о том, какие устройства функционируют в моем умном доме.

Внимание! Внизу адское количество колхозной работы и проводов! Я не умею делать вещи красиво; руки у меня растут не из того места.



Выключатель
Ничего особенного, просто включает и выключает лампы на люстре.



Моя реализация «умного дома»

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

Совместим с приемником дистанционного управления и датчиками движения.



Контроллер геркона с зуммером
Это очень странное устройство появилось задолго до того, как я начал делать умный дом, поэтому было сделано очень коряво и без корпуса.



Моя реализация «умного дома»

Дело в том, что в моей комнате были мыши, а в остальной квартире кошки.

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

Теперь устройство отправляет пакеты в сеть при открытии и закрытии двери.

Роутер записывает логи своего открытия и отправляет мне push-уведомление, если он вдруг откроется, когда меня нет дома.

Мое местоположение определяется моим мобильным телефоном.

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



Приемник дистанционного управления и передатчик дистанционного управления
Кажется, я уже говорил о них выше.

Приемник расположен рядом с компьютером, передатчик спрятан на шкафу.



Моя реализация «умного дома»



Моя реализация «умного дома»



Датчики движения
В комнате висят два таких датчика движения.



Моя реализация «умного дома»

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

Помимо них движение фиксируют еще четыре видеокамеры.



Дверной замок и кодовая панель
Когда я стал счастливым обладателем 3D-принтера, мне очень захотелось поэкспериментировать с механикой.

В результате я спроектировал и распечатал механизм дверного замка.

Первый блин был комом, и получился дикий колхоз, но функционирует отлично.

Сделал кодовую панель снаружи двери, получилось лучше.

Лучше просто посмотреть видео.

Теперь у меня все как у серьезного взрослого дяди!

Датчики температуры и освещения
Здесь особо нечего сказать.

Устройство висит под подоконником и опрашивает датчики температуры по 1-проводному каналу; кроме того, экспериментально был изготовлен и датчик освещенности.

Я не знаю почему.



Открывалка для окон
Частично это вы уже могли увидеть на видео выше.

Сам механизм покупной и состоит из цепи с моторчиком.

Приятно было узнать, что есть компании, производящие подобные вещи.



Моя реализация «умного дома»

Сам привод питается от сети 220В.

Слева в коробке схема с двумя реле, подающими питание.

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



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

Вот и все.



Моя реализация «умного дома»

Еще там бегает Pac-Man, для которого было нарисовано несколько кастомных персонажей.



Внутренняя связь
Про свой домофон с автоответчиком я написал отдельную статью: http://habrahabr.ru/post/188906/

Мышиные клетки
Мышиные клетки передают информацию в виде инфракрасных сигналов о том, как далеко каждая мышь пробежала в колесе.

Об этом тоже была отдельная статья: http://habrahabr.ru/post/165269/ Увы, теперь остался только один мышонок, и он уже особо не бегает.

Видеокамеры
В помещении установлены четыре IP-камеры с вращающимися механизмами.



Моя реализация «умного дома»

Они отправляют короткое видео на удаленный сервер, когда дверь открывается.

Или длинный, если меня нет дома.

Если есть движение, периодически фотографируют. Помимо всего этого, камеры работают как дополнительные датчики движения.

Если что-то начинает двигаться, они запрашивают ссылку у маршрутизатора, который, в свою очередь, отправляет широковещательный пакет в сеть.



Заключение

Надеюсь, что статья оказалась не слишком скучной.

Я не знала, как рассказать обо всем так, чтобы было интересно; Информации было много, поэтому я постарался изложить ее кратко.

Многие меня наверняка спросят: «Зачем столько видеокамерЭ», «Зачем нужна кодовая панельЭ», «Зачем нужны датчики движенияЭ», «Зачем все этоЭ» На все подобные вопросы отвечу одной картинкой:

Моя реализация «умного дома»

Теги: #Сделай сам или сделай сам #Умный дом #avr

Вместе с данным постом часто просматривают: