- Хардуерни изисквания
- Настройване на Google API за Raspberry Pi Google Assistant
- Настройване на Google Assistant за Raspberry Pi Google Home
- Разрешаване на Raspberry Pi за Google Assistant
- Използване на Google Assistant на Raspberry Pi
Замисляли ли сте се някога за високоговорител, който може да се управлява от вашия глас !!! Да, Amazon Echo е един от най-популярните високоговорители с гласово управление, но в конкуренция с него Google Home също става популярен. Гласовите асистенти стават все по-популярни, докато се насочваме към ерата на системите, базирани на AI. Чували сте за Google Assistant, Apple Siri и Amazon Alexa. Всички те са базирани на глас AI системи, това, което ги прави различни, са техните екосистеми и тук Google Assistant се откроява най-много. Google, Apple и Amazon, всички тези компании вече пуснаха своите интелигентни високоговорители. На пазара се предлагат и интелигентни високоговорители на Google. Вече покрихме Amazon Echo, базиран на Raspberry Pi, този път ще превърнем Raspberry Pi в Google Home Speaker.
Google предоставя API за използване на неговата гласова услуга, която е с отворен код и е достъпна в Github. Използвайки гласова услуга на Google, можем да възпроизвеждаме музика, да получаваме информация за времето, да резервираме билети и много други. Всичко, което трябва да направите, е да попитате. В този урок нека да видим как да изградим гласов контролиран интелигентен високоговорител с помощта на Google асистент и Raspberry Pi.
Хардуерни изисквания
- Raspberry Pi 3 или Raspberry Pi 2 Модел B и SD карта (8 GB или повече)
- Външен високоговорител с 3,5 мм AUX кабел
- Всяка уеб камера или USB 2.0 микрофон
Ние също така предполагаме, че вашият Raspberry pi вече е настроен с Raspbian OS и е свързан с интернет. С тях на място, нека да продължим с урока. Ако сте нов в Raspberry Pi, преминете първо към Първи стъпки с Raspberry pi.
Забележка: Уеб камерата има вграден микрофон, така че ще използваме това вместо USB 2.0 микрофон.
Също така се нуждаете от клавиатура, мишка и монитор, за да свържете малиновия пи с помощта на HDMI кабел.
Проверка на микрофона на уеб камерата с Raspberry Pi:
1. Отворете терминала Raspberry Pi и напишете командата arecord -l. Това ще покаже хардуерните устройства, които са свързани към Raspberry Pi, както е показано по-долу:
Карта 1 е микрофонът на вашата уеб камера, който ще използваме. Ако не се показва, уеб камерата ви може да е дефектна.
2. Сега проверете дали микрофонът работи, като изпълните командата за запис на звук като:
arecord /home/pi/Desktop/test.wav -D sysdefault: КАРТА = 1
3. За да възпроизведете записания звук, напишете тази команда:
omxplayer -p -o local /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, за да промените усилването на микрофона dB и да го настроите както искате.
Ако имате USB 2.0 микрофон, тогава следваните стъпки са същите за проверка на микрофона. Тук използвахме уеб камера за USB микрофон.
Настройване на Google API за Raspberry Pi Google Assistant
1. Първо, трябва да се регистрираме и да настроим проект на таблото за управление на Google Console.
2. След като влезете във вашия акаунт в Google, ще видите следния прозорец.
Щракнете върху Добавяне / импортиране на проект .
3. На следващия екран трябва да въведете името на проекта и да кликнете върху Създаване на проект .
4. Сега отидете на конзолата за разработчици на Google в новия раздел и потърсете API на Google Assistant. Преди да продължите напред и да натиснете бутона Enable, уверете се, че сте избрали проекта си. След това кликнете върху Разрешаване.
5. Сега отворете предишния раздел на конзолата на Google и превъртете надолу до дъното на екрана.
Ще намерите опция Регистрация на устройство , щракнете върху нея.
6. На следващия екран щракнете върху Регистрация на модел. След това, трябва да зададете Име на продукта, името на производителя, и да зададете Тип на устройството. Тези имена могат да бъдат каквито искате.
Запишете идентификатора на модела на устройството, тъй като ще ни е необходим по-късно в процеса.
Сега кликнете върху Регистрация на модел .
7. Следващият екран ще бъде за Изтегляне на идентификационни данни. За да получите този файл с идентификационни данни, щракнете върху Изтегляне на идентификационни данни за OAuth 2.0 . Този файл е много важен, затова го пазете някъде на сигурно място.
Сега кликнете върху Напред.
8. Можете да изберете всякакви черти, от които се нуждаете, но в нашия случай ние не се нуждаем от нито една от тях, така че просто щракнахме бутона Skip, както е показано по-долу .
9. След като всичко свърши, ще имате следния екран.
10. Сега отидете на страницата за контрол на активността. Тук трябва да активирате следните контроли за активност, за да сте сигурни, че 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. Изпълнете тази команда, за да стартирате библиотеката.
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 –безглав
Тази команда ще генерира URL, ще копира този URL и ще го постави във вашия уеб браузър.
3. В браузъра влезте в акаунта си в Google, ако имате няколко акаунта, изберете само този, с който сте настроили вашия API ключ.
След влизане ще видите дълъг код за удостоверяване. Копирайте този код и го поставете във вашия терминален прозорец и натиснете enter. Ако удостоверяването е потвърдено, трябва да видите следния ред да се появи в командния ред, както е показано на горното изображение:
запазени идентификационни данни: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Нашите идентификационни данни за удостоверяване са проверени сега, но Google все още иска да потвърди чрез изскачащ дисплей. Но изскачащият ни прозорец е блокиран от CORS (споделяне на ресурси от различни източници), така че първо деактивирайте това нещо, като използвате командата по-долу.
За да използвате тази команда, уверете се, че браузърът ви хром е затворен и сега отворете нов терминален прозорец и въведете командата. Тази команда ще стартира браузъра Chrome с деактивирана защита CORS, не сърфирайте в интернет с тази деактивирана.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
След отварянето на браузъра отидете на предишния терминален прозорец, в който сте настроили извадката на асистента на Google.
5. Сега изпълнете следната команда за първо стартиране на Google асистент. В тази команда заменете
Ако сте забравили идентификатора на проекта, отворете Action Console в Google, щракнете върху проекта, който сте създали, след това щракнете върху иконата на зъбно колело в горния ляв ъгъл, след това върху Project Settings.
Също така заменете
googlesamples-assistant-pushtotalk --project-id
Тази команда ще стартира нов раздел в браузъра Chromium.
6. Сега натиснете Enter в прозореца на терминала, за да го задействате и задайте всеки въпрос.
Когато зададете първия въпрос, в браузъра може да се появи екранът отдолу. Щракнете върху Продължи -> Разбирам -> Разрешаване.
Ако този екран за продължаване не се появи, няма проблем.
7. Сега можем да използваме извадка от Google Assistant за push to talk и да получим изходен отговор.
Когато натиснете Enter в терминала и произнесете действие, трябва да чуете устен отговор и ще се отвори друг раздел, показващ действието, което току-що сте извикали.
Можете да деактивирате отварянето на раздела, като премахнете аргумента –display от командата. Имахме нужда от това, за да получим екрана за оторизация.
Използване на Google Assistant на Raspberry Pi
Одобрихме нашата Raspberry Pi. Винаги, когато искате да стартирате Google асистент, просто влезте в околната среда и следвайте стъпките по-долу.
1. Изпълнете следната команда при влизане в околната среда
източник env / bin / активиране
Ще видите (env) да се появява в предната част на всеки ред.
2. За да стартирате пробата за push to talk, изпълнете следната команда
googlesamples-assistant-pushtotalk
Този път не се нуждаем от идентификатор на продукта и идентификатор на устройство.
3. В допълнение към функцията за push to talk, можете също да задействате асистента на Google, като кажете Ok Google. За това трябва да въведете невалиден идентификатор на устройството, за да работи. Неправилен идентификатор на устройството може да бъде нещо като aaaa, abcd.
Сега изпълнете следната команда.
googlesamples-assistant-hotword --device-model-id
Сега можете да попитате каквото и да е със собствения асистент на Google, просто кажете Ok Google.
Така че по този начин можем да инсталираме Google Assistant на Raspberry Pi и да го превърнем в Google Home, като свържем високоговорител и микрофон към него.