Умный (удобный) дом: охраняем, освещаем, носы бережем...

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 10 июл 2014.

  1. ИгорьК

    ИгорьК Гуру

    Тема зародилась вот здесь, и реализовалась в соответствующий проект.
    Что в итоге? Четыре режима работы:
    Режим освещения. Заменяем включение/выключение люстры (чтобы не париться со встраиваемыми дистанционными выключателями) на подсветку шкафов (в данном случае - трех). Подсветка сделана в виде светодиодной (обычной или цветной) ленты, проложенной по карнизу шкафов. В двух шкафах, кроме того, задействована "родная", заводская подсветка от 220 вольт. Все это заменяет люстру в вечернее время и выглядит очень эстетично, как и любой другой боковой свет.
    Это моя реализация. Но сделать можно как угодно: система лишь управляет ШИМ, и вкл/выкл реле.
    Режим освещения "лампой настроения". То же, что и предыдущий, но лента на шкафах меняет цвет (если она цветная, иначе - просто яркость).
    Режим сберегания носов. Ночью, при перемещении тел в темноте (ИК датчик их наблюдает), включаются только карнизы шкафов (ШИМ) с минимальной яркостью. Если тела продолжают маневрировать - подсветка не гаснет. Если включили свет - подсветка выключилась. (Не знаю как без этого обходился раньше :) )
    Режим охраны.
    Система реагирует на ИК датчик движения. Ничто не мешает иметь их несколько.
    Сигнализация включается/выключается как кнопкой, так и СМС, естественно только с установленного телефона. Есть режим имитации присутствия: на некоторое время один шкаф включается в обычный режим, другой - лампа настроения. Это похоже на включенный свет и работающий телевизор. Имитация присутствия управляется СМС, а также выключается по времени.
    Кроме того, можно позвонить домой и послушать что там происходит.
    При включении кнопкой сигнализация устанавливается через 20 секунд, по СМС - немедленно. Обо всем отправляется сообщение на "свой" номер.
    В случае проникновения, сигнализация посылает сообщение немедленно, потом еще два через минуту, потом звонит на номер... И успокаивается: уже ничего не поможет, коль не слышишь :D.

    Некоторые моменты реализации.
    GPRS шилд включается софтверно. При выключении по каким-то причинам (перезагрузка, например), включение восстанавливается.
    Вся система управляется одной кнопкой: короткие и длинные нажатия. По коротким нажатиям циклически меняются первые три режима, охрана вызывается долгим нажатием кнопки, снимается - любым.
    Почему так просто? Кнопка устанавливается не слишком на виду, где - решать в каждом случае индивидуально. Все включения люди привыкли делать кнопкой. Поиск всяких пультов - лишнее движение. Тот кто сделает упор на сигнализацию сам продумает лучшее укрытие устройства. Ведь вместо подбора кодов - проще его выдернуть из сети или разбить. Так что кодовыми режимами и ИК управлением заморачиваться не стал.
    Система состоит из трех блоков по количеству (моих) шкафов. Один управляющий, два исполнительных. Можно больше/меньше или вообще без них.
    Если ограничиться только управляющим устройством шкаф - задействуется один. В этом случае:
    - режим имитации присутствия работать не будет: в данный момент имитируют его два исполнительных устройства. Если кому-то будет интересно, может быть переделаю скетч для этого случая.
    - все что связано с модулем nRF24L01+ может быть безболезненно удалено.​
    Все блоки имеют три выхода ШИМ для цветной ленты на транзисторах, цифровой выход для включения подстветки от 220 вольт на реле.
    Блоки общаются между собой посредством трансиверов nRF24L01+.
    Управляющий блок, кроме этого, оснащен GPRS шилдом, обрабатывает кнопку (очень приятная кнопка у амперки :) ), датчик света, и ИК датчик движения.
    Управляющий блок на Ардуино Мега. У нее 4 последовательных порта - удобно проводить настройку и тестирование. В принципе, можно переделать на Уно - объем кода получился небольшой. Но не хотелось сильно ограничиваться и пользоваться библиотекой софтверного сериала.
     
    Последнее редактирование: 14 июл 2014
    denziko и acos нравится это.
  2. ИгорьК

    ИгорьК Гуру

    В этом посте изображения и скетч управляющего блока.
    Внимание! Скетч управляющего блока не будет компилироваться без маленькой доработки библиотеки. Смотреть здесь. (Или, если не хотите править библиотеку, - найти и закомментировать в скетче все строки radio.flush_tx(); Возможно у вас все заработает и без них.)
    Скетч управляющего блока прилагаю, скетч управляемых смотреть здесь.

    Управляющий блок, еще без корпуса. Обратите внимание: 7 и 8 нога GPRS шилда отогнуты. К ним сверху шлейфом присоединены 16 и 17 ноги от Меги.
    20140710_000954.jpg

    Один из управляемых блоков:
    20140709_221121.jpg

    Управляемый блок на шкафе:
    20140709_222510.jpg

    Витринка с подсветкой:
    20140711_084004.jpg

    Витринка и шкаф включены - люстры не надо:
    20140711_084025.jpg

    Видео демонстрация:



    Шкаф и витиринка - лампа настроения:



    11.07.2014. Версия 1.0.1 - чуть оптимизирован код обработки GPRS шилда.
    24.07.2014. Версия 1.1.0 - на три ведомых устройства, добавлены некоторые диалоги в общении с GPRS. Она будет работать и с двумя, и с одним ведомым, хотя в функцию отправки команд конечно лучше внести изменения по количеству приемников.
     

    Вложения:

    Последнее редактирование: 28 авг 2014
    denziko нравится это.
  3. ИгорьК

    ИгорьК Гуру

    Это полностью рабочий вариант, но со временем я полагаю ряд переделок.
    Во-первых, управляющий блок будет освобожден от всех исполнительных функций. Он будет только "смотреть", " чувствовать", "думать", командовать и осуществлять связь.
    Во-вторых, управление по модулю nRF24L01+ будет осуществляться не единичными командами, а массивами - команда и ее параметры. (Это не так уж и важно, как кажется на первый взгляд. Ничто не мешает иметь чуть больший список команд, параметры которых занесены в память исполнительного устройства.)
    В-третьих, добавлю часы реального времени - возможно что-то захочется делать по часам. Например, гасить освещение (совсем разленюсь).
    В-четвертых, добавлю управление отоплением/кондиционером.
    В приницпе, все эти вещи не критичны, но то что сделано сейчас накладывает ограничения на более серьезные манипуляции: например, можно будет синхронно менять цвета. Хотя... Игрушка это. В общем, как возникнет осознаваемая потребность - сделаю. А пока и так пусть поработает :)
     
    Последнее редактирование: 11 июл 2014
    denziko нравится это.
  4. gorbuni4

    gorbuni4 Нуб

    Добрый вечер, для управления светодиодными лентами, вы использовали полевые транзисторы? Какой мощности у вас лента?
     
  5. ИгорьК

    ИгорьК Гуру

    Да, транзисторы вот эти. Лента обычная трехцветная китайская. Купил в каком-то сельском магазине владимирской области. Самый длинный кусок на шкафе - 4 метра. Транзисторы не греются.
    Точнее по ленте сказать к сожалению не могу.
     
  6. ИгорьК

    ИгорьК Гуру

    ... Но вместо всего выше сказанного, на основе изысканий на тему Arduino Yun, прикрутил к этой поделке вот такой интерфейс:
    221133.png
    Сигнализация через веб-морду только включается, отключить возможность не предусмотрена по причине некомпетентности обеспечить хорошую защиту :)
    Это работает так:



    Продолжение темы здесь:
    http://forum.amperka.ru/threads/arduino-esp8266-raspberry-pi-2-openhab-Умный-дом-азы-управления.5043/page-2#post-41807
     
    Последнее редактирование: 6 июл 2015
    Alexander908 нравится это.