Как и обещал... Описание системы, как все работает у меня. с фото.
"Проект" в стадии разработки. Каждый день появляются какие-то новые идеи. И постепенно реализую. Поэтому не могу сказать, что все закончено, но все подключено и работает с начала года в режиме 24/7.
Идея добавить ума своему дому пришла ко мне через год после того, как я сделал капитальный ремонт. Естественно, т.к. я не думал об умном доме в то время, я ничего для этого не предусмотрел. Единственное, что помогло мне из сделанного во время ремонта - это то, что на каждую розетку, на каждый выключатель я тянул отдельный кабель. И свел их все в один общий щиток, в котором установил много-много автоматов, чтобы каждая розетка и освещение были полностью независимыми. Да и я как-то не сторонник "коробочного" способа прокладки проводки. Кабеля ушло много, но оно того стоит.
Т.к. все провода сведены в центре дома и под основным щитком у меня было место для установки второго дополнительного щитка, я решил именно в нем развести основную плату Arduino с LAN W5100 и 4 релейные платы, 3 из которых по 8 реле и одна с одной релюшкой на 30А (для подключения кондиционера).
Есть еще 2 платы ардуино. Одна из них следит за датчиками DHT, "слушает эфир" на частоте 433Мгц и отправляет все это на MajorDoMo (далее MDM).
Другая замеряет напряжение в сети до стабилизатора (будет время - сделаю и замер после стабилизатора), потребление дома, с помощью неинвазивного датчика с того же ebay. В принципе эти функции можно было повесить и на вторую плату Arduino, но в плане безопасности я посчитал, что так будет надежнее.
В итоге получилось как-то так:

- 20131206_121820.jpg (158.23 КБ) 16616 просмотров
Ардуино работает сама по себе. Ей не нужен MDM для основной работы. Некоторые функции, например включение и выключение вытяжки в ванной в зависимости от влажности, пока реализованы через MDM, но это временно. Я хочу полностью "передать все в руки Arduino". Чтобы MDM использовался только для визуального контроля и удаленного управления, домашнего интерфейса и т.д. Причина - стабильность и отказоустойчивость. Ардуино в этом плане за более чем пол года непрерывного использования совместно с MDM, показа себя с более лучшей, стабильной стороны.
Выключатели в каждой комнате я сделал так:
Проводку соединил напрямую, т.к на другом конце соединил с реле на ардуино.
В выключателях вставил пружины:

- 20131206_204202.jpg (79.46 КБ) 16616 просмотров

- 20131206_204211.jpg (108.36 КБ) 16616 просмотров
Теперь выключатели работают как кнопки.
Сразу за выключателем в коробке поставил плату от пульта:

- 20131206_203841.jpg (79.95 КБ) 16616 просмотров
На след картинке видно как слева верхняя и нижняя кнопка "закорочены" проводками.

- 20131206_203850.jpg (93.07 КБ) 16616 просмотров
Потом припаял два провода к питанию. и вывел их к батарейке через выключатель.

- 20131206_203921.jpg (76.94 КБ) 16616 просмотров
Т.е. когда я нажимаю на выключатель, питание подается на схему, на которой в свою очередь "Нажаты" (проволочкой и паяльником) нужные нам кнопки. Отпускаю выключатель, за счет пружины он возвращается в исходное положение. Сигнал отправлен, ардуино, используя прерывание, обрабатывает нажатие кнопки, выключает или включает нагрузку, отправляет состояние на MDM, сохраняет состояние на флешку, чтобы если будет сбой по питанию, после рестарта вернуть все в ранее установленное положение. Т.е. если свет был включен в ванной, то после рестарта ардуино, свет там снова включится и наоборот.
Как я говорил ранее, у меня во всех комнатах установлены датчики движения, разбития стекол, в некоторых комнатах датчики дыма, газа, протечки, дверные датчики. Все это работает на 433 мгц. Как я говорил вначале, у меня на второй ардуино установлен приемник на эту частоту. Но никак руки не доходят допилить код, чтобы все это связать.
Так вот, если говорить о том, как связать датчики движения и кнопки, то у меня в ванной это так:
Если я просто зашел в ванную, не нажимая на кнопку, датчик сработал, MDM включает свет и устанавливает таймер на 3 минуты. Если в ванной снова было движение, таймер сбрасывается снова на 3 минуты и т.д. Т.е. если мы находимся в ванной, датчик нас "сечет" и свет не выключается. Если вышли, то через 3 минуты свет выключится из-за отсутствия движения.
Если мы при входе в ванную включили свет кнопкой, то MDM перестает следить за датчиком движения в ванной пока свет не будет выключен руками. Но это не очень хорошо. вдруг я куда-то уезжаю и забежал в ванную, забыл выключить свет. и будет он долго-долго гореть. Поэтому считаю лучше дописать код следующим образом:
Если свет был включен руками, то не переставать следить за движением, а просто устанавливать таймер к примеру на 30 минут а не на 3. Короче, как душе угодно.
Пульты заказывал на ebay. Там есть продавец у которого 10 штук с доставкой обошлись мне в 35$.

- 20131206_204403.jpg (110.48 КБ) 16616 просмотров
Всего я их заказал штук 40. Поставил только 10

Остальные ждут своего часа установки на улице во дворе, в пристройках (сарай, чердак, баня и т.д.)
Один пульт всегда со мной. На нем основные функции управления. Например, вода на улице (стоит электроклапан), освещение во всех комнатах, освещение на улице и т.д.
Все это реализовано нажатием на комбинации кнопок на пульте. К примеру чтобы включить свет в гостиной, достаточно нажать кнопку "А", чтобы в ванной кнопку "В". А вот чтобы открыть воду на улице, надо нажать их одновременно. Если я хочу включить все освещение во дворе, то нажимаю сразу на 4 кнопки. Включаются все светильники. Если снова нажать все 4 кнопки, то все светильники во дворе выключаются. И т.д.
Еще в планах реализовать запуск электростанции при отключении электричества, автополив во дворе, фильтрацию бассейна, подогрев воды в бойлере, используя не электрический тен, а газовую колонку. Последнее, кстати, почти реализовал. Колонку поставил, трубы развел, электроклапаны, насос для циркуляции поставил. Осталось только релейную плату поставить, ардуино, написать код и связать с общей системой.
Вообще я сторонник того, что по возможности надо разделять "обязанности" на разные ардуино. Не делать все на одной плате. Ведь, например, если вышла из строя плата управления поливом, ну и фиг с ней, заменим. Если плата управления электростанцией... тоже самое. при всем этом не должно страдать управление освещением в доме, и т.д.
Если финансовая сторона не ограничена, то можно в каждой комнате на месте выключателей расположить планшеты. Благо их цена в китайских магазинах оооочень низкая. а для переключения света, производительности таких планшетов более чем достаточно.
Для центрального управления, я считаю, можно использовать планшет с диагональю 13 дюймов или, например HP Touch PC.. Но это уже другой разговор.
В общем как-то так.
Система работает, вроде все в норме, только таблицу phistory приходится раз в неделю чистить, чтобы MDM не отказывал. Комп у меня оооочень слабый для этого. Нетбук Самсунг N150 на слааабом проце. Intel Atom еще один из первых. Что этот нетбук только не пережил.. Но, другого для этой цели пока нету. Свой ноутбук я часто беру с собой, жена свой не дает оставлять включенным 24/7. Поэтому только никому не нужный нетбук остался для этого дела. Да и занимаюсь этим всем я только из энтузиазма в свободное от работы время. Поэтому многое пока только в планах реализовать, хотя алгоритмы работы уже полностью продумал, зарисовал. Например чтобы сделать автополив, надо закупить труб, вырыть траншеи для них, спаять трубы, и т.д. А времени на все это как всегда не хватает.
Спасибо, если дочитали до конца. Надеюсь кому-нибудь помог своей писаниной))