- Требования к оборудованию
- Настройка Google API для Raspberry Pi Google Assistant
- Настройка Google Assistant для Raspberry Pi Google Home
- Авторизация Raspberry Pi для Google Assistant
- Использование Google Assistant на Raspberry Pi
Вы когда-нибудь задумывались о динамике, которым можно управлять по голосу !!! Да, Amazon Echo - один из самых популярных динамиков с голосовым управлением, но в конкуренции с ним становится популярным и Google Home. Голосовые помощники становятся все более популярными, поскольку мы приближаемся к эре систем на основе ИИ. Вы слышали о Google Assistant, Apple Siri и Amazon Alexa. Все это системы искусственного интеллекта на основе голоса, что отличает их друг от друга, так это их экосистемы, и именно здесь Google Assistant выделяется больше всего. Google, Apple и Amazon, все эти компании уже выпустили свои умные колонки. Умные колонки Google также доступны на рынке. Мы уже рассмотрели Amazon Echo на базе Raspberry Pi, на этот раз мы превратим Raspberry Pi в домашний динамик Google.
Google предоставляет API для использования своей голосовой службы, которая имеет открытый исходный код и доступна на Github. Используя голосовой сервис Google, мы можем воспроизводить музыку, получать информацию о погоде, бронировать билеты и многое другое. Все, что вам нужно сделать, это спросить. В этом уроке давайте посмотрим, как создать интеллектуальный динамик с голосовым управлением с помощью Google Assistant и Raspberry Pi.
Требования к оборудованию
- Raspberry Pi 3 или Raspberry Pi 2 Model B и SD-карта (8 ГБ или больше)
- Внешний динамик с кабелем AUX 3,5 мм
- Любая веб-камера или микрофон USB 2.0
Мы также предполагаем, что ваш Raspberry pi уже настроен с ОС Raspbian и подключен к Интернету. Установив их, продолжим обучение. Если вы новичок в Raspberry Pi, сначала прочтите Начало работы с Raspberry Pi.
Примечание. Веб-камера имеет встроенный микрофон, поэтому мы будем использовать его вместо микрофона USB 2.0.
Вам также понадобятся клавиатура, мышь и монитор для подключения raspberry pi с помощью кабеля HDMI.
Проверка микрофона веб-камеры с помощью Raspberry Pi:
1. Откройте терминал Raspberry Pi и введите команду arecord -l. Это отобразит аппаратные устройства, подключенные к Raspberry Pi, как показано ниже:
Карточка 1 - это микрофон вашей веб-камеры, который мы собираемся использовать. Если он не отображается, возможно, ваша веб-камера неисправна.
2. Теперь проверьте, работает ли микрофон, выполнив команду записи звука как:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Чтобы воспроизвести записанный звук, введите эту команду:
omxplayer -p -o локальный /home/pi/Desktop/test.wav
Если вы подключили Raspberry Pi к монитору с помощью кабеля HDMI, то по умолчанию аудиовыход идет через динамик вашего монитора (если в нем есть встроенный динамик). Итак, чтобы изменить его на 3,5 мм, вам нужно ввести следующую команду:
sudo raspi-config и перейдите к опции Advance.
Выберите Audio из списка -> выберите Force 3.5mm -> выберите Ok и перезапустите Raspberry Pi.
Теперь вы должны услышать звук через разъем 3,5 мм.
ПРИМЕЧАНИЕ. Если вы хотите увеличить или уменьшить громкость входящего голоса для микрофона, введите в терминале alsamixer . Выберите звуковую карту в терминале, нажав F6.
Нажмите F4, чтобы изменить усиление микрофона в дБ, и установите его по своему усмотрению.
Если у вас есть микрофон USB 2.0, выполните те же действия, чтобы проверить микрофон. Здесь мы использовали веб-камеру для USB-микрофона.
Настройка Google API для Raspberry Pi Google Assistant
1. Во-первых, мы должны зарегистрировать и настроить проект на панели инструментов Google Console Actions.
2. После входа в свою учетную запись Google вы увидите следующее окно.
Щелкните Добавить / импортировать проект .
3. На следующем экране вы должны ввести имя проекта и нажать « Создать проект» .
4. Теперь перейдите в консоль разработчиков Google в новой вкладке и найдите Google Assistant API. Прежде чем продолжить и нажать кнопку « Включить», убедитесь, что ваш проект выбран. Затем нажмите Включить.
5. Теперь откройте предыдущую вкладку консоли Google и прокрутите вниз до нижней части экрана.
Вы найдете опцию регистрации устройства , нажмите на нее.
6. На следующем экране нажмите « Зарегистрировать модель». После этого вам нужно установить Имя продукта, имя Производитель и установить тип устройства. Эти имена могут быть какими угодно.
Запишите идентификатор модели устройства, так как он нам понадобится позже.
Теперь нажмите « Зарегистрировать модель» .
7. Следующий экран будет для учетных данных загрузки. Чтобы получить этот файл учетных данных, щелкните Загрузить учетные данные OAuth 2.0 . Этот файл очень важен, поэтому храните его в надежном месте.
Теперь нажмите Далее.
8. Вы можете выбрать любые характеристики, которые вам нужны, но в нашем случае они нам не нужны, поэтому мы просто нажали кнопку « Пропустить» , как показано ниже .
9. Как только все будет сделано, у вас появится следующий экран.
10. Теперь перейдите на страницу Activity Controls. Здесь вы должны активировать следующие элементы управления действиями, чтобы убедиться, что API Google Assistant работает нормально.
История приложений и веб-поиска, История местоположений, Информация об устройстве, История голоса и звука
11. Снова заходим в консоль разработчиков Google. Нажмите Учетные данные в левой части панели инструментов. Нажмите на экран согласия OAuth.
12. Введите свой идентификатор Gmail и любое имя в Название продукта и сохраните его.
Теперь мы закончили настройку Google API.
Настройка Google Assistant для Raspberry Pi Google Home
Обратите внимание, что начиная с этой части вам потребуется пройти обучение непосредственно на рабочем столе Raspbian, а не через SSH, поскольку вам придется использовать встроенный веб-браузер.
1. Сначала обновите список пакетов Raspberry Pi, используя следующую команду
sudo apt-get update
2. Теперь мы создадим файл, в котором мы сможем хранить учетные данные, которые мы скачали ранее. Для этого выполните следующие две команды
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. В этот файл вы должны скопировать содержимое файла учетных данных, который мы загрузили. Откройте файл.json в своем любимом текстовом редакторе и нажмите ctrl + A, затем ctrl + C, чтобы скопировать содержимое.
После копирования содержимого сохраните файл, нажав Ctrl + X, затем Y и, наконец, нажмите Enter.
4. После сохранения файла учетных данных мы начнем установку некоторых зависимостей, необходимых для запуска помощника Google.
Выполните следующую команду, чтобы установить Python3 и виртуальную среду Python 3 в наш RPi.
sudo apt-get install python3-dev python3-venv
5. Теперь включите python3 в качестве нашей виртуальной среды, используя следующую команду
python3 -m venv env
6. Установите последние версии pip и setuptools. Выполните следующую команду, чтобы получить обновление
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Чтобы попасть в среду Python, мы должны запустить эту команду
source env/bin/activate
8. Теперь мы установим библиотеку Google Assistant, выполните следующие команды одну за другой, чтобы получить обновленную библиотеку.
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
На этом мы закончили установку всех необходимых зависимостей и библиотек.
Авторизация Raspberry Pi для Google Assistant
1. Сначала мы установим инструмент авторизации Google на наш Raspberry pi, выполнив следующую команду
python -m pip install --upgrade google-auth-oauthlib
2. Теперь нам нужно запустить библиотеку Google Authentication. Выполните эту команду, чтобы запустить библиотеку.
google-oauthlib-tool --client-secrets ~ / googleassistant / credentials.json \ --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https: //www.googleapis. com / auth / gcm \ --save –headless
Эта команда сгенерирует URL-адрес, скопирует этот URL-адрес и вставит его в ваш веб-браузер.
3. В браузере войдите в свою учетную запись Google. Если у вас несколько учетных записей, выберите только ту, с которой вы настроили свой ключ API.
После входа в систему вы увидите длинный код аутентификации. Скопируйте этот код, вставьте его в окно терминала и нажмите Enter. Если аутентификация подтверждена, вы должны увидеть следующую строку в командной строке, как показано на изображении выше:
учетные данные сохранены: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Наши учетные данные для аутентификации сейчас проверены, но Google все еще хочет проверить их с помощью всплывающего окна. Но наше всплывающее окно заблокировано CORS (совместное использование ресурсов между разными источниками), поэтому сначала отключите эту вещь, используя команду ниже.
Чтобы использовать эту команду, убедитесь, что ваш браузер Chrome закрыт, а теперь откройте новое окно терминала и введите команду. Эта команда запустит браузер Chrome с отключенной безопасностью CORS, не просматривайте Интернет, если она отключена.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
После открытия браузера перейдите в предыдущее окно терминала, в котором вы настроили пример Google Ассистента.
5. Теперь выполните следующую команду для первого запуска помощника Google. В этой команде замените
Если вы забыли идентификатор проекта, перейдите в Консоль действий в Google, щелкните созданный проект, затем щелкните значок шестеренки в верхнем левом углу и выберите Параметры проекта.
Также замените
googlesamples-assistant-pushtotalk --project-id
Эта команда откроет новую вкладку в браузере Chromium.
6. Теперь нажмите Enter в окне терминала, чтобы вызвать его и задать любой вопрос.
Когда вы задали первый вопрос, в браузере может появиться экран, показанный ниже. Нажмите Продолжить -> Я понимаю -> Разрешить.
Если этот экран « Продолжить» не появляется, нет проблем.
7. Теперь мы можем использовать образец Google Assistant для разговора и получить ответ.
Когда вы нажимаете Enter в терминале и произносите действие, вы должны услышать словесный ответ, и также откроется другая вкладка, отображающая действие, которое вы только что назвали.
Вы можете запретить открытие вкладки, удалив из команды аргумент –display. Нам это нужно, чтобы получить экран авторизации.
Использование Google Assistant на Raspberry Pi
Мы авторизовали наш Raspberry Pi. Когда бы вы ни захотели запустить Google Ассистента, просто войдите в среду и выполните следующие шаги.
1. Выполните следующую команду, чтобы попасть в среду.
источник env / bin / активировать
Вы увидите (env) перед каждой строкой.
2. Чтобы запустить образец PTT, выполните следующую команду
googlesamples-assistant-pushtotalk
На этот раз нам не нужны идентификатор продукта и идентификатор устройства.
3. Помимо функции «нажми и говори», вы также можете запустить помощника Google, сказав « Окей, Google». Для этого вам необходимо ввести неверный идентификатор устройства, чтобы оно работало. Неправильный идентификатор устройства может быть любым, например aaaa, abcd.
Теперь запустите следующую команду.
googlesamples-assistant-hotword --device-model-id
Теперь вы можете спросить что угодно с помощью собственного помощника Google, просто скажите Ok Google.
Вот как мы можем установить Google Assistant на Raspberry Pi и превратить его в Google Home, подключив к нему динамик и микрофон.