Голосовое управление своими руками | Мастер-класс своими руками
Привет друзья. Сегодня я хочу рассказать и показать Вам свою самоделку, которая использует голосовое управление. Фактически это включатель-выключатель с голосовым управление. Особенностью данной самоделки является то, что данный прибор может не только по голосовой команде управлять нагрузкой, но и может отвечать голосовыми командами, записанными ранее на флеш карту.
По внешнему виду устройство получилось такое невзрачной. Это моя вина, но я не ставил перед собой цели сделать его красивым, просто было лень. Собственно, по этой же причине я вывел минимум приспособлений для управления данным устройством, из которых на передней панели только ручка управления громкостью звука ответчика и приемник флеш карт, который по началу тоже хотел запихать внутрь.
Что же может этот выключатель? Он может выключать 3 нагрузки независимо друг от друга. Работает от следующим образом: в выключателе я организовал повышенную помехоустойчивость от нежелательных включение. Выражается это в том, что для выключения нужной нагрузки нужно сначала обратиться к прибору.
Обращаемся к выключателю «Ардуино», если выключатель отвечает «Слушаю», то произноси следующую из трех, назначенных мной, команд: «Лампа», «Гирлянда», «Свет». После принятия команды устройство переведет состояние подключенного прибора на противоположное: если лампа горела – выключит, если не горела – включит. И ответит, пример: «Лампа выключена» или «Лампа включена» …
Проще говоря, наш диалог с выключателем будет состоять следующим образом:
— Ардуино.
— Слушаю.
— Свет.
— Включаю свет.
Можно конечно же было запрограммировать модуль конкретными командами: «Включить свет», «Выключить свет», но я решил сделать так, чтобы одна команда и включала, и выключала.
Все ответы записаны мной на флеш карту. Это обычные файлы WAV формата. Текст читал сайт английского перевода. Это может быть любая другая программа, умеющая читать текст. Или вообще эти ответы можете записать Вы сами или Ваши родственники…
Я не знаю плюс это или минус, но данное устройство чувствительно к тембру голоса. То есть, к примеру, мою жену он пре признавал, пока я не записал отдельно её голос на модуль. И ответы я ей сделал другие: мне отвечает женщина, а ей мужчина. Прикольно, не правда ли?)
Ну теперь давайте наконец перейдем к испытания сего девайса. Включаем в сеть, подключим одну нагрузку.
Необходимо секунд 5 подождать пока загрузиться сам модуль, пока контроллер обратиться к модулю, пока плеер инициализирует флешку и фалы на ней…
Вот так вот работает данный выключатель. Теперь давайте посмотрим на начинку выключателя. Снимаем верхнюю крышку. Первая плата плеера с усилителем. Именно она воспроизводит ответы, записанные на флешку. Управляется плата с помощью UART протокола. Команды посылает контроллер расположенный на второй плате, к которой мы вернемся чуть позже. Далее третья плата – блок питания с силовыми ключами выполнена на семестрах. Вся схема имеет гальваническую развязку по напряжению. Плата так же управляется контроллером. Блок питания выдает 5 вольт стабилизированного напряжения. Силовые ключи могут выдержать нагрузку около 200 Вт на канал. Теперь перейдем на вторую плату. На ней расположен контроллер, который всем управляет и модуль распознавания голосовых команд.
Работу, подключение и настройку модуля мы рассмотрим в следующем видео. А сейчас я поясню работу контроллера, который выполнен на atmega8. Модуль распознавший команду дает команду контроллеру по UART, контроллер обработав команду включает или выключат нагрузку и бает команду звуковому модулю на воспроизведение звукового ответа. Вроде всё просто).
Хочу сказать, что делая данную самоделку я не ставил себе задачу сделать серьёзное устройство, скорее игрушку.
В следующем видео вы рассмотрим непосредственно сам модуль, так что подпишитесь на канал, чтобы не пропустить, если конечно данный материал Вас заинтересовал.
Я построил данный выключатель пару лет назад на модуле версии V2. Но в следующем видео мы будем рассматривать более новую версию V3. Так же мы рассмотрим 2 вида работы с этим модулем: простой – это если Вы не владеете программированием и полный – это если Вы умеете программировать микроконтроллеры.
Модуль распознавания голоса (речи) V3 — http://ali.pub/qv2kr
Модуль распознавания голоса (речи) V2 — http://ali.pub/do03a
Надеюсь Вам понравилось видео на данную тему. Спасибо за просмотр данного видео. Если Вам понравилось – поставьте лайк, так я буду знать, что Вам это не безразлично. Подписывайтесь на канал, до новых встреч.
Ознакомившись с принципом работы тонального декодера, рассмотрим несколько экспериментальных схем, реализующих голосовое управление нагрузкой. В основе частотных фильтров – микросхема 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На рисунке 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» говорящих часов. Тогда по команде «ЧАСЫ» часики подскажут текущее время. А в третьей, заключительной части, ознакомлю вас с ещё одной, практической схемой цветомузыки на LMC567. Форум Обсудить статью СХЕМА ДЛЯ ГОЛОСОВОГО УПРАВЛЕНИЯ |
«Алиса, включи свет». Голосовое управление умным домом на базе openHAB. Без программирования и СМС
Ноябрь 2017 года, на календаре отображалось число одиннадцать. Распродажа на Aliexpress шла полным ходом, руки чесались что-нибудь купить. Выбор пал на «Ми-свет RGBW светодиодный лампы AC86-265V удаленного управление Smart освещения«. В итоге были приобретены два экземпляра максимальной мощности, на 9 ватт, и хаб-контроллер MiLight WiFi iBox. Доставка из Китая не заставила себя долго ждать, а спустя 4 месяца, 13 марта 2018, открылась платформа Яндекс.Диалоги (платформа, позволяющая сторонним разработчикам добавлять умения голосовому помощнику «Алиса»). Следом Алиса научится управлять освещением (и не только) у вас в квартире, а мы с вами ей в этом поможем, поэтапно и без единой строчки кода.
- Настройка умных ламп от Xiaomi
- Установка openHAB
- Управление светом через openHAB
- Внешний доступ к openHAB
- IFTTT
- Алиса
1. Настройка умных ламп от Xiaomi.
Первое, что необходимо сделать, это настроить управление лампами, хотя бы с помощью приложения от Xiaomi. Если для вас этот этап пройден, смело переходите далее, к настройке сервера умного дома, или еще дальше, непосредственно к интеграции Алисы и openHAB. Но, обо всем по порядку. Сами лампы к вашему домашнему роутеру не подключатся, для этого нужен хаб iBox, который может контролировать до четырех групп источников света. Необходимо подключить его к сети, а затем связать с ним лампы.
- Подаем питание на iBox, подключив его по usb, к примеру, к зарядному устройству для телефона.
- При первом подключении необходимо сбросить настройки хаба, поэтому нажимаем RST.
- Далее устанавливаем на телефон приложение от Xiaomi под iOS или Android. Убеждаемся что телефон подключен к домашней сети Wi-Fi.
- Открываем приложение Mi-Light 3.0, нажимаем +. Тут нас интересует вкладка Smart Link.
- Вводим названием и пароль домашней Wi-Fi сети, к которой подключен телефон и планируется подключить iBox.
- Сейчас у вас iBox должен быть подключен к сети, а индикаторы SYS и LINK должны моргать, медленно и быстро соответственно. Если это не так, нажмите RST еще раз.
- Если индикаторы мигают, нажмите в приложении Start Configuration, начнется процесс настройки подключения для хаба.
- Через секунд десять мигание прекратится, затем SYS снова начнет медленно моргать, а LINK останется гореть. В приложении отобразится сообщение Configured. Хаб подключен к сети. Если в списке Device List его нет, то просто нажмите Searching for device.
Уже сейчас можно поуправлять цветом и яркостью самого iBox, но нам необходимо подключить лампы. Для этого выполним привязку ламп к одной из четырех зон, доступных хабу для управления.
- Открываем в приложении Mi-Light 3.0 из списка хаб Mi-Light. Заходим в раздел Colors.
- В верхней части экрана выбираем одну из зон, пусть будет Zone1. И нажимаем на иконку связывания устройств в правом верхнем углу. Откроется экран LINK/UNLINK с инструкцией.
- Теперь настраиваем те лампы, которые мы хотим привязать к 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. Быстро пробежимся по первому варианту.
- Добавляем ключи репозитория:
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - sudo apt-get install apt-transport-https
- Добавляем сам репозиторий:
echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list
- Обновляемся и ставим сервер вместе с дополнениями:
sudo apt-get update sudo apt-get install openhab2 sudo apt-get install openhab2-addons sudo apt-get install openhab2-addons-legacy
- Настраиваем автоматический запуск сервиса после перезагрузки устройства и запускаем его:
sudo systemctl start openhab2.service sudo systemctl status openhab2.service sudo systemctl daemon-reload sudo systemctl enable openhab2.service
- Теперь ждем в районе 15-20 минут (это не преувеличение, это суровая реальность с шутками про скорость работы Java), пока он загрузится и по адресу
http://openhab-device:8080
появится веб интерфейс. - На этой странице нас интересует пункт Paper UI. Именно с этим типом интерфейса будем работать в дальнейшем.
3. Управление светом через openHAB
Итак, у нас есть рабочий сервер умного дома и лампы от Xiaomi с возможностью удаленного управления. Необходимо их соединить. openHAB поддерживает биндинги (инструкции, позволяющие управлять подключенной электроникой) для множества устройств, в том числе и для данных ламп.
- Заходим в Add-on → Bindings.
- Устанавливаем Milight Binding.
- Для добавления нашего устройства нажимаем на + в разделе Configuration → Things.
- Выбираем Milight Binding, начинается автоматический поиск устройства.
- У меня автоматически ничего не нашлось, поэтому я добавлял вручную «Manually add thing«.
- Выбираем для добавления хаб iBox/iBox2.
- На открывшейся странице необходимо заполнить поля IP и Bridge ID (mac адрес подключаемого устройства), их можно узнать, к примеру, в панели управления роутером (у меня хаб регистрируется в сети с именем используемого в нем Wi-Fi модуля HF-LPB100). Добавляем.
- Отлично, в списке устройств теперь отображается iBox/iBox2 с надписью «Online«.
- Снова нажимаем на + и выбираем Milight Binding, чтобы на этот раз добавить непосредственно лампы.
- Теперь руками добавлять ничего не нужно, достаточно выбрать группу ламп из списка (в моем случае это пункт Rgbww Color (Zone 1)).
- Выбранный пункт должен появиться в списке вещей так же с надписью «Online«.
- Устройства настроены, теперь необходимо добавить к ним элементы управления. Для этого кликаем по только что добавленному пункту.
- Открывается список параметров лампы, которыми мы можем удаленно управлять. Кликаем по синему кругу Brightness.
- Далее выбираем элемент управления, с которым хотим связать параметр устройства, т.к. у нас их еще нет, кликаем по Create new item.
- Задаем произвольное имя, к примеру Light_Switcher, и, меняем тип с Dimmer на Switch, т.к. у меня нет необходимости регулировать яркость лампы, я хочу ее просто включать и выключать. Меняем категорию просто на Light, чтобы элемент управления отобразился с иконкой в разделе Control. Нажимаем Link.
- Переходим в раздел Control и наслаждаемся работой переключателя Brightness у устройства.
4. Внешний доступ к openHAB
По соображениям безопасности, после описанных выше манипуляций, управление сервером умного дома возможно только из локальной сети. Этого для нашей задачи явно не достаточно. Вариантов настройки несколько: настроить VPN для доступа из интернета к локальной сети, сконфигурировать реверсивную прокси или же соединить ваш сервер с сервисом myopenHAB Cloud по адресу myopenHAB.org. Так-как в России число сотрудников Роскомнадзора прямо пропорционально числу пользователей VPN и прокси-серверов, воспользуемся последним вариантом.
Не следует множить сущее без необходимости
- Регистрируемся на сайте myopenHAB, авторизуемся и заходим по адресу https://myopenhab.org/account. На данной странице нас интересуют два поля: openHAB UUID и openHAB Secret. Именно они позволяют организовать связь серверов. Давайте разберемся где их взять.
- Заходим в панель управления PaperUI openHAB.
- Открываем раздел Configuration → Add-ons → Misc.
- Устанавливаем openHAB Cloud Connector.
- В Configuration → Services должен появиться модуль openHAB Cloud с режимом «Notifications & Remote Access«.
- В Configuration → System → Add-on Management должен быть активирован переключатель «Acceess Remote Repository«.
- После установки аддона, искомые нами данные окажутся в файлах /var/lib/openhab2/uuid и /var/lib/openhab2/openhabcloud/secret (userdata/uuid и userdata/openhabcloud/secret, если ставили не из пакета). Вводим их в настройках аккаунта на myopenHAB и жмем Update. Если все настроенно корректно, то слева от адреса вашей почты должно появиться слово «Online«. Это говорит о том, что доступ к вашему умному дому из сети интернет открыт, но сразу Алиса им воспользоваться не сможет. Для начала надо сделать доступным снаружи настроенное ранее устройство.
- Переходим в раздел Configuration → Services → openHAB Cloud → Configure.
- В списке Items to expose to apps such as IFTTT активируем чекбокс для элемента управления яркостью и нажимаем Save.
- Через некоторое время проверяем, что выбранный элемент присутствует в списке на странице myopenhab.org/items со статусом «ON«.
Теперь управление лампой возможно из интернета, через API openHAB Cloud, которое поддерживает авторизацию по OAuth3. Но, к сожалению, клиенты заранее предопределены, это Alexa, Google Assistant и сервис IFTTT. Алисы в данном списке пока нет. Но это не проблема!
5. IFTTT
Если это тогда то.
Сервис, позволяющий выстроить из нескольких сервисов цепочку действий. Условно отреагировать действием в одном сервисе, если сработал триггер на событие в другом сервисе. IFTTT поддерживает огромное количество сервисов, в том числе и интересующий нас myopenHAB. Но не поддерживает Алису. Вообще, любой желающий может создать там модуль для своего сервиса, в первую очередь для этого надо связаться с отделом продаж и выяснить размер вашего ежегодного платежа в пользу IFTTT. Наша же цель бесплатно воспользоваться сервисом, чтобы иметь возможность перенаправлять запросы от Алисы к openHAB.
- Регистрируемся на сайте ifttt.com и заходим в Applets → New Applet.
- После нажатия + this, необходимо выбрать сервис, событие в котором будет являться триггером. Т.к. сервиса Алисы в списке нет, нам надо выбрать что-то, что сможет получать от нее команды. Это сервис Webhooks. Нажимаем Connect.
- Далее выбираем из списка с одним пунктом триггер «получение web запроса«.
- Указываем имя события, к примеру light_on, и жмем Create.
- Теперь надо выбрать ответное действие, нажимаем на + that. Наш выбор openHAB, подключаем.
- В открывшемся окне, упомянутой ранее OAuth3 авторизации, кликаем по Allow.
- Доступна единственная реакция «отправить команду«.
- Из выпадающего списка выбираем элемент управления лампой (например Light_Switcher), а в качестве команды включения света указываем слово «ON«. Создаем.
Для проверки нам необходимо вызвать триггер у сервиса Webhooks. Как это сделать? Отправить POST запрос.
- Ищем на сайте IFTTT сервис Webhooks и заходим в связанную с ним документацию.
- На открывшейся странице есть команда, которую нам надо выполнить, заменив {event} на light_on.
- После нажатия на Test It, ваша лампа должна включиться.
Осталось создать аналогичный рецепт для события light_off, который будет отправлять команду OFF элементу управления светом. А затем научить Алису вызывать эти триггеры по нашему желанию.
6. Алиса
По моему веленью, по моему хотенью Алиса включит свет, если использовать платформу Яндекс.Диалоги. Платформа открылась в марте этого года и позволяет любому желающему добавить Алисе умений, за счет написания соответствующего кода. На данный момент в каталоге уже представлено огромное количество умений. Разработка умения, это тема для отдельной статьи на хабре, а у нас тут «без единой строчки кода«. Так что воспользуемся имеющимися наработками.
- Устанавливаем бета версию поискового приложения Яндекс, только в нем на данный момент есть поддержка пользовательских умений.
- Говорим Алисе «включи волшебные заклинания«. Именно умение волшебные заклинания/волшебное заклинание позволит нам выполнять POST запросы к серверам IFTTT.
- Нажимаем Добавить и указываем адрес для включения света вида:
https://maker.ifttt.com/trigger/light_on/with/key/{user_id}
- Следующим шагом произносим фразу или слово, на которое Алиса будет реагировать выполнением запроса по указанному адресу (моя Алиса отвечает на «включи свет»).
Если вы теперь нажмете на соответствующую кнопку или озвучите предложение, то запрос от серверов Яндекса поступит на сервер умения, оттуда в IFTTT, следом в myopenHAB, который передаст данные в ваш локальный инстанс, имеющий непосредственный доступ к хабу ламп, и свет включится. Аналогичную команду сразу добавим и для выключения освещения.
Надо понимать, что недостаточно просто включить Алису и произнести «включи свет«. Яндекс ничего не знает о наших командах для умного дома, данные о них хранятся в базе умения «волшебные заклинания«. Поэтому сначала нужно вызвать умение, произнеся «включи волшебные заклинания«, а уже потом включать и выключать свет голосом.
P.S.
Подход с интеграцией Алисы и openHAB через IFTTT ни чем не ограничивает вашу фантазию. Вы можете с помощью умения «волшебные заклинания» голосом управлять любыми вещами в вашем умном доме. К примеру, в openHAB есть биндинг для Samsung SmartTV, который позволяет управлять звуком и каналами телевизора. Взаимодействие Алисы и Webhooks представляет из себя реализацию голосового интерфейса ко всем сервисам IFTTT, «волшебные заклинания» позволяют выполнить команду любого из них. А можете вообще не использовать Алису, и написать свой фронтэнд, к примеру мобильное приложение, которое будет выполнять запросы к IFTTT через все те же Webhooks. Да и IFTTT использовать не обязательно, по аналогии можно настроить «волшебные заклинания» на выполнение запросов к вашему серверу.
Модуль распознавания голоса | Мастер-класс своими руками
Приветствую вас, дорогие друзья. Наконец-то я добрался до записи урока по работе с голосовым модулем. Вижу вам понравилась моя самоделка с голосовым управлением и многие уже начали интересоваться, когда же выйдет практический урок по работе с модулем голосового управления.
О плюсах данного модуля распознавания:
— Модуль автономный и может работать без внешнего управляющего контроллера, что очень важно для радиолюбителей не знакомых с программированием.
— На ряду с другими моделями данный модуль выгодно отличается функциональностью, ценой и относительной простотой в управлении и подключении.
— Имеет высокую распознавающую способность.
— Никакого смартфона не требуется.
И так поехали! Данное видео будет направлено в первую очередь на новичков, тех, кто не знаком с программирование и интерфейсами, в общем для обычных радио любителей. В видео я покажу всё от «А» до «Я»: начнем с установки программ и подключения и закончим конкретным результатом автономной работы модуля.
Начнем же мы все равно с теоретических знаний, дабы понимать, как же все-таки работает это чудо инженерной мысли. Перво-наперво вам нужно знать некоторые характеристики данного модуля распознавания голоса:
Потребляемый ток: не более 40 мА, ток не критичный, так что просто учтите. Напряжение питания – 5 В, мы будем питать модуль USB порта компьютера при программировании, а дальше при работе вы сами решите от чего запитывать. Точность распознавания голосовой команды – 99% при идеальных условиях. Модуль распознавания голоса версии V3.1 способен запомнить 80 голосовых команд! Что на мой взгляд вполне достаточно для любых целей. Но опять же это «НО». Но модуль в единицу времени может распознавать только семь любых команд, а каких сень команд – выбирать вам.
То есть, вы можете записать в базу все 80 команд, но для распознавания выбрать только семь, любых семь из восьмидесяти. Это как с компьютером: на жестки диск можно записать 80 команд, а в оперативной памяти работать только с 7-ю командами. Если вам трудно это сейчас понять, то чуть позже на практике, я думаю, вам станет ясно о чём идет речь. Длинна голосовой команды – 1,5 секунды (1500мс) максимальное значение. Управлять платой модуля можно по интерфейсу UART, а вот снимать информацию можно как UART, так с портов GPIO, расположенных на плате. Собственно говоря, чем мы и займемся: будем снимать сигнал с выхода порта.
Переходим к практической части.
Что же нам понадобиться для работы?
— Сам модуль распознавания голоса версии V3 (V3.1) Версия не так важна – принцип работы у всех одинаков. Модуль идет с микрофоном.
— Руководство по модулю, то есть дата шит.
— Программу терминала.
— Преобразователь интерфейсам USB-UART.
Все ссылки на покупку и скачивание софта под видео, в конце статьи.
Вот и всё. Как говорил Гагарин – «Поехали».
Скачиваем руководство и терминал. Терминал устанавливаем. Подключаем модуль к преобразователю интерфейса.
Будьте очень внимательны при подключении. Не страшно, если вы перепутаете TXD и RXD, ничего страшного не произойдёт. А вот если вы перепутаете плюс питания с общим проводом – это будет катастрофа! Как случилось у меня – сразу сгорел модуль и порт компьютера! Будьте очень внимательны и не повторяйте моих ошибок. Не суетитесь, не спешите, проверьте цепь несколько раз перед включением, и только после этого подключайте к USB.
После подключения к USB ваша система начнет поиск драйверов к преобразователю, в 90% случаев система сама находит драйвер и устанавливает его, но если этого по каким-то причинам не произошло, то вам буден нужно самим найти драйвер в сети и установить его. Для этого в поисковой строке напишите «CP2102 драйвер скачать» или типа того, модуль распространенный, вариантов драйверов полно.
Далее, после успешной установки оборудования идем в диспетчер устройств и смотрим порты. Нас интересует присвоенный номер нашего преобразователя. Когда узнали номер порта запускаем терминал. Идем в настройки и устанавливаем значения как у меня на рисунке.
Пишем в окне терминала команду – «AA 02 00 0A» (из даташита | AA | 02 | 00 | 0A |). Во всех командах всегда буквы заглавные и латинские.
Поле отправки вам должен последовать ответ, типа: «AA 08 00 STA BR IOM IOPW AL GRP 0A» (или из даташита | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |). Если ответ пришел, то все отлично, пол дела сделано. Если нет, играемся с настройками настройками скорости передачи в терминале, просто возможно модуль настроен на другую скорость.
Я не буду останавливаться на том что означает данный ответ модуля, это вы сами сможете посмотреть в инструкции. А команда — это запрос установленных настроек.
Теперь необходимо подключить нагрузку к модулю. В роле нагрузки я буду использовать светодиоды с резисторами. Ну в дальнейшем, при эксплуатации эти светодиоды будут заменены на реле управления нагрузкой с транзисторными ключами, думаю это понятно.
Поясню саму команду «AA 02 00 0A» — это пакет состоящий из 4 байт, байты — это попарные символы в шестнадцатеричной системе – AA,02,00,0A. Во всех командах пакет будет начинаться байтом AA и заканчиваться байтом 0A (Ноль и A) – это обязательное условие. Ответы модуля будут так же начинаться и заканчиваться этими символами.
«AA 02 00 0A» — второй байт этой команды означает количество байт между байтами начала и конца, короче кроме AA и 0A. А все что между ними считаем и пишем во второй байт. Как видим в этом примере, что между AA и 0A стоят два байта — 02 00, следовательно – 02, то есть число считает само себя. Еще пример, «AA 03 20 01 0A» то есть между AA и 0A стоят три байта — «03 20 01», следовательно, второй байт – 03. Думаю, Вам будет понятно.
Команда «12» — настройка портов модуля.
На плате модуля расположены порты, с которых мы будем снимать сигнал, прежде чем это делать, необходимо настроить эти порты. Настроить порты можно это командой
«AA 03 12 01 0A» — третий байт — это команда, а четвертый значение команды. Четвертый байт может принимать следующие значения и задавать следующие опции: если «00» — режим импульса, то есть при распознавании голосовой команды, на нужный нам порт подается короткий импульс. Если «01» — режим инверсии, то есть при распознавании голосовой команды, на нужный нам порт сменит состояние на противоположное, если был 0 – станет 1 и наоборот. Если «02» — режим при котором порт переходит в ноль. Если «03» — режим при котором порт переходит в единицу.
Команда «20» — настройка портов модуля.
«AA 03 20 01 0A» — третий байт — это номер команды, которую мы будем записывать. Пример записи двух команд 1 и 2: «AA 04 20 01 02 0A». Пример записи двух команд 1, 2, 3: «AA 05 20 01 02 03 0A».
Команда «30» — загрузка записи в «распознаватель» модуля.
«AA 03 30 01 0A» — третий байт команда загрузки в память распознавателя записи 01. Если нужно записать две команды — «AA 04 30 01 02 0A», если нужно записать все семь команд — «AA 09 30 01 02 03 04 05 06 07 0A».
Команда «15» — Автозагрузка голосовых команд в распознаватель при включении питания – автономный режим работы без внешнего контроллера.
«AA 03 15 07 01 02 03 0A» — третий байт команда, четвертый байт метка команд, то есть своеобразный идентификатор, и равен 01 для загрузки одной команды, 03 – для загрузки двух команд, 07 – для загрузки трех команд и так далее, смотрите в даташит таблицу. Ну а дальше идут номера команд, которые нужно загружать.
Вот и всё: проверили связь с модулем, сконфигурировали порты, записали команды, настроили автозагрузки голосовых команд.
Об остальных командах читайте в даташит. Я лишь объяснил примерный вид работы с модулем.
Ссылки для покупки:
Модуль – http://ali.pub/dk0gv
Преобразователь — http://ali.pub/fhond
Преобразователь с проводами — http://ali.pub/hlvn5
Ссылки для скачивания:
Дата шит – http://www.elechouse.com/elechouse/images/product/VR3/VR3_manual.pdf
Терминал — http://www.sudt.com/download/AccessPort137.zip
Умный дом своими руками: Голосовое управление музыкой с Яндекс.Музыки
От редактора: Когда я увидел видеоролики Дмитрия, на которых он голосом дома запускал Lady Gaga и выставлял уровень света на 70%, то в голове проскочила мысль — «Эй! А ведь именно это и есть умный дом». Дмитрий занимается построением умного дома, который адаптируется под него, слушает его голос. А выглядит это все круче какого-то там Энтерпрайза! В цикле статей, который начинается этим материалом, наш гость расскажет как построить показанные решения. Это так просто, что похоже на магию!
Многие пользователи Андроида уже наверно попробовали российский аналог голосового ассистента Siri под названием «Ассистент на русском». Он умеет воспринимать голосовые команды и выполнять различные действия с девайсом.
Но, конечно, немногие догадываются, что это приложение представляет собой еще и открытую голосовую платформу для создания аддонов, которые могут расширять имеющиеся возможности ассистента.
Будучи Android-разработчиком голосовых приложений я заинтересовался возможностью заставить работать Ассистента не только с девайсом, на котором он установлен, но и за его пределами. А точнее — создать аддон, с помощью которого Ассистент сможет выполнять голосовые команды на удаленном компьютере, телевизоре или даже на отдельно взятой электронной розетке!
Для этого я получил у разработчиков «Ассистента на русском» API для сторонних программистов (оно пока еще находится в тестировании и не имеет публичной документации) и попробовал реализовать возможность управления сайтом Яндекс-Музыка.
Что из этого получилось можно увидеть на видео ↓
Теперь Ассистент умеет запускать любой трек, который найдет на Яндекс.Музыке, останавливать, искать другой и т.д. В общем, все что должен уметь обыкновенный плеер. Только с помощью голоса!
Ассистент при этом подключается к браузеру за счет прикосновения телефоном к NFC метке. Вау-эффект в компании друзей обеспечен!
Чтобы все заработало, потребуется компьютер под управлением Windows, с установленным браузером Chrome, Java 6 и приложением Ассистент Коннект.
На компьютере нужно запустить «Ассистент Коннект» и указать код NFC-метки или любой другой код, сгенерированный, например, на сайте QrCoder. Это потребуется, если на смартфоне нет NFC и тогда подключиться к компьютеру можно с помощью QR кода.
На смартфон нужно установить «Ассистент на русском» и аддон Ассистент Коннект. После установки аддона Ассистент сам поймет, как обрабатывать новые команды и при фразе «Поставь музыку» предложит соединиться с компьютером.
После «волшебного прикосновения» к NFC на компьютере запустится хром с уже открытым сайтом Яндекс Музыки и Ассистент войдет в контекст общения с этим сайтом. Теперь все голосовые запросы от пользователя будут восприниматься только в «музыкальном» контексте, а для выходы необходимо просто сказать «Отмена» или «Выход».
Как то же самое работает не только с Яндекс Музкой, но и с любым другим сайтом, можно увидеть ниже:
При этом ничего не надо устанавливать на компьютере, а сам браузер может работать вообще где угодно — даже на Smart TV.
Все описанное каждый может повторить в домашних условиях. Это показывает, как голосовые технологии могут работать за пределами тех устройств, на которых они традиционно применяются в последнее время. И «Ассистент на русском» при этом позволяет сторонним программистам реализовывать самые необычные подходы.
В следующей статье я покажу реализацию возможностей по голосовому управлению электронными приборами и домашним кинотеатром XBMC с помощью все того же аддона к «Ассистенту на русском».
Умный дом с голосовым управлением
Управлять домом можно разными методами: пультами, персональным компьютером или же голосом. Последний вариант – наиболее новый и самый удобный для пользователя, так как не нужно искать какие-либо устройства, чтобы задать команду дому.
Обзор возможности управления домом: голос, жесты, мимика
Достаточно просто поговорить с ним, и все пожелания хозяина будут воплощены умной системой точно в установленное время. Отныне с помощью голоса можно привести в действие любую бытовую технику и коммуникации!
Принцип работы
Голосовое управление умным домом работает в соответствии с конкретным сценарием, который ей прописан. Он состоит из набора команд, где главную роль играет последовательность слов. Программа не понимает смысла сказанного, однако распознает заданные ей звуки.
Как правило, при покупке системы в ней уже запрограммировано несколько стандартных команд. Но пользователь может их дополнять, прописывая новые задачи вручную с помощью специальной программы на компьютере. Любая функция, подключенная к коммуникации или технике, будет исполнена по команде голоса.
Чтобы это стало возможно, понадобятся встроенные в комнаты микрофоны и динамики. Современные модели сверхчувствительные, поэтому могут «услышать» голосовую команду на расстоянии нескольких метров. Существует особенность микрофонов – даже если в помещении шумно, они улавливают именно тот голос, на который запрограммирована система.
В некоторых случаях система «умный дом» имеет голосового помощника, который ведет «общение» с хозяином жилья. Например, интеллектуальная русскоязычная система Home Sapiens использует голос по имени Ева.
Команды заложены в память программы и управлять домом можно через смартфон или микрофон в комнате
Управлять комплексом можно с помощью слова или словосочетания. Их задает владелец на панели настроек. Можно также управлять системой вручную – с использованием смартфона или компьютера, но нужно, чтобы был подключен интернет. В этом случае «умный дом» производит подключение к операционной системе и готов принимать команды.
Схема управления системами умного дома
Устанавливается не только ключевое словосочетание или слово. Прописывается также алгоритм выполнения задач. Например, «включи чайник», «открой шторы». Управление с использованием голоса может одновременно выполнять сразу несколько действий. Вот как это происходит:
- Пользователь задает задачу и алгоритм ее выполнения;
- Человек говорит системе «режим кинотеатра», а его «умный дом» тем временем задвигает шторы, выключает освещение и настраивает телевизор на нужный канал.
При этом, хозяин может быть в одной комнате, а команду озвучивать для другой.
Основные возможности
Умный дом с голосовым управлением во многом может быть полезным пользователю. Среди ее функций выделяют:
- Управление бытовой техникой;
- Климат в помещении;
- Орошение на придомовой территории;
- Открывание и закрывание дверей.
Также можно настроить такие опции:
- Регулирование освещения. Можно настроить систему на выключение и включение света в определенное время.
- Контроль над инженерными сетями. Домашний искусственный мозг сообщит о протекающем водоводе или просачивании газа с помощью смс хозяину. Также система может управлять охранными сетями.
- Регулировка температуры. При определенных условиях может включаться отопление, опция «теплый пол» или подогреваться вода в бассейне.
- Включение и выключение электро розеток. Можно задать время, и функция будет выполнена.
- Организация звукового сопровождения в помещении. Любимая музыка пользователя может звучать в той комнате, где он будет присутствовать.
- Работа в период отсутствия хозяина. Умный дом может включить полив растений или проветрить комнаты по расписанию.
- Использование системы на расстоянии. Пользователь заходит в режим онлайн через компьютер или телефон, и изменяет настройки. Например, откладывает время разогревания ужина.
Дополнительные возможности
Систему можно полностью настроить под себя. В ней заложено множество дополнительных функций. Они изменяются в зависимости от предпочтений владельца. Умный дом не только облегчит быт, но также поможет сэкономить и защитит жилье от непрошеных гостей.
К примеру, когда жильцы дома уходят по своим делам, дом может включить спящий режим. В этом варианте свет и бытовая техника по всей территории жилья отключается, интенсивность отопления снижается, активируется охранная система и видеозапись. Если дом оснащен видеокамерами, электронный мозг может отреагировать на любое движение возле дома или внутри него: включится видеозапись, автоматически будет набран телефон полиции, а хозяину на мобильный телефон отправится соответствующее сообщение.
Если же за день все было спокойно, «умный дом» подготовит помещение к приходу хозяев. За несколько часов до их возвращения, отопление снова включится. Заработают также бытовые приборы – например, микроволновка разогреет еду, а ворота откроются перед приездом домовладельцев.
Программы для оборудования дома «умной» системой:
- Bit Voicer. Программа функционирует только на платформе Windows. Это ограничивает его применение на многих устройствах.
- Speech to Text Library. Подходит для любой операционной системы. Эта программа может многое. Например, она моментально отслеживает человеческий голос в реальном времени, указывает громкость, распознает речь на нескольких языках. Минусом в работе программы считается невозможность обработать за сутки более 50 задач.
- Voice Arduino Recognition. Это фирменная продукция компании Ардуино. Впрочем, и у нее есть недостатки. Так, количество команд ограничено, а чтобы научиться управлять системой, понадобится не мало времени. Также если понадобится записать новые задачи, придется заново прошивать программу, что очень не удобно, если система уже отлажена.
Arduino для программирования
Система «умный дом» без особого труда проектируется собственноручно. Для этого нужно подобрать соответствующее оборудование. Прежде всего, необходим контроллер – это устройство, которое вмещает в себе все задачи управления. Руководство осуществляет именно этот предмет.
Андурино — это программируемый контроллер на базе которого можно реализовывать достаточно огромное количество решений (управляемая радиомодель, робот, автосигнализация и т.д.)
Наиболее востребованным считается контроллер Ардуино. Он — это пустая плата. Программа на нее пишется не сложно, поэтому возможности подключения не ограничены. Среди плюсов Ардуино:
- Можно дополнять и копировать;
- Различные схемы для варьирования задач;
- Выводы располагаются фиксировано, что позволяет производителям расширять опции за счет изготовления устройств;
- Для настройки данного контроллера не нужны глубокие знания в программировании;
- Ардуино можно без проблем подключить к компьютеру.
Настройка голосового управления
Для каждого контроллера существует свой алгоритм настройки. Впрочем, есть универсальные действия, которые помогут понять, как проходит элементарный процесс настройки без задействования сверхчувствительных микрофонов и прочей дорогостоящей аппаратуры.
Настройка голосового управления умного дома осуществляется или через ПК или через интерфейс панели (планшета), который управляет системой
Расскажем на примере котроллера Arduino. Понадобится обычное андроид-устройство. С его помощью можно общаться с «умным домом». Для этого достаточно установить специальное приложение на гаджет. На компьютере прошивается контоллер. После этого устанавливаем соответствующую программу — здесь каждому устройству прописываются команды, на которые будет реагировать «умный дом». Также стоит вооружиться устройствами для управления предметами — например, сенсорами для управления жалюзи или термостатом — он будет регулировать температуру кондиционера.
Итак, «умный дом» — будущее, которое стало настоящим. С этой системой обычное жилье становится интерактивным и находится во взаимодействии с хозяином. С помощью современных технологий эта возможность становится доступной каждому.
ok Google OFFLINE Голосовое управление Voice control ANDROID Arduino Лайфхак Своими руками — Dmitry OSIPOV
Голосовое управление — без интернета, и без прикосновения к телефону. Для управления голосом освещением, жалюзи, радио розетками, телевизором. Перед установкой приложения. внимательно просмотрите видео инструкцию. Voice control, without touching the phone. For voice control lighting, blinds, radio outlets, TV. Before installing the application. carefully review the video instructions. _____________. Возможности: 1). Запуск распознавания голоса, голосовой командой. 2). Управлять Arduino, — «единовременно» с нескольких Android телефонов. 3). Управление с Android телефона, — «единовременно» несколькими Arduino. _____________. Принцип работы: Устанавливаем на Android телефон, приложения «Voice Auto Control Bluetooth Arduino». При открытие приложения «Voice Auto…» с названием «1», — происходит автоматическое сопряжение с Bluetooth модулем на Arduino, — отправляется Bluetooth команда, из названия приложения «Voice Auto…», то есть команда цифра «1», — приложения «Voice Auto…» закрывается. Происходит это за 1 секунду. Arduino принимает цифру «1», и выполняет «то, что хотим». Если откроем приложения «Voice Auto…» с названием «2», отправляется Bluetooth команда «2». Например, устанавливаем 10 приложений, с названиям 1,2,3,4,5,6,7,8,9,10. Ещё понадобится, приложение » «Google», у которого есть опция, «запуск распознавания голоса голосовой командой» — » «О`кей Google». Итак, произносим «ok Google» — запустилось распознавание голоса, — далее произносим команду (open 1), — программа «ok Google» открывает приложение «Voice Auto…» с названием «1». Если произносим команду (open 5), программа «ok Google» откроет приложение «Voice Auto…» с названием «5». _____________. Настройка приложения «Voice Auto…». Сначала нужно записать / запомнить, MAC-адрес Bluetooth модуля. 1). На Android телефоне отключаем!!! Bluetooth. 2). Открываем приложение «Voice Auto…» — например с именем «7». 3). Появится окошко с предложением включить Bluetooth, — включаем Bluetooth. 4). Нажимаем на кнопку «CLICK and select Bluetooth DEVICE», и выбираем Bluetooth модуль для сопряжения. 5). Закрываем приложение «Voice Auto…» с именем «7». _____________. Вспомогательные видео уроки. Голосовое управление без прикосновения к телефону Voice control without touching phone Arduino. https://www.youtube.com/watch?v=bXWVzEyVo0s Урок 1 ANDROID Управление голосом OFFLINE voice Control app inventor Arduino. https://www.youtube.com/watch?v=V9NpjP-WBBU v.01 Arduino Розетки, Управление любым ИК пультом (программируемые на лету) socket IR remote control. https://www.youtube.com/watch?v=Nx6DUQ7Tx1w v.6 Arduino IR remote control Управление любым ИК пультом Bluetooth EEPROM. https://www.youtube.com/watch?v=jw_eQZC0iqo _____________. Вспомогательные ссылки. Voice Auto Control Bluetooth Установить бесплатно, из магазина Google Play. https://play.google.com/store/apps/details?id=appinventor.ai_g916414.B1 google. https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox _____________. Скачать Download — .apk .aia — Для редактирования в App Inventor 2 sketch. + sketch оставлю в комментарии — под видео. https://yadi.sk/d/HRjin-jywUPEg _____________. Arduino,Shield,Sensor,Android,телефон,сенсор,датчик,данные,Bluetooth,Распознавание,голоса,SpeechRecognizer,Текст,речь,Button,Клавиатура,Servo,мотор,светодиод,App Inventor,sketch,HC-05,button,Serial,Connect,управление,устройствами,единовременно!,программы,сопряжение,модулями,Google Play,AI2,Voice,Auto,Control,прикосновения,телефону,Голосовое,голосом,phone,О`кей Google,голосовой,командой,S Voice,привет Galaxy,DEVICE,hi Galaxy,okay Google,ok Google OFFLINE,ok Google,Samsung,Лайфхак,лайфхаки,лайфхакер,Своими руками _____________. Алексей Гулин 2 месяца назад Дмитрий, вижу вы много используете такую конструкцию millis() / 200 % 2 . Пожалуйста поясните её подробнее. Везде в интернете про % написано одно и тоже без разжёвывания и я не понимаю, то значит вернуть остаток https://youtu.be/YGip0GkmWDY?t=185 https://youtu.be/mfpsAbVimUk?t=1275