- Ардуино голосовое управление андроид
- Делаем управление светодиодом голосом с помощью Arduino
- Шаг 1: Комплектующие
- Шаг 2: Подключение модуля Bluetooth HC-05
- Шаг 3: Подключение светодиодов
- Шаг 4: Питание
- Шаг 5: Код
- Шаг 6: Использование мобильного приложения
- Шаг 7: Итоговый результат
- Голосовое управление Arduino средствами Processing и Google Speech API
- Поиск решения:
- Решение
- Processing + Arduino
- Проблемы и планы:
- Голосовое управление светодиодом с помощью Arduino и Bluetooth
- Необходимые компоненты
- Bluetooth модуль HC-06
- Схема проекта
- Объяснение программы для Arduino
- Работа проекта
- Исходный код программы
Ардуино голосовое управление андроид
Краткое описание:
Offline Voice CBT — гибкий инструмент для создания своих DIY проектов и проектов smart home.
Описание:
Оффлайн голосовое управление по bluetooth устройствами умного дома, Arduino(Ардуино), Raspberry PI, Orange PI и другими устройствами DIY.
Offline Voice CBT — гибкий инструмент для создания своих DIY проектов и проектов smart home.
Для правильной работы программы на андроид устройстве должен быть установлен синтезатор речи Google TTS с наличием русского языка.
Возможности программы:
1. Активация управления голосом(ключевой фразой) и нажатием на значок управления.
2. Меню поиска и добавления bluetooth устройств.
3. Автоподключение к последнему использованному bluetooth устройству при включении программы.
4. Прием, отправка и озвучивание входящих, исходящих bluetooth команд.
5. Озвучивание успешного соединения с bluetooth устройством и разрыва связи.
6. Просмотр, добавление, удаление команд в текстовом режиме.
7. Озвучивание выполнения команд, используя Google TTS.
8. Меню настройки чувствительности микрофона.
Скоро будет видео инструкция.
Моё первое приложение, тестируем, буду исправлять. Спасибо)
Требуется Android: 4.4 и выше
Русский интерфейс: Да
Скачать: версия: 1.0Offline_Voice_CBT_v_1.apk ( 46 МБ )
Источник
Делаем управление светодиодом голосом с помощью Arduino
В этом уроке по Arduino мы покажем, как использовать мобильное приложение для Android и модуль Bluetooth HC-05 для голосового управления светодиодом.
Шаг 1: Комплектующие
Для этого урока нам понадобится минимум комплектующих. После того как вы сделаете урок — вы сможете усложнить схему и дополнить её устройствами по своему вкусу.
- Arduino UNO
- HC-05 Bluetooth Модуль
- Макетная плата
- Провода
- 330 Ом резистор
- Светодиоды (LED)
Шаг 2: Подключение модуля Bluetooth HC-05
Стандартный модуль Bluetooth HC-05 имеет шесть контактов. Однако в этом проекте мы будем использовать только 4.
Мы будем использовать вывод VCC, вывод GND, вывод TXD и вывод RXD. Вывод VCC модуля bluetooth подключается к + 3,3 В от Arduino. Вывод GND модуля подключается к GND Arduino (земля). Штырь TX модуля bluetooth соединяется с цифровым выводом 0 (RXD), а контакт RXD подключается к цифровому выходу 1 (TXD).
Шаг 3: Подключение светодиодов
Следующим шагом в создании светодиодов, управляемых голосом, является подключение светодиодов к Arduino через макет.
Сначала подключите короткий конец светодиода к земле. Затем подключите длинный конец каждого из светодиодов к резистору 330 Ом. Наконец, подключите сопротивление тока от светодиодов к цифровым контактам на Arduino.
В этом проекте мы будем подключать один светодиод к цифровому выводу 2, другой — к цифровому выходу 3, а последний светодиод — к цифровому выходу 4.
Шаг 4: Питание
Для этого проекта мы можем подавать питание на Arduino через любой источник питания + 5 В. Вы можете использовать USB-порт со своего компьютера для питания Arduino, но в этом проекте мы будем использовать портативную батарею 5В. Прежде чем подключать источник питания к вашему Arduino, убедитесь, что GND Arduino подключен к земле макетной платы.
Шаг 5: Код
Код для нашего проекта ниже.
Шаг 6: Использование мобильного приложения
Вы можете начать тестировать свой проект, загрузив приложение для Android — BT Voice Control для Arduino (BT Voice Control for Arduino), созданное SimpleLabsIN.
После того как вы скачали и установили приложение на свой телефон на базе Android нажмите на строку меню в правом верхнем углу и выберите «Подключить робота». В появившемся новом окне выберите модуль Bluetooth HC-05 и подключите его.
Теперь, когда вы говорите с помощью определенных команд из кода на свое устройство через приложение, определенные светодиоды должны включаться и выключаться. Посмотрите внимательнее на код, где указаны команды и поставьте свои. Например, вместо «*switch on red» можно просто указать «red». Так команды будут быстрее, короче и понятнее.
Шаг 7: Итоговый результат
Итоговый результат можно посмотреть на видео ниже.
Источник
Голосовое управление Arduino средствами Processing и Google Speech API
Поиск решения:
BitVoicer
Натыкался на разного рода статьи с применением BitVoicer в связке с Arduino, но вся проблема в том, что BitVoicer работает только на Windows, а это не позволяет использовать систему на простых устройствах типа Rasberry Pi под управлением Unix.
Arduino Voice Recognition
Так же Arduino можно управлять голосом благодаря модулю распознавания голоса, но пока у меня нет срадств на его приобретение и есть ряд неудобств при использовании этого модуля: ограниченное количество команд, нудное обучение, для новых команд требуется перепрошивка модуля, что уже является минусом, если система отлажена и установлена.
Решение
Начал искать кросплатформенное решение, которое позволяло бы работать системе на множестве операционных систем. Нашлось такое: Speech to Text Library for Java/Processing. Комплекс реализован на базе языка Processing (Java) и Google Speach API о котом тут уже ранее писали. Данное решение позволяет отслеживать голос в реальном времени enableAutoRecord(), указывать лимит громкости enableAutoThreshold(), подключать внешние микрофоны getLineIn(), указывать язык распознавания setLanguage(String). Полный перечень возможностей и специфика есть на сайте разработчика: http://stt.getflourish.com. Для работы нам понадобиться Google Speech API Key. Как его получить описано тут: www.chromium.org/developers/how-tos/api-keys. Единственный негативный момент в том, что Google Speech позволяет обрабатывать лишь 50 запросов в сутки, но на практике проходят больше 500 запросов.
Для того, чтобы в дальнейшем было проще ориентироваться по тексту, я прикладываю все исходники, в которых уже прописаны голосовые команды, подключение к плате Arduino, скетч для платы Arduino, голосовое подтверждение фраз и все остальное, что сейчас уже есть и работает: исходники. После скачивание папку GoogleTTS помещаем в библиотеки Processing’a. Скетч для Arduino лежит в папке GoogleTTS/ArduinoSerial. Все писалось на Processing 3.0a4, доступный в пре-релизе на официальном сайте.
Реализация («Слушай мою команду!»):
С распознаванием определились. Теперь нужно отлавливать нужные нам команды и по ним принимать решения. За это отвечает секция:
Голосовой ответ
Теперь нам нужен инструмент, который будет нам отвечать человеческим голосом в случае найденного соответствия. В качестве инструмента реализации был выбран Google Translate, а вернее модуль, который конвертирует текст в голос. Текст оправляется запросом на сервер Google, преобразуется в звуковой файл и отправляется нам обратно в формате mp3. За это отвечает секция:
За обработку непосредственно текстовых фраз отвечает секция:
Пример реализации распознавания и голосового подтверждения:
Processing + Arduino
Ну вот вроде и заработало, но чего-то не хватает. Теперь «подружим» это все с Arduino.
Инициализируем serial подключение в Processing для отправки данных на Arduino (для пользователей Mac и Unix):
Для Windows пользователей:
И отправим туда команду при найденном голосовом соответствии:
Теперь займемся платой Arduino. Нам нужно слушать Serial порт и при нахождении команды из списка, выполнять требуемое действие согласно команде. Скетч очень прост:
Проблемы и планы:
Т.к. я не занимался программирование до этого времени, я не до конца понимаю некоторые вещи в процессе отладки. Буду признателен, если кто-нибудь подскажет как решить проблемы из перечня ниже:
— Самая основная проблема — голосовая фраза не проговаривается целиком. Пропадают последние буквы. Хотя звуковой файл приходит с сервера Google в нормальном виде. Как я понимаю ситуацию: проблема аудио-плеера, но где именно пока не ясно.
— Уже писал, что у Google Speech API есть ограничение на 50 запросов в сутки, но по факту получается больше. В любом случае этого мало. Планирую прописать локальное распознавание главной команды и только после ее распознавания, остальной текст отправлять на обработку Google’у. Ищу решение.
— Думаю не помешает отправка команд на Ethernet-шилд Arduino, т.к. некоторые системы могут находиться на приличном расстоянии от главного компьютера и Serial подключение тут уже не подойдет. Займусь этим решение на днях, т.к. нет у меня в наличии роутера для подключения к нему Arduino с Ethernet-шилдом.
Источник
Голосовое управление светодиодом с помощью Arduino и Bluetooth
На первый взгляд, управление светодиодом с помощью голоса может показаться достаточно трудной задачей, но с помощью такой платформы как Arduino в этом нет ничего сложного. Все, что нам нужно будет сделать – это соединить плату Arduino по последовательному каналу связи с Bluetooth модулем HC-06 и с помощью смартфона передавать голосовые команды на Bluetooth модуль HC-06. Для приема голосовых команд мы будем использовать приложение на android “Arduino Bluetooth Voice Controller”, которое можно будет скачать по ниже приведенной ссылке.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- Bluetooth модуль HC-06 (купить на AliExpress).
- Красный и зеленый светодиоды (купить на AliExpress).
- Резистор 220 Ом (2 шт.) (купить на AliExpress).
- Arduino Bluetooth Voice Controller (можно скачать с play store по этой ссылке или непосредственно скачать прямо из смартфона по названию приложения).
- Макетная плата.
- Соединительные провода.
Bluetooth модуль HC-06
Данный модуль может функционировать в двух режимах: режим команд и режим данных. В режиме команд мы можем настраивать различные свойства Bluetooth соединения: имя, пароль, скорость передачи и т.д. Режим данных позволяет осуществлять обмен данными между модулем и микроконтроллером (в нашем случае платой Arduino). Мы в данном проекте будем использовать только режим данных, свойства Bluetooth соединения будем использовать те, которые установлены в модуле по умолчанию. Имя устройства может быть HC-05 или HC-06 (в использованном нами модуле), пароль может быть 0000 или 1234, по умолчанию скорость передачи обычно выставлена 9600 бод/с.
Модуль работает от питающего напряжения 5V, а его сигнальные контакты работают с напряжением 3.3V. В модуле присутствует встроенный регулятор напряжения, поэтому нам не стоит беспокоиться о преобразовании этих напряжений. В режиме данных мы из 6 контактов модуля будем использовать только 4. Назначение контактов Bluetooth модуля HC-06 приведено в следующей таблице.
№ по порядку | Назначение контакта |
1 | Vcc |
2 | Vcc |
3 | Tx |
4 | Rx |
5 | State |
6 | EN (Enable) |
На нашем сайте вы также можете следующие проекты с использованием Bluetooth модуля:
Схема проекта
Схема голосового управления светодиодом с помощью Arduino и Bluetooth представлена на следующем рисунке. Перед загрузкой программы в плату Arduino отсоедините контакты Rx и Tx, а после загрузки программы снова их подсоедините.
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы рассмотрим его наиболее важные фрагменты.
Сначала в программе необходимо определить контакты Arduino, на которых мы будем использовать последовательную связь (Rx и Tx).
Затем установим 2-й и 3-й контакты платы Arduino (к ним подключены светодиоды) в режим вывода данных.
Далее, в функции loop плата Arduino будет непрерывно проверять поступление данных от Bluetooth модуля (который, в свою очередь управляется с помощью голосовых команд) и в соответствии с ними управлять включением/выключением светодиодов. Все принимаемые команды мы будем сохранять в переменной “Value”.
Если значение этой переменной равно «all LED turn on», то мы будем включать оба светодиода. Аналогично этому при поступлении других голосовых команд мы будем соответствующим образом включать и выключать светодиоды в нашей схеме. Более подробно все эти процессы показаны на видео, приведенном в конце статьи.
Работа проекта
Шаг 1. Соберите схему, приведенную на рисунке выше. Перед загрузкой кода программы в плату Arduino отсоедините контакты Rx и Tx. После загрузки программы снова их подсоедините.
Шаг 2. Скачайте по приведенной в начале статье ссылки приложение для смартфона под названием “Arduino Bluetooth Voice Controller”. Либо вы непосредственно можете скачать его со своего смартфона по его названию.
Шаг 3. Запустите скачанное приложение, у вас на смартфоне появится его экран, показанный на приведенном ниже рисунке. Кликните на “connect to Bluetooth device” (соединиться с Bluetooth устройством), выберите после этого свой Bluetooth модуль и затем проверьте подсоединился ли он к приложению или нет. Затем кликните на иконку микрофона и после этого вы можете передавать голосовые команды Bluetooth модулю HC-06.
Примечание : когда вы будете подключаться к Bluetooth модулю HC-06 в первый вам необходимо будет ввести пароль для подключения к модулю – используйте в качестве пароля 0000 или 1234.
Шаг 4. Передавая голосовые команды Bluetooth модулю HC-06, который затем транслирует их по последовательному порту связи плате Arduino, которая выполняет принятую команду по включению/выключению светодиодов. Список реализованных в программе команд и действия, которые при их поступлении следует выполнить, представлен в следующей таблице.
№ п/п | Команда | Действие |
1 | all LED turn on | включить оба светодиода |
2 | all LED turn off | выключить оба светодиода |
3 | turn on Red LED | включить красный светодиод |
4 | turn on green LED | включить зеленый светодиод |
5 | turn off red LED | выключить красный светодиод |
6 | turn off green LED | выключить зеленый светодиод |
Аналогичным образом, изменяя код программы, вы можете добавить в этот проект любые другие команды и, соответственно, добавить в схему любые другие устройства (электрическая лампочка, телевизор, кондиционер и т.д.), которыми вы хотите управлять с помощью голоса.
Примечание : статья переведена с иностранного сайта и насколько корректно представленное приложение “Arduino Bluetooth Voice Controller” и программа для Arduino может работать со словами на русском языке, лично я пока не пробовал. Но буду признателен если вы в комментариях к данной статье отпишитесь по этому поводу если попробуете сделать это.
Исходный код программы
Если у вас возникнут какие либо вопросы по тексту данной программы, то вы можете задать их в комментариях к данной статье, постараюсь ответить.
Источник