Голосовое управление звуком и светом. Голосовое управление домом — обзор возможностей

Рассмотрим несколько экспериментальных схем, реализующих голосовое управление нагрузкой. В основе частотных фильтров - микросхема LMC567CN. Выбор именно этой микросхемы обусловлен её экономичностью, так как предполагается, что микросхема может использоваться в устройствах с бестрансформаторным питанием, например, с гасящим балластным конденсатором. Если ограничений по экономичности питания нет, то можно применить биполярный функциональный аналог - микросхему типа LM567 (отечественный клон - КР1001ХА01). На рисунке показана схема, декодирующая частоту гласного звука «{Й”Э}» в командном слове «СВЕТ»:

В этой и следующих схемах микрофонный усилитель реализован на операционном усилителе DA1 типа КР140УД1208. Особенностью микросхемы является возможность установки тока потребления резистором (на схеме - R5), подключаемого к выводу 8DA1, что позволяет использовать схему в экономичном режиме. Коэффициент усиления задает резистор R4, включенный между выводами 2DA1 и 6DA1. Этим резистором устанавливают чувствительность схемы к голосовым командам. Резисторы R2 и R3 формируют виртуальную среднюю точку питания DA1, устанавливая на неинвертирующем входе 3DA1 примерно половину напряжения питания. С выхода 6DA1 усиленный сигнал через разделительный С3 и ограничивающий ток R6 поступает на ограничитель уровня переменного напряжения - два встречно параллельных германиевых диода VD1 и VD2. Диоды ограничивают сигнал на уровне ~300…400mV от пика до пика. Через R7 и разделительный С6 ограниченный сигнал поступает на вход 3DA2. Резисторы R9, R10 и конденсатор С7 задают частоту опорного генератора (центральную частоту ГУН). Резистором R10 добиваются появления низкого уровня на выводе 8DA2 при произношении команды «СВЕТ». На стоке транзистора VT1 (общая точка соединения резисторов R11, R12 и диода VD3) сигнал инвертируется - появляется лог.1. Триггер DD1.1 работает в режиме одновибратора, постоянная времени которого задана элементами R13 и С9. С указанными элементами время равно приблизительно одной минуте.

Как правило, звуковые помехи носят случайный и кратковременный характер. Интегрирующая цепь R12-С8 необходима для подавления этих помех. При декодировании команды «СВЕТ» или звука помехи, на выходе 8DA2 появляется низкий уровень и VT1 закрывается. Через R11 и R12 начинает заряжаться С8. Время заряда С8 больше длительности помехи, поэтому, гласную букву «Е» в слове «СВЕТ» следует произносить немного дольше обычного - свЕ-Е-Ет. Когда помеха прекращается, то С8, заряженный до некоторого уровня напряжения, быстро разряжается через VD3 и открытый канал сток-исток транзистора VT1. Это самый простой способ отсечь звуковые помехи с такой же частотой, что и звук гласной буквы «Е». Команда звучит дольше помехи, поэтому С8 зарядится до порога переключения триггера DD1.1 по входу «S». Триггер переключится в «единичное» состояние - на основном выходе лог.1, а на инверсном - лог.0. Через открытый VD4 конденсатор С8 быстро разрядится, а С9 начнет заряжаться через R13. В зависимости от логики работы исполнительного устройства, сигнал управления можно снять с выходов 1DD1.1 или 2DD1.1. Если во время работы исполнительного устройства опять поступит команда, то это ничего не изменит, т.к. С8 зашунтирован низким уровнем напряжения с 2DD1.1 через открытый диод VD4. Приблизительно через минуту напряжение на С9 достигнет порога переключения триггера по входу «R», триггер вернётся в исходное «нулевое» состояние и С9 быстро разрядится через открытый VD5. Нагрузка обесточится. Для проверки устройство собиралось на заводской перфорированной плате. Вместо транзистора КП501А (VT1) был установлен «телефонный» токовый ключ типа КР1014КТ1В:

Ролик, демонстрирующий работу схемы на РИС.1 показан ниже. Счёт имитирует звуковые помехи, при этом видно, что синий светодиод, установленный в стоковой цепи транзистора VT1, гаснет, но лампа не включается - длительность помех мала. Длительность команды «СВЕТ» больше - лампа включается. Команды «ЛАМПА» или «ГОРИ» не включают лампу:

Видео 1

Второй ролик демонстрирует работу устройства, реагирующего на команду «ГОРИ» с автоотключением нагрузки. Схема устройства не менялась - такая же, как на РИС.1, но опорный генератор DA2 подстроечным резистором R10 настроен на частоту звука «И». Кроме того, номинал резистора R4 в цепи обратной связи DA1 увеличен до 5,1 мегаома, что определило чувствительность усилительного тракта - команда подаётся с расстояния пяти метров от микрофона. Здесь также счёт имитирует звуковые помехи. Интересно отметить, что на команду «ВКЛЮЧИСЬ» устройство не реагирует, хотя гласный звук «И» по длительности совпадает с гласным звуком «И» в команде «ГОРИ». Можно предположить, что звук «И» после согласного звука «Ч» в команде «ВКЛЮЧИСЬ» имеет более высокую частоту по сравнению со звуком «И» после согласного звука «Р» в команде «ГОРИ»:

Видео 2

Предположим, при подаче питания триггер DD1.1 установился в состояние, при котором на выводе 2DD1.1 - лог.1, а на выводе 1DD1.1 - лог.0. Диод VD5 закрыт, а VD6 открыт и шунтирует конденсатор С8. Частота опорного генератора DA1 подстроечным резистором R4 настроена на частоту звука «{Й”Э}» в командном слове «СВЕТ». При произношении команды и декодировании, транзистор VT1 закроется, поэтому начнется зарядка С7. При достижении напряжением порога переключения DD1.1 по входу «S», триггер переключится в «единичное» состояние при котором на выводе 2DD1.1 - лог.0, а на выводе 1DD1.1 - лог.1. Лог.1 поступит на затвор VT2 и откроет его. Открытый канал сток/исток VT2 подключит конденсатор С6 параллельно конденсатору С5 - частота опорного генератора понизится. Устройство будет готово принимать команду «СТОП». Так как частота ГУН изменилась, то низкий уровень на выводе 8DA1 сменится на высокий и VT1 откроется. Теперь через открытый диод VD5 зашунтирован С7, а VD6 - закрыт, поэтому, если произносить команду «СТОП» для отключения нагрузки, заряжаться будет С8, что приведет к очередному переключению триггера DD1.1. В этой схеме также, как и в схеме на рисунок 1, элементы R7, С7, VD3 и R8, С8, VD4 предназначены для отсечения звуковых помех, частоты которых совпадают с частотами гласных звуков в командных словах. Диоды VD5 и VD6 обеспечивают правильный алгоритм работы, определяя очередность зарядки конденсаторов С7 и С8. Емкости конденсаторов С5 и С6 могут отличаться от указанных на схеме. Сначала, установив конденсатор С5 и подстраивая R4, добиваются реакции на команду «СВЕТ», затем подбирают емкость С6, подключая его параллельно к конденсатору С5, чтобы была реакция на команду «СТОП». Только после этого С6 включают в стоковую цепь транзистора VT2. На РИС.3 показана схема, реализующая управление лампой накаливания командами «ГОРИ» и «СТОП»:

Фактически схема совпадает со схемой на рисунке 2, но с некоторыми отличиями. В качестве коммутирующих элементов используются аналоговые ключи. В составе микросхемы К561КТ3 (или К1561КТ3) четыре таких ключа. В исходном состоянии ключ DD1.2 открыт, т.к. на выводе 2DD2.1 - лог.1, а ключ DD1.3 закрыт, так как на выводе 1DD2.1 - лог.0 и лампа накаливания EL1 не горит. Открытым каналом X-Y ключа DD1.2 подстроечный резистор R12 зашунтирован, тем самым исключен из цепи опорного генератора, поэтому частота ГУН определяется элементами R10, R14, С7 и настроена (резистором R14) на частоту звука «И» в командном слове «ГОРИ». При декодировании команды триггер DD2.1 переключается, поэтому ключ DD1.2 закрывается, а ключ DD1.3 открывается. Включается светодиод в твёрдотельном реле VS1 и лампа EL1 светится. Так как ключ DD1.2 теперь закрыт, то последовательно с резисторами R10 и R14 включается подстроечный резистор R12, значит, частота ГУН становится ниже. Резистором R12 её настраивают на частоту звука «О» в команде «СТОП». Резисторы R8 и R9 задают гистерезис переключательной характеристики вывода 8DA2, что способствует более чёткой отработке команд. Ключ DD1.1 работает как инвертор. Светодиод HL1 во время декодирования сигналов гаснет. Эта схема также проверялась на макетной плате и показала положительный результат работы:

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

Видео 3

На рисунке 4 показан вариант схемы, которая принимает командное слово с тремя гласными буквами. В качестве примера выбрана команда «СИСТЕМА». Такая команда может использоваться как запускающая некий электронный блок или служить звуковым «ключом» к активации схемы с другими голосовыми командами. Может использоваться любое другое командное слово, например, «САНУЗЕЛ» для управления светом в ванной или туалетной комнатах квартиры:

Отсев звуковых помех происходит иначе, чем в предыдущих схемах - за счет последовательного переключения триггеров, причём следующий триггер фиксирует состояние предыдущего. Если на входе появляется звуковая помеха, то, чтобы повлиять на состояние нагрузки, частота помехи должна измениться два раза и совпасть с частотами гласных звуков в командном слове в нужной последовательности, а это, как представляется, совсем маловероятно. В этой схеме исходная частота ГУН переключается два раза, таким образом, тональный декодер DA2 работает с тремя опорными частотами. В исходном состоянии открыт ключ DD1.2 и частота определяется элементами С7, R11 и R12. Подстроечным резистором R12 она настроена на звук «И». После того, как будет произнесён и декодирован звук «И» в слоге «СИ», ключ DD1.2 закроется и откроется ключ DD1.3. Теперь частоту ГУН задают элементы С7, R11 и R15, которым настраивают реакцию устройства на звук «{Й”Э}» в слоге «СТЕ». После декодирования звука «{Й”Э}» ключ DD1.3 закроется, но откроется ключ DD1.4, значит, частоту опорного генератора будут определять элементы С7, R11 и R18, которым настраивают частоту ГУН на звук «А» в слоге «МА». После произношения и декодирования звука «А» ключ DD1.4 закрывается и декодер DA2 перестает работать - его опорный генератор выключен, т.к. закрыты все ключи. Схема вернётся в исходное состояние по сигналу RESET, который получит от исполнительного устройства после выполнения следующих команд или завершения рабочего цикла объекта управления.

Если на входе появится помеха, соответствующая звуку «И», то триггер DD2.1 переключится - ключ DD1.2 закроется, а ключ DD1.3 откроется. Теперь частота помехи должна совпасть с частотой звука «{Й”Э}». Чудеса в нашей жизни случаются, но очень редко. Поэтому, через время Т=0,7*С8*R13 триггер DD2.1 вернётся в исходное состояние, так как работает в режиме одновибратора.

Если была команда и за звуком «И» последовал звук «{Й”Э}» (были произнесены слоги СИ-СТЕ), то через открытый диод VD5 переключенное состояние триггера DD2.1 зафиксируется - конденсатор С8 не сможет зарядиться до порога переключения триггера по входу «R». То же самое произойдет с триггером DD2.2, если вслед за звуком «{Й”Э}» декодируется звук «А» (будут произнесены все три слога СИ-СТЕ-МА) - его переключенное состояние зафиксируется открытым диодом VD7. Каждый основной выход предыдущего триггера соединён с входом данных (D) следующего, поэтому декодирование всего командного слова будет возможным только в случае, если гласные звуки следуют друг за другом в строгой (правильной) последовательности. Светодиоды, подключенные к схеме через усилители тока VT1 - VT3, индицируют декодирование гласных звуков. При декодировании последнего звука светодиод «А» остаётся включенным, пока на схему не поступит сигнал RESET от исполнительного устройства. При получении сигнала RESET светодиоды будут переключаться в обратной последовательности (от «А» до «И»), индицируя возвращение устройства (триггерных ячеек) в исходное состояние. На базе этой схемы практически опробована схема с командным словом «ВКЛЮЧИСЬ» и автоотключением нагрузки, показанная далее:

Схема декодирует гласные звуки {Й”У} и «И». Связь с вывода 4DD2.1 на вывод 12DD2.2 через VD5, обозначенная красным цветом, для демонстрации очерёдности срабатывания триггерных ячеек. Если это соединение убрать, то одновибратор DD2.1 через время Т=0,8 сек будет возвращаться в исходное состояние независимо от того, декодирована гласная «И» или нет. На тактовые входы «С» триггеров с выхода 8DA2 сигнал после декодирования подаётся не через инвертор, поэтому звук {Й”У} по времени не ограничен. Только после его окончания триггер DD2.1 переключится - на тактовый вход поступит высокий уровень напряжения. Длительность звука «И» ограничена временем Т=0,8сек. Цепочка R13-C9 задерживает появление высокого уровня напряжения на входе 9DD2.2 относительно появления его на входе 11DD2.2.

Ниже ролик показывает работу схемы на РИС.5. Из ролика видно, что после декодирования звука {Й”У} включается синий светодиод, индицирующий переключение первой триггерной ячейки, а лампа накаливания включается только после декодирования звука «И», т.е. после переключения второй триггерной ячейки, которая задаёт время работы нагрузки с помощью элементов R15 и C10. Возвращение в исходное состояние происходит в обратной последовательности: лампа выключается - одновибратор DD2.2 переключился в исходное состояние, и только потом гаснет светодиод - одновибратор DD2.1 переключился в исходное состояние. Подача других команд не приводит к включению лампы накаливания:

Видео 4

В устройствах на двух последних рисунках команды подаются обычным образом без растягивания гласных звуков в слогах. А в завершении темы для примера приведу ещё одну экспериментальную схемку. Эта схема как «единое» устройство не проверялась, но её отдельные узлы ранее были собраны и показали положительный результат в работе. Схема позволяет голосом включать, выключать и регулировать яркость лампы накаливания, то есть это устройство представляет собой голосовой диммер. Схема показана на рисунке 6:

Управляющая часть состоит из двух голосовых каналов, о работе которых рассказано в схемах на РИС.1 и РИС.2. Первый голосовой канал (DA2 и DD1.1) декодирует команду «СВЕТ» и управляет включением или выключением лампы EL1. Второй голосовой канал (DA3 и DD1.2) декодирует две команды - «ПУСК» и «СТОП», управляя диммированием. Симистором VS1 управляет микросхема DA5 типа К145АП2 в типовом включении. Микросхема имеет два входа управления - инверсный 3DA5 и неинверсный 4DA5. Функциональное назначение этих входов одинаково - первый кратковременный сигнал откроет симистор, и лампа включится, второй кратковременный сигнал - закроет симистор и лампа выключится. Если сигнал управления подавать длительное время, то микросхема вырабатывает импульсы, которые плавно отпирают или запирают симистор. Это приводит к изменению яркости лампы. Если выключить, а затем включить лампу, то яркость лампы будет такой же, как до выключения. Логика работы этих входов различна - вход 3DA5 управляется низким логическим уровнем, а вход 4DA5 - высоким. При декодировании команды «СВЕТ» триггер DD1.1 сформирует короткий импульс с низким уровнем напряжения, включающий лампу. При декодировании команды «ПУСК» триггер DD1.2 устанавливается в «единичное» состояние, поэтому на вход 4DA5 поступит высокий уровень напряжения и яркость лампы начнёт плавно изменяться. Если до этого момента яркость уменьшалась, то теперь она будет увеличиваться. Если до этого яркость увеличивалась, то теперь она начнёт уменьшаться. Если не подавать команду «СТОП» длительное время, то яркость лампы будет меняться от минимума до максимума (или от максимума до минимума) и обратно. После подачи команды «СТОП» и её декодировании, триггер DD1.2 вернётся в исходное «нулевое» состояние и регулирование прекратится - яркость лампы зафиксируется на выбранном уровне. Подав ещё раз команду «СВЕТ» можно выключить лампу - на входе 3DA5 триггер DD1.1 опять сформирует короткий импульс с низким логическим уровнем. Устройство получает питание через гасящий конденсатор С22 и однополупериодный диодно-стабилитронный выпрямитель VD9-VD10. Конденсатор С18 сглаживает пульсации. Микрофонный усилитель DA1 и тональные декодеры DA2, DA3 получают питание +5V от линейного стабилизатора DA4. Транзисторы VT1 и VT2 не только исполняют роль инверторов сигналов, а также согласуют логические уровни декодеров и триггеров. В приведенных экспериментальных схемах в качестве нагрузки использована лампа накаливания, но могут применяться различные другие объекты управления. Всё зависит от выдумки и области применения данных схем. Например, можно настроить тональный декодер на частоту гласных звуков «А» и «Ы», а коммутирующий элемент включить в цепь кнопки «TALK» говорящих часов. Тогда по команде «ЧАСЫ» часики подскажут текущее время. А в третьей, заключительной части, ознакомлю вас с ещё одной, практической схемой .

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

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

Ассортимент данных коммутационных аппаратов на сегодняшний день является достаточно обширным. Это распространяется не только на виды, но и на ценовые категории и некоторые особенности отдельных вариантов. Более того, существуют даже дизайнерские модели, которые предназначены для интерьеров все тех же «умных» домов.
Но, в целом, все современные выключатели делятся на следующие виды:

  • Хлопковые;
  • Акустические;
  • С датчиком движения и звука.

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

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

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

Плюсы и минусы

Звуковой или хлопковый выключатели сами по себе являются довольно уникальными аппаратами. Их главное преимущество перед стандартными моделями заключается в том, что человеку не нужно каждый раз прикладывать усилия, чтобы отключить или выключить свет. Кроме того, сделать это можно, находясь в любой части комнаты.
Все плюсы у подобных выключателей становятся интуитивно понятны из одного только названия. Голосовые и хлопковые модели на протяжении своего существования являются неотъемлемой частью любого умного дома, и приятным дополнением к обычной квартире.
Их основной минус для радиолюбителей будет в трудновоспроизводимой схеме. Все-таки, конструкция таких аппаратов куда сложнее, а значит и сделать их своими руками далеко не так просто. Если же найти и использовать простенькие схемы, то этот недостаток плавно отходит на второй план.
Кроме того, хлопковый выключатель, также как и звуковой, имеет ряд небольших недостатков, которые будут заметны абсолютно всем:

  1. Они могут реагировать на похожие звуки, особенно этим грешит голосовой вариант. Естественно, если произнести кодовую фразу в контексте, к примеру, обычного разговора, то свет в помещении среагирует на это.
  2. Мелкие недоработки могут стать причиной «заторможенности» реакции у данных аппаратов. Такое часто встречается, когда акустический выключатель, у которого конструкция несколько сложнее, был изготовлен своими руками. Так что, на этот фактор следует обратить особое внимание, прежде чем начать воспроизводить какие-либо схемы.
  3. Если сигнал — хлопок или команда, будут недостаточно громкими, то аппарат, скорее всего, не среагирует. Низкая чувствительность у подобных выключателей нужна для того, чтобы человек реже сталкивался с первой проблемой этого списка.

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

Можно ли сделать выключатель своими руками?

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

  • Напряжение сети должно быть 220 (В) — то есть, подойдет обычная лампа накаливания;
  • Мощность нагрузки не должна превышать 300 (Вт);
  • Температура в помещении не ниже -20 градусов, и не выше +45;
  • Звук регулируется от 30 до 150 децибелов;
  • Защита корпуса IP-30.

Это описание характеристик для популярной модели «Экосвет‑Х‑300-Л», на них можно сделать главный упор, поскольку именно этот вариант идеально подходит для обычной квартиры.
Чтобы сделать акустический выключатель своими руками, нужно также просмотреть подходящие схемы. Внутренности аппарата должны воспроизводиться по отдельной микросхеме. Если же обходиться без особых затрат по времени, то лучше всего покупать целые детали, из которых, с помощью схемы, можно будет создать работающую конструкцию.

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

Куда устанавливается выключатель?

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

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

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

Голосовое управление - именно та функция, которую все мы видели в кино. Человек заходит в дом, здоровается со своим невидимым помощником и дает ему всяческие команды. Всем известный Джарвис из Железного человека, ну кто не мечтает о таком помощнике?

Пока голосовое управление не вышло на такой уровень, как это описывают фантасты, но уверенно набирает обороты.

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

Вам не нужно доставать телефон и запускать приложение. Достаточно просто сказать - «запусти сценарий «Кино»» и в этом момент опустятся шторы, выключится свет и запустится фильм. Как в кино, согласны?

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

Голосовые команды могут быть любыми, начиная от конкретных элементов: «Включи телевизор», «Выключи торшер», или «Выключи музыку», до команд, запрограммированных в сценарии. Например, «Я ушел», «Сценарий дискотека», «Включи Кино», «Включи отопление», в которых исполняется не одно действие, а ряд действий ради достижение конкретной цели.

Управление может происходит с телефона либо через микрофон в помещении. Более того, мировые бренды не стоят на месте и постоянно выпускают голосовых помощников, таких как Google Home, Apple HomeKit или Amazon Echo.


Ноябрь 2017 года, на календаре отображалось число одиннадцать. Распродажа на Aliexpress шла полным ходом, руки чесались что-нибудь купить. Выбор пал на "Ми-свет RGBW светодиодный лампы AC86-265V удаленного управление Smart освещения ". В итоге были приобретены два экземпляра максимальной мощности, на 9 ватт, и хаб-контроллер MiLight WiFi iBox. Доставка из Китая не заставила себя долго ждать, а спустя 4 месяца, 13 марта 2018, (платформа, позволяющая сторонним разработчикам добавлять умения голосовому помощнику «Алиса»). Следом Алиса научится управлять освещением (и не только) у вас в квартире, а мы с вами ей в этом поможем, поэтапно и без единой строчки кода.

1. Настройка умных ламп от Xiaomi.

Первое, что необходимо сделать, это настроить управление лампами, хотя бы с помощью приложения от Xiaomi. Если для вас этот этап пройден, смело переходите далее, к настройке сервера умного дома, или еще дальше, непосредственно к интеграции Алисы и openHAB. Но, обо всем по порядку. Сами лампы к вашему домашнему роутеру не подключатся, для этого нужен хаб iBox, который может контролировать до четырех групп источников света. Необходимо подключить его к сети, а затем связать с ним лампы.
  1. Подаем питание на iBox , подключив его по usb, к примеру, к зарядному устройству для телефона.
  2. При первом подключении необходимо сбросить настройки хаба, поэтому нажимаем RST .
  3. Далее устанавливаем на телефон приложение от Xiaomi под iOS или Android . Убеждаемся что телефон подключен к домашней сети Wi-Fi.
  4. Открываем приложение Mi-Light 3.0 , нажимаем + . Тут нас интересует вкладка Smart Link .
  5. Вводим названием и пароль домашней Wi-Fi сети, к которой подключен телефон и планируется подключить iBox .
  6. Сейчас у вас iBox должен быть подключен к сети, а индикаторы SYS и LINK должны моргать, медленно и быстро соответственно. Если это не так, нажмите RST еще раз.
  7. Если индикаторы мигают, нажмите в приложении Start Configuration , начнется процесс настройки подключения для хаба.
  8. Через секунд десять мигание прекратится, затем SYS снова начнет медленно моргать, а LINK останется гореть. В приложении отобразится сообщение Configured . Хаб подключен к сети. Если в списке Device List его нет, то просто нажмите Searching for device .
Уже сейчас можно поуправлять цветом и яркостью самого iBox, но нам необходимо подключить лампы. Для этого выполним привязку ламп к одной из четырех зон, доступных хабу для управления.
  1. Открываем в приложении Mi-Light 3.0 из списка хаб Mi-Light . Заходим в раздел Colors .
  2. В верхней части экрана выбираем одну из зон, пусть будет Zone1 . И нажимаем на иконку связывания устройств в правом верхнем углу. Откроется экран LINK/UNLINK с инструкцией.
  3. Теперь настраиваем те лампы, которые мы хотим привязать к Zone1 , управление ими в дальнейшем будет происходить синхронно. Для управления яркостью и цветом каждой лампы в отдельности, их надо отнести к отдельным зонам. Итак, включаем лампу, и в течение первых трех секунд нажимаем в приложении Link . Если лампа моргнула три раза, то все отлично, синхронизация прошла успешно. Можно управлять лампой.


В принципе, на данном этапе у вас уже есть пульт для удаленного управления светом. Более того, вы можете написать свою систему управления освещением, благо протокол общения с хабом давно известен (когда-то он был доступен по ссылке limitlessled.com/dev ). Есть готовые библиотеки на php , javascript , python . Но управление это возможно только из локальной сети, чего для Алисы явно не достаточно. Попробуем решить данную проблему.

2. Установка openHAB

Кратко, что такое openHab . Это сервер для управления умным домом с открытым исходным кодом. Разрабатывается сообществом, поддерживает управление огромным количеством устройств. Есть мобильный клиент, есть возможность управления Алексой от Amazon и ассистентом от Google. Написан на java, на базе фреймворка Eclipse SmartHome . А значит его можно установить хоть на холодильник, главное чтобы на этом холодильнике работала виртуальная машина Java. Инструкции по установке есть для Linux , Windows , Mac OS , Raspberry Pi , для различных сетевых хранилищ Synology и QNAP . Быстро пробежимся по первому варианту.
  1. Добавляем ключи репозитория:

    Wget -qO - "https://bintray.com/user/downloadSubjectPublicKey?username=openhab" | sudo apt-key add - sudo apt-get install apt-transport-https

  2. Добавляем сам репозиторий:

    Echo "deb https://dl.bintray.com/openhab/apt-repo2 stable main" | sudo tee /etc/apt/sources.list.d/openhab2.list

  3. Обновляемся и ставим сервер вместе с дополнениями:

    Sudo apt-get update sudo apt-get install openhab2 sudo apt-get install openhab2-addons sudo apt-get install openhab2-addons-legacy

  4. Настраиваем автоматический запуск сервиса после перезагрузки устройства и запускаем его:

    Sudo systemctl start openhab2.service sudo systemctl status openhab2.service sudo systemctl daemon-reload sudo systemctl enable openhab2.service

  5. Теперь ждем в районе 15-20 минут (это не преувеличение, это суровая реальность с шутками про скорость работы Java), пока он загрузится и по адресу http://openhab-device:8080 появится веб интерфейс.
  6. На этой странице нас интересует пункт Paper UI . Именно с этим типом интерфейса будем работать в дальнейшем.

3. Управление светом через openHAB

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

4. Внешний доступ к openHAB

По соображениям безопасности, после описанных выше манипуляций, управление сервером умного дома возможно только из локальной сети. Этого для нашей задачи явно не достаточно. Вариантов настройки несколько : настроить VPN для доступа из интернета к локальной сети, сконфигурировать реверсивную прокси или же соединить ваш сервер с сервисом myopenHAB Cloud по адресу myopenHAB.org. Так-как в России число сотрудников Роскомнадзора прямо пропорционально числу пользователей VPN и прокси-серверов, воспользуемся последним вариантом.
Не следует множить сущее без необходимости
  1. Регистрируемся на сайте myopenHAB , авторизуемся и заходим по адресу https://myopenhab.org/account . На данной странице нас интересуют два поля: openHAB UUID и openHAB Secret . Именно они позволяют организовать связь серверов. Давайте разберемся где их взять.
  2. Заходим в панель управления PaperUI openHAB .
  3. Открываем раздел Configuration Add-ons Misc .
  4. Устанавливаем openHAB Cloud Connector .
  5. В Configuration Services должен появиться модуль openHAB Cloud с режимом "Notifications & Remote Access ".
  6. В Configuration System Add-on Management должен быть активирован переключатель "Acceess Remote Repository ".
  7. После установки аддона, искомые нами данные окажутся в файлах /var/lib/openhab2/uuid и /var/lib/openhab2/openhabcloud/secret (userdata/uuid и userdata/openhabcloud/secret , если ставили не из пакета). Вводим их в настройках аккаунта на myopenHAB и жмем Update . Если все настроенно корректно, то слева от адреса вашей почты должно появиться слово "Online ". Это говорит о том, что доступ к вашему умному дому из сети интернет открыт, но сразу Алиса им воспользоваться не сможет. Для начала надо сделать доступным снаружи настроенное ранее устройство.
  8. Переходим в раздел Configuration Services openHAB Cloud Configure .
  9. В списке Items to expose to apps such as IFTTT активируем чекбокс для элемента управления яркостью и нажимаем Save .
  10. Через некоторое время проверяем, что выбранный элемент присутствует в списке на странице myopenhab.org/items со статусом "ON ".

Теперь управление лампой возможно из интернета, через API openHAB Cloud, которое поддерживает авторизацию по OAuth2. Но, к сожалению, клиенты заранее предопределены, это Alexa, Google Assistant и сервис IFTTT. Алисы в данном списке пока нет. Но это не проблема!

5. IFTTT

Если это тогда то.

Сервис, позволяющий выстроить из нескольких сервисов цепочку действий. Условно отреагировать действием в одном сервисе, если сработал триггер на событие в другом сервисе. IFTTT поддерживает огромное количество сервисов, в том числе и интересующий нас myopenHAB. Но не поддерживает Алису. Вообще, любой желающий может создать там модуль для своего сервиса, в первую очередь для этого надо связаться с отделом продаж и выяснить размер вашего ежегодного платежа в пользу IFTTT. Наша же цель бесплатно воспользоваться сервисом, чтобы иметь возможность перенаправлять запросы от Алисы к openHAB.
  1. Регистрируемся на сайте ifttt.com и заходим в Applets New Applet .
  2. После нажатия + this , необходимо выбрать сервис, событие в котором будет являться триггером. Т.к. сервиса Алисы в списке нет, нам надо выбрать что-то, что сможет получать от нее команды. Это сервис Webhooks . Нажимаем Connect .
  3. Далее выбираем из списка с одним пунктом триггер "получение web запроса ".
  4. Указываем имя события, к примеру light_on , и жмем Create .
  5. Теперь надо выбрать ответное действие, нажимаем на + that . Наш выбор openHAB , подключаем.
  6. В открывшемся окне, упомянутой ранее OAuth2 авторизации, кликаем по Allow .
  7. Доступна единственная реакция "отправить команду ".
  8. Из выпадающего списка выбираем элемент управления лампой (например Light_Switcher), а в качестве команды включения света указываем слово "ON ". Создаем.
Для проверки нам необходимо вызвать триггер у сервиса Webhooks. Как это сделать? Отправить POST запрос.
  1. Ищем на сайте IFTTT сервис Webhooks и заходим в связанную с ним документацию.
  2. На открывшейся странице есть команда, которую нам надо выполнить, заменив {event} на light_on .
  3. После нажатия на Test It , ваша лампа должна включиться.
Осталось создать аналогичный рецепт для события light_off, который будет отправлять команду OFF элементу управления светом. А затем научить Алису вызывать эти триггеры по нашему желанию.

6. Алиса

По моему веленью, по моему хотенью Алиса включит свет, если использовать платформу Яндекс.Диалоги . Платформа открылась в марте этого года и позволяет любому желающему добавить Алисе умений, за счет написания соответствующего кода. На данный момент в каталоге уже представлено огромное количество умений. Разработка умения, это тема для отдельной статьи на хабре, а у нас тут "без единой строчки кода ". Так что воспользуемся имеющимися наработками.
  1. Устанавливаем , только в нем на данный момент есть поддержка пользовательских умений .
  2. Говорим Алисе "включи волшебные заклинания ". Именно умение волшебные заклинания /волшебное заклинание позволит нам выполнять POST запросы к серверам IFTTT .
  3. Нажимаем Добавить и указываем адрес для включения света вида:

    Https://maker.ifttt.com/trigger/light_on/with/key/{user_id}

  4. Следующим шагом произносим фразу или слово, на которое Алиса будет реагировать выполнением запроса по указанному адресу (моя Алиса отвечает на «включи свет»).
Если вы теперь нажмете на соответствующую кнопку или озвучите предложение, то запрос от серверов Яндекса поступит на сервер умения, оттуда в IFTTT, следом в myopenHAB, который передаст данные в ваш локальный инстанс, имеющий непосредственный доступ к хабу ламп, и свет включится. Аналогичную команду сразу добавим и для выключения освещения.


Надо понимать, что недостаточно просто включить Алису и произнести "включи свет ". Яндекс ничего не знает о наших командах для умного дома, данные о них хранятся в базе умения "волшебные заклинания ". Поэтому сначала нужно вызвать умение, произнеся "включи волшебные заклинания ", а уже потом включать и выключать свет голосом.

P.S.

Подход с интеграцией Алисы и openHAB через IFTTT ни чем не ограничивает вашу фантазию. Вы можете с помощью умения "волшебные заклинания " голосом управлять любыми вещами в вашем умном доме. К примеру, в openHAB есть биндинг для Samsung SmartTV, который позволяет управлять звуком и каналами телевизора. Взаимодействие Алисы и Webhooks представляет из себя реализацию голосового интерфейса ко всем сервисам IFTTT, "волшебные заклинания " позволяют выполнить команду любого из них. А можете вообще не использовать Алису, и написать свой фронтэнд, к примеру мобильное приложение, которое будет выполнять запросы к IFTTT через все те же Webhooks. Да и IFTTT использовать не обязательно, по аналогии можно настроить "волшебные заклинания " на выполнение запросов к вашему серверу.

Сама по себе система «Умный дом» подразумевает дистанционное управление практически всеми доступными приборами и устройствами.

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

Для медиа-устройств еще должны работать функции «тише/громче», для освещения – «ярче/темнее».

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

Для чего необходимо управление «Умным домом» голосом

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

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

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

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

Во-вторых, его аккумулятор может разрядиться, сам смартфон может потеряться, попасть в руки злоумышленников. Поэтому оптимальное решение для «Умного дома» – устройство голосового управления. Это устройство избавит обитателей дома от необходимости держать в каждой комнате по ПДУ, запоминать разные алгоритмы работы.

Такое управление в системе «Умный дом» приводит к ненужности разнокалиберных ПДУ, работающих на разные «точки входа».

Самодельная система голосового управления освещением

Сделать своими руками управление освещением голосом – задача не из простых. Для ее решения мало одного желания.

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

Но сделать самому голосовое управление светом по принципу «Вкл./выкл.» – это просто смастерить эффектную игрушку. Ведь если сделать так, что голосом можно управлять только включением или выключением отдельно взятого осветительного прибора или группы приборов, то почему нельзя такую же функцию распространить и на другие устройства?

Чтобы уже получилась законченная, открытая для расширения система, получившая название «Умный дом».

Готовые модули для работы с голосом

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

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

Наиболее доступные для самоделок модули:

  1. Voice Recognition Module V3.1 (FZ0475);
  2. Robotech SRL EasyVR Shield0;
  3. Voice Recognition Module LD3320;

Каждый из этих модулей имеет свои достоинства и недостатки. Elechouse Voice Recognition Module V3.1 ориентирован на работу с комплектом «Arduino».

Robotech SRL EasyVR Shield 5.0 имеет три алгоритма работы – точный, фонетический и тоновый. Voice Recognition Module LD3320 умеет редактировать ключевые слова.

Простейший голосовой выключатель освещения

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

В простейшем случае в состав такого прибора войдут:

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

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

Контроллер собран на базе микроконтроллера «Аtmega8», имеющего собственные оперативное и постоянное запоминающие устройства.

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

Как работает голосовой выключатель

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

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

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

Далее может последовать любая команда: «Включи люстру», «Включи торшер», «Включи ночник». Эти сигналы должны быть запрограммированы при настройках прибора. Команды распознаются модулем, передаются на контроллер.

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

Включение голосового управления светом в систему «Умный дом»

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

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

Заключение

Существуют разработки для смартфонов, позволяющие управлять голосом системой «Умный дом».

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

Для самодельной системы, собранной на базе «Arduino» таких ограничений нет.

Можно делать и подключать к «Умному дому» любые устройства, а не только освещение.

Видео: Голосовое управление освещением Lutron, Alexa