Не так давно небезызвестный Леонид Каганов в своём дневнике рассказал о том, как потешить душу настоящего хардкорного DIY-щика. Если вы хотите, чтобы ваша поделка ещё и приносила пользу в вашем же доме, то описанная ниже система дистанционного управления светом в доме — отличное занятие на выходные. Идея умного дома уже здесь, и реализовать её совсем не дорого!

Как сделать дистанционное управление светом в доме

Ну, вы же знаете, что я фанат идеи «умного дома», по первому диплому электронщик и поэтому иногда тоскую без паяльника. Поэтому сегодня расскажу вам интересные и полезные вещи. Читатели дневника — электронщики из Белоруссии компании «НООТЕХНИКА» прислали мне несколько электронных выключателей, которые я тут же начал пристраивать по всей квартире. Это целая серия электронных устройств, которыми белорусские электронщики опережают по цене/качеству китайские разработки.

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

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

Как сделать дистанционное управление светом в доме

Пультик выглядит так. На фотке его рассматривает Стаська и заехавший в гости музыкант Костя Арбенин. Пульт можно наклеить в любом месте квартиры — там литиевая батарейка, на годы хватит:

управление светом в квартире с пульта

Сам коммутатор — это маленькая коробочка с антенкой и четырьмя проводками: два в сеть, два к лампочке. На снимке коммутатор для ламп накаливания SN111-500 — до 500Вт (бывают и 5000Вт), он регулирует яркость. Внешне похожие, но пластиковые (без алюминиевой стороны) — коммутаторы для люминесцентных ламп. Наука физика не оставляет возможности регулировать яркость люминесцентных ламп, но их можно просто включать или выключать.

брелок для включения света в квартире

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

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

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

настройка яркости света с брелка

Настройка проста. Подробно цитировать инструкцию не буду, но смысл в том, что надо нажать неприметную кнопку (сдавливанием корпуса) и перейти в режим привязки пульта. Похожая кнопка есть и на пульте. Любой пульт можно привязать к любому устройству, и не только к одному. Все вместе это еще дает возможность задавать сценарии, например пульт у входной двери, отключающий/включающий сразу все лампы в квартире. Привязка устройств не зависит от перебоев энергии и сохранится на годы. Что такое «сценарий»? Допустим, у вас во всех комнатах установлены электронные выключатели, а у двери пульт PU212 (или в кармане брелок PN313). Там есть кнопка «сценарий». Устанавливаем свет в нужное состояние — на кухне включим, в ванной выключим, в комнате выведем средний уровень яркости, после чего удерживаем кнопку сценария несколько секунд (пока светильники не мигнут). Теперь, придя домой вечером, в темноту, можно еще за дверью нажать с пульта кнопку сценария (или у двери в прихожей), и свет во всех местах станет таким, как надо.

управление светом при помощи сенсорного выключателя

Один раз привязали пульт — и всё, запихиваем устройство в щель (по счастью у стандартных трехклавишных выключателей такая щель есть).

интересный выключатель

Дорогой Станислав Леонидович! Поскольку вы малого пока роста, мы сделали вам отдельный выключатель света в ванной (как вы догадались, я его просто запараллелил с соответствующей клавишей). Выбирай, Станислав, где тебе удобнее будет его наклеить, чтобы самому включать свет? Ребенок выбирает… наклеить в самой ванной. Я честно пытался ему объяснить, что это не самое удачное место (хотя я видал в жизни и такое). Объясняю: лучше повесить снаружи, чтоб не бегать в темноту и искать выключатель наощупь. Но Станислав Леонидович был непреклонен: хочу, говорит, в ванну сюда, и только сюда. Наощупь найду, а что касается темноты — так я ее не боюсь! Гордый. Ну — дело твоё. Мнение молодого человека уважаем:

как самостоятельно сделать выключение света с брелка

Следующая задача — оборудование люстры. В люстре у меня давно стоят энергосберегающие, а чтобы свет можно было плавно уменьшать, добавляем еще маленькую лампочку накаливания, миньон. Запускаем в светило 200 вольт и ставим два коммутатора. Один для люминесцентных, он будет включать и выключать их. Другой — для ламп накаливания, он будет регулировать яркость миньона:

управление светом в доме с брелка

Пульты можно теперь приклеить в любое удобное место (да еще продублировать), забыв все проблемы проводов как страшный сон. А у NooLite еще есть и портативная версия пульта — брелок:

как работает дистанционное управление

Кстати, радиус действия большой — достаточный для управления квартирой или офисом. В процессе экспериментов я сходил с пультом на пару этажей выше, но работало и оттуда. Поскольку был в домашних тапочках, выше переться было лень, так что точный радиус я не знаю, но ясно одно — он вполне достаточен. Внутри всех этих штук стоит довольно умная схемка. Она занимается не только тупым включением, но еще запоминает состояния и делает прочие мелкие сервисы. Например, ты выкрутил яркость на минимум (все потухло) и затем вообще выключил (выключение — специальная кнопка, чтобы каждый раз не перенастраивать яркость). Но при следующем включении какую яркость тебе дать? Какую ты установил в прошлый раз — темноту полную? Так будет непонятно, включился свет или нет. Поэтому в этом случае все равно свет включается на минимум — чтобы показать, что он на минимуме. На этом простом примере мы видим, что создатели продумали очень много мелочей.

некоторые мелочи про дистанционное управление

Цена комплекта «пульт+выключатель» в среднем чуть меньше 1000 руб, что для такой штуки очень мило. Напоминаю, сайт производителей: http://noo.com.by.

Минусы — не обнаружены. Есть немного непривычная задержка в полсекунды: ты нажал на кнопку, а свет включился не в тот же миг. Но это вопрос привычки. Точно так же вопрос привычки сами сенсорные выключатели. И вот здесь бы я предложил разработчикам подумать о серии выключателей с другим дизайном. Не говоря уже о цвете, форме, имело бы смысл сделать серию выключателей с более эргономичными кнопками. Все-таки плоские сенсоры без хода под пальцем — это стиль хайтек. А возможно многие домохозяйки и домохозяева предпочтут выпуклые удобные кнопки, которые бы ощутимо нажимались или даже щелкали. Ну и конечно регулировку яркости имело бы смысл сделать (на правах варианта дизайна) не двумя кнопками, а большим удобным колесиком. Но это так, идея.

PS: Разработчики, кстати, по секрету рассказали, что сейчас готовится USB-модель пульта, работающего от компьютера. И у меня конечно сразу зачесались руки осуществить давнюю мечту — управление голосом.

USB-выключателя пока в продаже еще нет, но я уже поинтересовался, что в мире есть для распознавания голоса. И нашел для себя гугловский API, с помощью которого собрал пока систему проигрывания музыки по запросу. Например, если сказать «музыка осень», система полезет в мой музыкальный архив, выберет там все песни со словом «осень» в названии и начнет их играть. Работает! Вчера вечером весь день разговаривал с микрофоном. Правда, с расстояния нескольких метров от микрофона ноутбука речь Гугль разбирать перестает. И много делает ошибок. Например, мне так и не удалось его заставить играть песни со словом «весна» — он переводил как «авто» и запускал в плейлист не только все треки со словами «автоматика», «автобус», но и 2000 треков из папки «АВТОрская песня и шансон», что оказалось совсем невыносимо. Плохо было и с английским языком. Я конечно понимаю, что мой акцент ужасен, но распознать «Jesus Christ Superstar» как «проститутка» — да ты, Гугль, запредельный кощунник. Кому интересно, как я с этим вчера экспериментировал, ниже скриптики (для Линукса). Очень надеюсь, что в ближайшие лет пять распознавание голоса будет активно совершенствоваться, а USB-выключатели появятся раньше ;)

Суть распознавания речи состоит в том, что у Google имеется некий API ‘https://www.google.com/speech-api/…’, на который методом POST можно отправить звуковой ролик специального формата, а в ответ (json) получить распознанные слова. Собственно наша задача — распознать звук среди тишины, сконвертировать в аудиофайл, отправить на Гугль, получить ответ и обработать. Для начала я установил в Линуксе нужные программки:

sudo apt-get install sox flac php5-curl php5-cli

Делаем такой основной файл voice.sh, он делает все операции и запускает плеер xmms:

#!/bin/bash

while [ true ]; do

rec -c 1 -r 16000 voice.wav silence 1 0.3 3% 1 0.3 3%

flac -f -s voice.wav -o voice.flac

play voice.flac

text=`php google.php`

echo 'Google: '$text

res=`php music.php $text`

echo $text $res >>log.txt

if [ "$res" = "OK" ] ; then xmms list.m3u ; fi

done

А вот вспомогательные. Програмка google.php отправляет на Google файл voice.flac и получает распознанный ответ:

#!/usr/bin/php

'@voice.flac'));

curl_setopt($ch,CURLOPT_URL,

'https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU');

curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type: audio/x-flac; rate=16000'));

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $r=curl_exec($ch); curl_close($ch);

$json=json_decode($r,true);

if(empty($json['hypotheses'][0]['utterance'])) die('');

die($json['hypotheses'][0]['utterance']);

?>

Програмка music.php (после суеты с кодировками) смотрит, было ли в тексте первое слово «музыка», а если было, то ищет среди музыкальных файлов архива нужные слова в названии составляет плейлист:

#!/usr/bin/php


// трансляторы в cp1251

function uw($txt) { return(iconv('utf-8','cp1251//TRANSLIT//IGNORE',$txt)); }

function wu($txt) { return(iconv('cp1251','utf-8//TRANSLIT//IGNORE',$txt)); }

$a=array(192,193,194,195,196,197,168,198,199,200,201,202,203,204,205,206,

207,208,209,210,211,212,213,214,215,216,217,219,220,218,221,222,223);

$w1251up=''; foreach($a as $l) $w1251up.=chr($l);

$a=array(224,225,226,227,228,229,184,230,231,232,233,234,235,236,237,238,

239,240,241,242,243,244,245,246,247,248,249,251,252,250,253,254,255);

$w1251lo=''; foreach($a as $l) $w1251lo.=chr($l);

function strtolower2($s){ return strtolower(strtr($s,$GLOBALS['w1251up'],$GLOBALS['w1251lo'])); }

// трансляторы в cp1251

// первое слово ‘музыка’?

if($argc$l){ $l=uw(trim($l,»\n\r\t «));

$s=strtolower2($l); if(strstr($s,$v)) $e.=wu($l).»\n»; }

// создаем плейлист

if(!empty($e)) { file_put_contents(‘list.m3u’,$e); die(‘OK’); }

die(‘error: not found’);

?>

Ну и сделал (find . > mp3.txt) файлик со списком всех 22000 песен домашнего архива, типа:

/r/mp3/CLASSIC/Mussorgsky/Os grandes clАssicos/03 Preludio a la escena de la Cor.mp3

/r/mp3/CLASSIC/Mussorgsky/Мусоргский/05. Прогулка.mp3

/r/mp3/CLASSIC/Mussorgsky/Мусоргский/14. Избушка на курьих ножках.mp3

...

/r/mp3/СТАРЫЕ_ПЕСНИ/Марк Бернес/22-Ya rabotayu volshebnikom.mp3

/r/mp3/СТАРЫЕ_ПЕСНИ/Марк Бернес/01-Moskvichi.mp3

…и до бесконечности

Еще надо соответственно убедиться, что микрофон работает, после чего запустить voice.sh и пытаться что-то сказать. Например — «музыка осень», и насладиться количеством песен с этим словом в названии в своей личной коллекции:

/r/mp3/CLASSIC/Свиридов/06 Весна и осень.mp3

/r/mp3/РАЗБЕРИ/lleo/from_sonny/mp3/ДДТ/Что такое осень.mp3

/r/mp3/АВТОРСКАЯ И ШАНСОН/Олег Митяев/02 Светлое прошлое/05 Что ж ты, осень....mp3

/r/mp3/РУССКИЙ_РОК/DDT/1992 - Актриса Весна/ДДТ - В последнюю осень.mp3

/r/mp3/РУССКИЙ_РОК/DDT/1992 - Актриса Весна/ДДТ - Что такое осень.mp3

/r/mp3/РУССКИЙ_РОК/DDT/1993 - Чёрный Пёс Петербург/Диск 2/ДДТ - Осень.mp3

/r/mp3/РУССКИЙ_РОК/DDT/1993 - Чёрный Пёс Петербург/Диск 2/ДДТ - Что такое осень.mp3

/r/mp3/РУССКИЙ_РОК/DDT/1997 - Акустика/Диск 1/Ю. Шевчук - Осень, мертвые дожди.mp3

/r/mp3/РУССКИЙ_РОК/DDT/1997 - Акустика/Диск 2/Ю. Шевчук - В последнюю осень.mp3

/r/mp3/РУССКИЙ_РОК/DDT/1997 - Акустика/Диск 2/Ю. Шевчук - Что такое осень.mp3

/r/mp3/РУССКИЙ_РОК/DDT/Disk 1/14 DDT - Что такое осень.mp3

/r/mp3/РУССКИЙ_РОК/DDT/Disk 1/DDT - Осень.mp3

/r/mp3/РУССКИЙ_РОК/Алиса/Танцевать/04 Алиса - Знаки (Осень).mp3

/r/mp3/РУССКИЙ_РОК/Московское время/НЕ РАСПРОСТРАНЯТЬ!!!/05 Осень.mp3

/r/mp3/РУССКИЙ_РОК/Паперный ТАМ/2004 Танцы/07 Осень, сентябрь.mp3

А вот «музыка моря»:

Google: музыка моря

/r/mp3/АВТОРСКАЯ И ШАНСОН/Вертинский/REMIX/08 Девочка с моря.mp3

/r/mp3/АВТОРСКАЯ И ШАНСОН/Новелла Матвеева/01 Песня моряка.mp3

/r/mp3/ДЕТСКИЕ/Detskie pesny/124_Песня Голубого Щенка и Моряка (Г. Гладков - Ю. Энтин).mp3

/r/mp3/РУССКИЙ_РОК/Гарик Сукачев/Моряк с Ордынки.mp3

/r/mp3/СТАРЫЕ_ПЕСНИ/Владимир Макаров/27-Морячка.mp3