- Hardwarové požadavky
- Nastavení Google API pro Google Assistant Raspberry Pi
- Nastavení Google Assistant pro Raspberry Pi Google Home
- Autorizace Raspberry Pi pro Google Assistant
- Používání Google Assistant na Raspberry Pi
Už jste někdy přemýšleli o reproduktoru, který lze ovládat hlasem !!! Ano, Amazon Echo je jedním z nejpopulárnějších reproduktorů s hlasovým ovládáním, ale v konkurenci s ním je také populární Google Home. Hlasové asistenty se stávají populárnějšími, když míříme do éry systémů založených na AI. Slyšeli jste o Google Assistant, Apple Siri a Amazon Alexa. Jedná se o hlasové systémy AI založené na hlasu, které se od sebe navzájem liší, jsou jejich ekosystémy, a to je místo, kde Google Assistant vyniká nejvíce. Google, Apple a Amazon, všechny tyto společnosti již uvedly své inteligentní reproduktory. Na trhu jsou k dispozici také inteligentní reproduktory Google. Již jsme pokryli Raspberry Pi na bázi Amazon Echo, tentokrát proměníme Raspberry Pi na domácí reproduktor Google.
Google poskytuje API pro používání své hlasové služby, která je otevřeným zdrojem a je k dispozici na Githubu. Pomocí hlasové služby Google můžeme přehrávat hudbu, získávat informace o počasí, rezervovat vstupenky a mnoho dalšího. Musíte se jen zeptat. V tomto kurzu se podíváme, jak vytvořit hlasově řízený inteligentní reproduktor pomocí Google Assistant a Raspberry Pi.
Hardwarové požadavky
- Raspberry Pi 3 nebo Raspberry Pi 2 Model B a karta SD (8 GB nebo více)
- Externí reproduktor s 3,5 mm AUX kabelem
- Jakákoli webová kamera nebo mikrofon USB 2.0
Rovněž předpokládáme, že vaše Raspberry pi je již nastaveno na Raspbian OS a je připojeno k internetu. S těmito na místě pokračujeme v tutoriálu. Pokud jste v Raspberry Pi noví, projděte si nejprve Začínáme s Raspberry Pi.
Poznámka: Webová kamera má vestavěný mikrofon, takže jej použijeme místo mikrofonu USB 2.0.
K připojení maliny pi pomocí kabelu HDMI potřebujete také klávesnici, myš a monitor.
Kontrola mikrofonu webové kamery pomocí Raspberry Pi:
1. Otevřete terminál Raspberry Pi a zadejte příkaz arecord -l. Zobrazí se hardwarová zařízení připojená k Raspberry Pi, jak je znázorněno níže:
Karta 1 je mikrofon vaší webové kamery, který budeme používat. Pokud se nezobrazí, může být vaše webová kamera vadná.
2. Nyní zkontrolujte, zda mikrofon funguje, spuštěním příkazu nahrávání zvuku jako:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Chcete-li přehrát nahraný zvuk, zadejte tento příkaz:
omxplayer -p -o local /home/pi/Desktop/test.wav
Pokud jste připojili Raspberry Pi k monitoru pomocí kabelu HDMI, je výchozí zvukový výstup přes reproduktor vašeho monitoru (pokud je v něm zabudovaný reproduktor). Chcete-li jej změnit na 3,5 mm, musíte zadat následující příkaz:
sudo raspi-config a přejděte na možnost Advance.
Ze seznamu vyberte Zvuk -> vyberte Síla 3,5 mm -> vyberte Ok a restartujte Raspberry Pi.
Nyní byste měli slyšet zvuk z 3,5 mm jacku.
POZNÁMKA: Pokud chcete zvýšit nebo snížit vstupní hlasitost mikrofonu, zadejte do terminálu alsamixer . Vyberte zvukovou kartu z terminálu stisknutím klávesy F6.
Stisknutím klávesy F4 změňte zisk Mic dB a nastavte jej, jak chcete.
Pokud máte mikrofon USB 2.0, postupujte při kontrole mikrofonu stejným způsobem. Zde jsme použili webovou kameru pro USB mikrofon.
Nastavení Google API pro Google Assistant Raspberry Pi
1. Nejprve musíme zaregistrovat a nastavit projekt na řídicím panelu Akce Google Console.
2. Po přihlášení k účtu Google se zobrazí následující okno.
Klikněte na Přidat / Importovat projekt .
3. Na další obrazovce musíte zadat Název projektu a kliknout na Vytvořit projekt .
4. Nyní přejděte na konzoli vývojářů Google na nové kartě a vyhledejte API Google Assistant. Než budete pokračovat a stisknete tlačítko Povolit, ujistěte se, že máte vybraný projekt. Poté klikněte na Povolit.
5. Nyní otevřete předchozí kartu konzoly Google a přejděte dolů do dolní části obrazovky.
Najdete možnost Registrace zařízení , klikněte na ni.
6. Na další obrazovce klikněte na Registrovat model. Poté je třeba nastavit název výrobku, označením výrobce a nastavte typ zařízení. Tato jména mohou být jakákoli, jak chcete.
Zapište si ID modelu zařízení, protože to budeme později potřebovat.
Nyní klikněte na Registrovat model .
7. Další obrazovka bude pro Stáhnout pověření. Chcete-li získat tento soubor pověření, klikněte na pověření Stáhnout OAuth 2.0 . Tento soubor je velmi důležitý, takže ho udržujte někde v bezpečí.
Nyní klikněte na Další.
8. Můžete vybrat libovolné vlastnosti, které potřebujete, ale v našem případě žádnou z nich nepotřebujeme, takže jsme klikli na tlačítko Přeskočit , jak je znázorněno níže .
9. Jakmile je vše hotové, zobrazí se následující obrazovka.
10. Nyní přejděte na stránku Ovládací prvky aktivity. Zde musíte aktivovat následující ovládací prvky aktivity, abyste zajistili, že API Google Assistant bude fungovat dobře.
Aktivita na webu a v aplikacích, Historie polohy, Informace o zařízení, Hlasová a zvuková aktivita
11. Opět přejděte na konzolu vývojářů Google. Klikněte na pověření na levé straně palubní desky. Klikněte na obrazovku souhlasu OAuth.
12. Vyplňte své ID Gmailu a jakékoli jméno do Název produktu a uložte jej.
Nyní jsme provedli nastavení rozhraní Google API.
Nastavení Google Assistant pro Raspberry Pi Google Home
Vezměte prosím na vědomí, že od této části budete muset dokončit výukový program na ploše Raspbian přímo, nikoli přes SSH, protože budete muset použít integrovaný webový prohlížeč.
1. Nejprve pomocí následujícího příkazu aktualizujte seznam balíčků Raspberry Pi
sudo apt-get aktualizace
2. Nyní vytvoříme soubor, kam můžeme uložit přihlašovací údaje, které jsme stáhli dříve. Za tímto účelem spusťte následující dva příkazy
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. V tomto souboru musíte zkopírovat obsah souboru pověření, který jsme stáhli. Otevřete soubor.json ve svém oblíbeném textovém editoru a stisknutím kláves ctrl + A poté ctrl + C zkopírujte obsah.
Po zkopírování obsahu uložte soubor stisknutím Ctrl + X, pak Y a nakonec stiskněte Enter.
4. Po uložení souboru pověření začneme instalovat některé závislosti potřebné ke spuštění asistenta Google.
Spuštěním následujícího příkazu nainstalujte Python3 a Python 3 Virtual Environment do našeho RPi.
sudo apt-get install python3-dev python3-venv
5. Nyní pomocí následujícího příkazu povolte python3 jako naše virtuální prostředí
python3 -m venv env
6. Nainstalujte nejnovější verze pipu a instalačních nástrojů. Spusťte následující příkaz a získejte aktualizaci
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Abychom se dostali do prostředí pythonu, musíme spustit tento příkaz
source env/bin/activate
8. Nyní nainstalujeme Knihovnu Google Assistant, spusťte následující příkazy jeden po druhém a získáte aktualizovanou knihovnu
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Nyní jsme dokončili instalaci všech požadovaných závislostí a knihoven.
Autorizace Raspberry Pi pro Google Assistant
1. Nejprve nainstalujeme autorizační nástroj Google na náš Raspberry pi provedením následujícího příkazu
python -m pip install --upgrade google-auth-oauthlib
2. Nyní musíme spustit knihovnu Google Authentication. Spuštěním tohoto příkazu spustíte knihovnu.
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 –hlavní
Tento příkaz vygeneruje adresu URL, zkopíruje tuto adresu URL a vloží ji do vašeho webového prohlížeče.
3. V prohlížeči se přihlaste ke svému účtu Google. Pokud máte více účtů, vyberte pouze ten, u kterého jste nastavili klíč API.
Po přihlášení uvidíte dlouhý ověřovací kód. Zkopírujte tento kód, vložte jej do okna terminálu a stiskněte klávesu Enter. Pokud je ověřování ověřeno, měl by se na příkazovém řádku zobrazit následující řádek, jak je znázorněno na obrázku výše:
uložená pověření: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Naše přihlašovací údaje jsou nyní ověřeny, ale Google je přesto chce ověřit pomocí vyskakovacího okna. Ale naše vyskakovací okno je blokováno CORS (Cross-origin resource sharing), takže nejprve tuto věc zakažte pomocí níže uvedeného příkazu.
Chcete-li použít tento příkaz, ujistěte se, že je váš prohlížeč chromu zavřený, nyní otevřete nové okno terminálu a zadejte příkaz. Tento příkaz spustí prohlížeč chromu se zakázaným zabezpečením CORS, s tímto vypnutým procházením internetu neprocházejte.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Po otevření prohlížeče přejděte do předchozího okna terminálu, ve kterém jste nastavili ukázku asistenta Google.
5. Nyní spusťte následující příkaz pro první spuštění asistenta Google. V tomto příkazu nahraďte
Pokud jste zapomněli ID projektu, přejděte do konzoly Akce na Googlu, klikněte na projekt, který jste vytvořili, poté klikněte na ikonu ozubeného kola v levém horním rohu a poté na Nastavení projektu.
Také vyměňte
googlesamples-assistant-pushtotalk --project-id
Tento příkaz spustí novou kartu v prohlížeči Chromium.
6. Nyní stiskněte Enter v okně terminálu, spusťte jej a položte jakoukoli otázku.
Když jste položili první otázku, v prohlížeči se může zobrazit obrazovka níže. Klikněte na Pokračovat -> Rozumím -> Povolit.
Pokud se tato obrazovka Pokračovat nezobrazí, žádný problém.
7. Nyní můžeme použít ukázku Google Assistant push to talk a získat výstupní odpověď.
Když stisknete Enter v terminálu a řeknete akci, měli byste slyšet slovní odpověď a otevře se také další karta zobrazující akci, kterou jste právě volali.
Otevření karty můžete deaktivovat odstraněním argumentu –display z příkazu. Potřebovali jsme to, abychom získali obrazovku autorizace.
Používání Google Assistant na Raspberry Pi
Autorizovali jsme naše Raspberry Pi. Kdykoli chcete spustit asistenta Google, stačí se dostat do prostředí a postupovat podle níže uvedených kroků.
1. Spusťte následující příkaz na get v prostředí
zdroj env / bin / aktivovat
Uvidíte (env) se objeví v přední části každého řádku.
2. Chcete-li spustit ukázku push to talk, spusťte následující příkaz
googlesamples-assistant-pushtotalk
Tentokrát nepotřebujeme ID produktu a ID zařízení.
3. Kromě funkce push to talk můžete také spustit asistenta Google vyslovením příkazu Ok Google. Abyste mohli fungovat, musíte zadat neplatné ID zařízení. Nesprávné ID zařízení může být cokoli jako aaaa, abcd.
Nyní spusťte následující příkaz.
googlesamples-assistant-hotword --device-model-id
Nyní se můžete zeptat na cokoli s vlastním pomocníkem Google, stačí říct Ok Google.
Takto si můžeme nainstalovat Google Assistant na Raspberry Pi a přeměnit jej na domovskou stránku Google připojením reproduktoru a mikrofonu.