Мой Уютный Дом

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

Дело в том, что автоматика должна работать так, чтобы по возможности этого было вообще не заметно.

То есть умный дом — это дом, который может все.

Комфортный дом – это дом, который делает все, что может, сам.

Позвольте мне сначала просто похвастаться тем, на что сейчас способен мой дом, а вы решите, имеет ли смысл читать дальше о моем иногда горьком (а иногда и очень плохом) опыте, ладно? Другие устройства и устройства серии Центральный домашний контроллер, всемогущий KCD-V-2-12 Аппарат управляемый пассивный для кормления кошек АКК-ПУ-1 Прибор измерения температуры и влажности ПИ-ТВ-2 Автомат светомузыкальный АСИМ-АУ-2-6 Многофункциональный блок дистанционного обслуживания БДС-М Основные функции: 1) Управление четырьмя радиорозетками (это фоновая подсветка и планшет с акустикой); 2) Управление 8 кнопками четырех выключателей света магнитолы; 3) Перезагружаем роутер при пропадании интернета; 4) Включите и выключите веб-камеру; 5) Мониторинг 8 беспроводных датчиков пожарной сигнализации (три датчика дыма, три датчика протечки, пара датчиков открытия дверей); 6) Получение данных от двух датчиков погоды – в помещении и за окном (радиоканал и два сервисных контроллера на Arduino Pro Mini) – и передача их в Интернет; 7) Управление телевизором, медиаплеером и кондиционером (радиоканал + сервисный контроллер на Arduino Pro Mini, он же датчик погоды); 8) Управление кормушкой для кошек; 9) Управление проводным датчиком движения (охранные и сервисные функции); 10) Управление музыкой в ванной (это как в модных торговых центрах - заходишь в туалет, а там такая расслабляющая музыка); 11) Оповещение о событиях по электронной почте.

Сервисные функции (сценарии): 1) Автоматическое управление светом в гардеробе (крошечный шкафчик, по сути, меня можно снова полюбить); 2) Автоматическое управление светом в коридоре; 3) Автоматическое управление ночным освещением на кухне; 4) Автоматическое управление светом и музыкой в ванной; 5) Отключение всего, что выключено удаленно, включение камеры и перевод датчика движения в режим охраны при выходе из дома; и выключение камеры с включением фоновой подсветки, света в коридоре и переключением датчика движения в предыдущий, доохранный, режим по возвращении.

Управлять практически всеми (кроме, конечно, автоматическими) функциями можно с любого компьютера, со смартфона и планшета с Android через приложение или голосом через кучу приложений.

По локальной сети или через Интернет. Методика самая простая — команда отправляется через POST-запрос (суть — набираем адрес в браузере).

С самого начала и до сих пор ядром системы остается плата Arduino Uno. Ее помощники — три сервисных контроллера от Arduino Pro Mini плюс пара радиореле в местах, где особого интеллекта не требуется (кормушка, например, и музыка в ванной).

Скрипты частично находятся в коде Arduino, частично в Android-свистке, подключенном к телевизору.

Свисток просто выдает необходимые запросы в соответствии с расписанием.

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



Начало времени
Трудно сказать, когда именно все началось.

То ли когда я купил пачку радиоуправляемых розеток, то ли когда жена сказала, что в этой Японии «каждая лампочка на пульте».

Наверное, всё-таки когда Япония.

Так что мне почему-то сразу стало обидно за государство, я просто не мог спать.

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

.

Вот крутые переключатели

Мой уютный дом

Радио очень важно, потому что на этапе ремонта я добросовестно испробовал все эти умные вещи.

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

Попали не рабочие, а просто какие-то стахановцы: я едва успел им объяснить, что сеть прокладывается методом «точка-точка», а не по-телефонному.

То есть у меня не было выбора – проводка или радио.

Только радио.

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

И каждый в какой-то момент покупает Arduino. Это, как я тогда понял, такая волшебная вещь, привлекающая новичков и лучики.

уважения к бывалым металлургам.

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

А именно для управления четырьмя радиорозетками и четырьмя радиовыключателями (восемь кнопок).

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

Итак базовый комплект: - Ардуино Уно — Ethernet шилд (легендарный W5100); — два блока по 4 реле с ключами для прямого подключения к Ардуино; — несколько комплектов АМ-приемника и передатчика 433 МГц.

Если вы думаете, что это загадка в стиле «вычеркни лишнее», то это совершенно неверно.

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

Грубо, но эффективно.

И это не совсем обидно – многие так делали.

К счастью, крайних мер не потребовалось, но реле всё равно пригодилось.

А позже список оборудования пополнился приёмниками/передатчиками, несколькими платами Arduino Pro Mini, датчиками движения и россыпью беспроводных датчиков от простых китайских сигнализаций.

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

Думаю, она была разочарована, но это длилось недолго.

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



Только радио, только хардкор
В моих руках была библиотека RC-переключатель , розетки, пульт к ним и Arduino Uno с приёмником-передатчиком.

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

Особенно учитывая, что в примерах RC-Switch оказался очень полезный код с веб-сервером, так что управление сокетами через Интернет началось сразу.

.

Кстати, насчет розеток - их все видели, да?

Мой уютный дом

Правда, выявился первый нюанс.

Попытка отрисовать управляющую страницу прямо в коде Arduino оказалась провальной: в какой-то момент плата зависла при запуске.

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

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

Такое решение, конечно, полно минусов, но есть и плюсы: если злой хакер все-таки доберется до Arduino, то ему еще придется потрудиться, чтобы понять, какую команду я придумал для включения свет. Короче говоря, настоящая тайна — это тайна, о которой никто не знает. А вот с выключателями света произошла какая-то ерунда.

То есть они, конечно, очень крутые, но RC-Switch отказался их признавать.

Китайский продавец на вопросы по протоколу ответил как попугай "коммутатор 433 МГц".

На коробке я не прочитал, что это переключатель на 433 МГц.

Вскрытие пульта тоже закончилось не очень хорошо: внутри просто какой-то ПОС, то есть есть признаки нестандартного решения с неясной перспективой.

Сначала мне было грустно, а потом я нашел вещь не менее крутую, чем RC-Switch — Анализатор протоколов .

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

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

И тогда я многое понял.

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

Да, тут же, зубочисткой, прямо на экране ноутбука.

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

Забегая вперёд, это были тогда смутные догадки и смутный зуд в мозгу оформился в Библиотека управления переключателями Livolo , который позже был дополнен более компетентными товарищами декодером команд с родного пульта и портом всего этого объекта на Raspberry. Но поначалу команды были закодированы на русском языке бессмысленным и жестоким способом, т. е.

я просто перенес в код принятую последовательность импульсов для каждой используемой кнопки в масштабе 1:1. Меня также беспокоили реле, которые простаивали.

Жаль было бесцельно потраченных денег, поэтому прикрутил реле для питания модема (Хуавэй от МГТС на удивление часто зависает) и веб-камеры (зачем постоянно светить перед злыми хакерами?).

Да-да, я понимаю, это только двое из восьми, но это хоть что-то.

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

И тут так сложилось исторически: ведь вся периферия, которой я планировал управлять, использовала именно такой тип модуляции.

И мне показалось не очень рациональным прицеплять к Уно второй комплект трансивера.

Дальше стало еще интереснее.

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

Это оказался резонатор 433 МГц и чип кодирования той же системы, что и в радиорозетках.

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

.

типичные китайские датчики (протечки и дверцы)

Мой уютный дом

.

и внутри

Мой уютный дом

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

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

когда пропал интернет. Прохладный? Несомненно.

Комфортный? Оказалось, что это не так удобно, как казалось.

.

коробка, такая коробка

Мой уютный дом

.



Мой уютный дом

И дело даже не в том, что вам приходилось держать команды в голове и набирать в браузере бесконечные POST-запросы.

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

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

.

Я не дизайнер интерфейсов, не дизайнер

Мой уютный дом

.



Мой уютный дом

Однако я был удивлён, как быстро надоедает тот факт, что для его включения и выключения вообще нужен какой-то пульт. И мне хотелось большего.

Комфортный дом.



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

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

туалет. Если у вас нет умного дома, придется раздеться и привести в порядок освещение (а то и туалет в дороге заглянуть – плюс, ну кто спорит).

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

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

Но их может быть несколько.

А если умный дом будет не очень грамотным, то сразу выключится весь свет. И вы останетесь наедине с темнотой коридора.

Но я боюсь темноты и не хочу запутаться в пуговицах и шнурках.

Поэтому на первом этапе естественного управления умным домом я снова обратился к теме беспроводных звонков.

Поскольку я вспомнил, что кнопка звонка похожа на однокомандный пульт дистанционного управления, а команды этих пультов Arduino с RC-переключателем принимаются один или два раза, кнопка звонка превратилась в кнопку «Я дома».

.

Эта кнопка висит рядом с входной дверью.

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

И тогда веб-камера включится.

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

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

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

И ни одному коту случайно на хвост не наступишь, так что все довольны.

В то же время я изучал потенциал популярного датчика движения HC-SR501. Почему именно он, а не беспроводной датчик движения, ведь «только радио, только хардкор»? Все очень просто: беспроводной датчик движения будет постоянно загрязнять эфир своими криками, и в то же время будет отвлекать контроллер от их обработки.

А у диспетчера полно других дел.

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

Лирическое отступление.

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

Конструктивно ниша расположена практически под потолком (около 2 м), рядом с входной дверью.

.

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

А на двери датчик движения и веб-камера с насадкой широкоугольного объектива от смартфона.



Мой уютный дом

.

Камера и сенсор крупнее.

Неопрятный провод внизу справа - это кнопка сброса контроллера, куда ее девать пока не придумал

Мой уютный дом

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

То есть это как бы стратегическое место для контроля перемещений по квартире.

Именно поэтому к упомянутому датчику движения удалось прикрепить сразу три функции: управление светом в коридоре, на кухне и в некоторой степени охрану.

Логика проста.

Если включено автоматическое управление светом, то в зависимости от времени суток (управляется Android-брелоком в телевизоре и Таскере) свет включается либо в коридоре, либо на кухне.

А если при выходе была нажата кнопка «Я дома», то вместо управления светом датчик переходит в режим охраны и сообщает о каждом обнаруженном движении по почте.

И хотя датчик HC-SR501 прост как две копейки, есть некоторые странности.

Сначала свет работал как мигалка.

Я думал дело в расходе воздуха, так как датчик с этой точки зрения смотрит на довольно оживленное место.

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

Что смущало, так это то, что иногда после настройки все работало.

Правда, не очень долго.

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

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

Последнее является чисто эмпирическим.



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

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

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

Дело в том, что я не модифицировал датчик движения, и он «из коробки» держит сигнал активности в течение 3 секунд после обнаружения, а затем еще 2,5 секунды имеет заслуженный отдых.

То есть один цикл работы датчика составляет 5,5 секунды.

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

Но в такой ситуации вам придется крутиться перед датчиком не менее 6 секунд, а это, как показала практика, слишком много.

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

Что касается правила «трех минут», то оно тоже завоевано с трудом.

Кажется, можно было бы ограничиться одной и той же минутой, да? Не правда.

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

Но редко кому удается замереть сразу на три минуты — отсюда и интервал.

Работа автосвета на кухне менее сложна.

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

Он не может сделать это в одно лицо.

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

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

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

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

Ну и зачем нам мигалка или дополнительный садик с контроллерами и датчиками на кухне? Свет в шкафу обладает примерно таким же уровнем интеллекта.

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

Одно открытие двери – свет включается, второе – выключается.

И так по кругу.

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

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

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

Поначалу проще всего оказалось использовать тот же дверной датчик и тот же алгоритм: дверь открылась — елка горит, дверь снова открылась — елка не горит. И снова по кругу.

Только вот алгоритм гардероба хоть и работал, но оказался несовершенным.

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

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

И не трогайте выключатель света.



Комната полна людей
Собственно, ванная комната – один из классических примеров труднорешаемых проблем СКУД.

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

Я прочитал, что люди поднимают шум, и ужаснулся.

ИК-барьеры, ультразвуковые дальномеры, RFID-метки (они радостно сообщают: «ну их даже можно вживлять!») и тд и тп.

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

.

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

Мой уютный дом

Я сразу отказался считать количество людей.

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

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

В общем, когда бритва Оккама завершила разрез моей мечты, от нее осталось жалкое зрелище – т. е.

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

Техническая спецификация достаточно проста: 1) Свет должен включаться при появлении людей в ванной; 2) Свет нельзя выключать, пока кто-то находится в ванной; 3) Музыка должна работать, если включен свет и есть время.

Решение, более-менее удовлетворяющее всем условиям, в том числе и душевой кабине – комбинация датчика движения, датчика освещенности и датчика закрытия душевой двери.

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

.

датчик освещенности от фонарика и герконы для управления закрытием душевых дверей.

Синей изоленты не было, пришлось обойтись черной

Мой уютный дом

.



Мой уютный дом

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

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

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

В свою очередь, музыка (если это разрешено) играет синхронно со светом.

Особенность этой схемы в том, что она абсолютно адекватна в любой ситуации.

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

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

.

Но есть нюансы.

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

Это, конечно, минус.

Поэтому я думаю, что датчик веса нам тоже нужен — сами знаете почему.

Хотя это лишние провода в ванной.



Никакой уличной магии
Если сложить все это, то это именно то, что я хотел.

Копаюсь в коридоре - свет включается сам собой.

Я иду на кухню ночью и включается фоновое освещение.

Захожу в гардероб и тоже не пропадаю в темноте.

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

Дом просто следует естественному поведению своих обитателей.

.

так сказать музыкальный модуль для ванной.

В белой коробочке находится радиореле, которое просто включает динамик плеера.



Мой уютный дом

И вам не нужно нажимать кнопки или даже думать о них.

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

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

Температуру на улице всегда можно посмотреть либо на странице контроллера (вместе с последним значимым состоянием), либо в Интернете, либо в приложении/виджете на смартфоне благодаря сервису «Народный мониторинг» .

.

погода в смартфоне

Мой уютный дом

.

а это наш торговец погодой в здании от колокола.

Датчик DHT21 висит за окном, подключается белым кабелем с вилкой.



Мой уютный дом

.

внутри, как и у меня, бардак

Мой уютный дом

Плюс некоторые вещи, которые были сделаны просто ради этого.

То есть управление телевизором, медиаплеером и кондиционером.

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

Так что не нужно искать пульт от телевизора.

.

«Медиаконтроллер» практически спрятан в нише стеллажа; вы можете увидеть провод ИК-диода для телевизора и плеера

Мой уютный дом

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

А также автоматическое отключение воды при срабатывании датчиков протечки.

Он думает, что я обязательно где-нибудь накосячу.

Однако не без причины.

Поэтому то, что иногда возникают сбои в работе контроллеров – это, скорее, особенность системы, а не ее недостаток.

Честно говоря, я не планировал ничего делать для критически важных областей народного хозяйства.

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

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

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

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.