- Вимоги до обладнання
- Налаштування 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 помічника та Raspberry Pi.
Вимоги до обладнання
- Raspberry Pi 3 або Raspberry Pi 2 Модель B і SD-карта (8 ГБ або більше)
- Зовнішній динамік з 3,5-мм AUX-кабелем
- Будь-яка веб-камера або мікрофон 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: КАРТА = 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, щоб змінити коефіцієнт посилення мікрофонного дБ і встановити його як завгодно.
Якщо у вас є мікрофон USB 2.0, то для перевірки мікрофона виконуються однакові дії. Тут ми використали веб-камеру для мікрофона USB.
Налаштування Google API для Raspberry Pi Google Assistant
1. По-перше, ми повинні зареєструватись і створити проект на інформаційній панелі Google Console Actions.
2. Після входу у свій обліковий запис Google ви побачите наступне вікно.
Клацніть на Додати / Імпортувати проект .
3. На наступному екрані вам потрібно ввести назву проекту та натиснути на Створити проект .
4. Тепер перейдіть на консоль розробників Google у новій вкладці та знайдіть API Google Assistant. Перш ніж продовжувати і натискати кнопку Увімкнути, переконайтеся, що вибрано ваш проект. Потім натисніть Увімкнути.
5. Тепер відкрийте попередню вкладку консолі Google і прокрутіть униз екрана вниз.
Ви знайдете варіант Реєстрація пристрою , натисніть на нього.
6. На наступному екрані натисніть Реєстрація моделі. Після цього вам потрібно встановити назву продукту, назву виробника та тип пристрою. Ці імена можуть бути будь-якими, як завгодно.
Запишіть ідентифікатор моделі пристрою, оскільки це нам знадобиться пізніше в процесі.
Тепер натисніть Реєстрація моделі .
7. Наступним екраном буде Завантажити облікові дані. Щоб отримати цей файл облікових даних, натисніть Завантажити облікові дані OAuth 2.0 . Цей файл дуже важливий, тому зберігайте його десь у безпеці.
Тепер натисніть Далі.
8. Ви можете вибрати будь-які риси, які вам потрібні, але в нашому випадку нам не потрібно жодної з них, тому ми просто натиснули кнопку Пропустити, як показано нижче .
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 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 –headhead
Ця команда згенерує 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 для push-talk і отримати вихідну відповідь.
Коли ви натискаєте клавішу Enter у терміналі та вимовляєте дію, ви повинні почути усну відповідь, а також відкриється інша вкладка, що відображає дію, яку ви щойно викликали.
Ви можете вимкнути відкриття вкладки, видаливши аргумент –display з команди. Це нам знадобилося, щоб отримати екран авторизації.
Використання Google Assistant на Raspberry Pi
Ми авторизували наш Raspberry Pi. Щоразу, коли ви хочете запустити Google помічника, просто потрапіть у середовище та виконайте наведені нижче дії.
1. Виконайте наступну команду на get in the environment
джерело env / bin / activate
Ви побачите (env), що з’являється в передній частині кожного рядка.
2. Щоб запустити зразок "Натисни і говори", виконайте наступну команду
googlesamples-assistant-pushtotalk
Цього разу нам не потрібні ідентифікатор товару та ідентифікатор пристрою.
3. На додаток до функції "Натисни і говори", ви також можете запустити асистента Google, сказавши " Ok Google". Для цього потрібно ввести недійсний ідентифікатор пристрою, щоб він працював. Неправильний ідентифікатор пристрою може бути таким, як aaaa, abcd.
Тепер запустіть таку команду.
googlesamples-assistant-hotword --device-model-id
Тепер ви можете запитати що завгодно за допомогою власного асистента Google, просто скажіть Ok Google.
Ось як ми можемо встановити Google Assistant на Raspberry Pi і перетворити його на Google Home, підключивши до нього динамік та мікрофон.