22 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Голосовое управление звуком и светом. Схема для голосового управления

Управление голосовыми командами на базе модуля распознавания голоса FZ0475

А помните, как несколько лет назад (а может быть и сейчас) была популярна идея управления светом в комнате при помощи хлопков в ладоши? А, ведь, это очень удобно, лежишь в постели, лень встать и хлопком в ладоши выключается свет или заходим домой, темно, нащупать выключатель долго, а тут с самого порога хлопок или два и свет уже горит. Мне кажется, что эта концепция актуальна до сих пор, но к ней можно применить уже более высокие технологии по сравнению с теми, что были 5 лет, 10 лет назад. Теперь за сравнительно небольшую сумму можно купить несколько деталей и запрограммировать конструкцию на подобные функции, о чем пойдет речь ниже.

Сегодня рассмотрим модуль, предназначенный для распознавания голосовых команд (в том числе и просто голоса в рамках записанной голосовой команды) – Voice recognition module V3.1 (V3) или часто встречающуюся кодировку название FZ0475.

В комплект поставки входит сам модуль (печатная плата очень хорошего качества), микрофон на гибкой ножке с разъемом 3,5 мм jack и угловые PLS контакты с шагом 2,56 мм для платы модуля (их можно не использовать, если подключаться к контактам модуля другим способом).

На сегодняшний день существует несколько видов модулей с аналогичным функционалом разных производителей и разработчиков или исполнений. Данный модуль распознавания голоса, на мой взгляд, имеет некий баланс между стоимостью, функционалом, удобством. Более мощным и существенно более дорогим будет модуль EasyVR. Более дешевыми и неудобными будут модули на базе LD3320 (неудобные как минимум потому, что нормальное описания на них найти не просто, а в остальном это уже субъективно).

Характеристики модуля Voice recognition module V3.1 (V3):

  • Напряжение питания – 5 вольт
  • Потребляемый ток – до 40 мА
  • Интерфейсы – UART, GPIO
  • Точность распознавания – 99% (в идеальных условиях)
  • Дальность действия – зависит от используемого микрофона, для штатного микрофона из комплекта дальность составляет 0,5 – 1 метр максимального расстояния при достаточно громком голосе, если же голос тихий, то придется подносить микрофон поближе ко рту

Модуль представляет собой небольшую аккуратную плату, на которой расположены главный микроконтроллер (черная клякса), разъем jack 3,5 мм для подключения микрофона, микросхема flash памяти, контакты GPIO, UART и питания, пара светодиодов и остальной необходимый обвес, необходимый для работы схемы – резисторы, конденсаторы, кварц. Компактный размер платы позволит без особых трудностей встраивать модуль в собственные разработки. Для увеличения дальности работы голосовых команд предположительно необходимо использовать микрофон с усилителем. При достижении приемлемой дальности модуль пригоден для использования в системах умного дома. Без доработок по улучшению дальности работы модуль можно использовать в настольных системах управления, а также в системах охраны (контроля и ограничения доступа). Со штатным микрофоном из-за небольшой дальности надежнее всего использовать модуль распознавания голоса как гарнитуру и беспроводным способом передавать команды контроллеру, который чем-то управляет, используя аккумулятор и беспроводные модули (например, HC-05 или HC-12 или подходящие любые другие). Модуль способен работать без внешнего микроконтроллера, так как производителем заложена функциональная самостоятельность, необходимо лишь однократно записать голосовые команды и задать настройки для самостоятельной работы при помощи внешнего устройства (ПК или МК).

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

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

Читать еще:  Как восстановить скрытые подарки в одноклассниках. Как удалить подарок в ВК, который подарил Вам друг

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

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

Первые четыре команды 00, 01, 02, 03 используются для проверки состояния модуля и его настроек. Следующие шесть команд 10, 11, 12, 13, 14, 15 используются для изменения настроек модуля, среди которых управление портами вывода и настройки автостарта (auto load). Далее три команды 20,21, 22 используются для записи голосовых команд. Следующие три команды 30,31,32 используются для управления распознаванием голосовых команд. Команды 0A, 0D, FF используются только при возвращении данных самим модулем. Команд на самом деле не много и все это не так страшно, как кажется на первый взгляд в документации на модуль. Рассмотрим команды, необходимые для работы с модулем распознавания голоса. Не все из существующих команд несут практический характер.

Примечательно то, что модуль может работать без внешнего управляющего микроконтроллера, а также самостоятельно управлять чем-нибудь своими портами вывода. Для этого необходимо их настроить (команды 12, 13, 14).

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

Формат: | AA | 03 | 12 | MODE | 0A |

Где MODE может принимать четыре значения: 0 – импульсный режим (при срабатывании голосовой команды соответствующий команде вывод изменит свое состояние на время, устанавливаемое командой 13), 1 – режим переключателя (toggle или flip) (при каждом срабатывании голосовой команды вывод, соответствующий голосовой команде инвертируется), 2 – режим включения (при срабатывании голосовой команды вывод перейдет в состояние логической единицы и больше не перейдет в состояние логического нуля, сброс осуществляется командой 14), 3 – режим выключения (аналогично режиму включения только, наоборот, при срабатывании голосовой команды вывод переходит в состояние логического нуля).

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

Команда 13 – задание длительности импульса соответствующего режима.

Формат: | AA | 03 | 13 | LEVEL | 0A |

Где LEVEL принимает значение от 00 до 0F (соответствует длительности от 10 мс до 1 с).

Голосовое управление светом: как сделать умную систему своими руками

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

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

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

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

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

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

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

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

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

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

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

Читать еще:  Стоит ли прощаться с Windows 7?

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

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

Для осуществления голосового управления освещением предварительно производится детальная настройка систем распознавания голоса.

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

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

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

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

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

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

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

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

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

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

  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».

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

Читать еще:  Как в Paint.Net сделать прозрачный фон?

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

Заключение

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

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

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

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

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

Умный дом своими руками: Голосовое управление музыкой с Яндекс.Музыки

От редактора: Когда я увидел видеоролики Дмитрия, на которых он голосом дома запускал Lady Gaga и выставлял уровень света на 70%, то в голове проскочила мысль — «Эй! А ведь именно это и есть умный дом». Дмитрий занимается построением умного дома, который адаптируется под него, слушает его голос. А выглядит это все круче какого-то там Энтерпрайза! В цикле статей, который начинается этим материалом, наш гость расскажет как построить показанные решения. Это так просто, что похоже на магию!

Многие пользователи Андроида уже наверно попробовали российский аналог голосового ассистента Siri под названием «Ассистент на русском». Он умеет воспринимать голосовые команды и выполнять различные действия с девайсом.

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

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

Для этого я получил у разработчиков «Ассистента на русском» API для сторонних программистов (оно пока еще находится в тестировании и не имеет публичной документации) и попробовал реализовать возможность управления сайтом Яндекс-Музыка.

Что из этого получилось можно увидеть на видео ↓

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

Ассистент при этом подключается к браузеру за счет прикосновения телефоном к NFC метке. Вау-эффект в компании друзей обеспечен!

Чтобы все заработало, потребуется компьютер под управлением Windows, с установленным браузером Chrome, Java 6 и приложением “>Ассистент Коннект.

На компьютере нужно запустить «Ассистент Коннект» и указать код NFC-метки или любой другой код, сгенерированный, например, на сайте QrCoder. Это потребуется, если на смартфоне нет NFC и тогда подключиться к компьютеру можно с помощью QR кода.

На смартфон нужно установить «Ассистент на русском» и аддон Ассистент Коннект. После установки аддона Ассистент сам поймет, как обрабатывать новые команды и при фразе «Поставь музыку» предложит соединиться с компьютером.

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

Как то же самое работает не только с Яндекс Музкой, но и с любым другим сайтом, можно увидеть ниже:

При этом ничего не надо устанавливать на компьютере, а сам браузер может работать вообще где угодно — даже на Smart TV.

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

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: