
Gabriel Brooks
0
5083
1120
Hlasem ovládaní asistenti se rychle stávají samozřejmostí. Mnoho domácností má Alexa nebo Google Home, které ovládají vše od osvětlení po média a dokonce i měření času.
Technologie, na které tato zařízení běží, je dostupná - alespoň částečně - všem. Google Assistant SDK vám umožňuje používat službu na vlastních zařízeních. Tento tutoriál popisuje, jak nastavit pomocníka Google na Raspberry Pi a hlasem aktivovat LED pomocí pinů GPIO.
Hardware potřebný pro domácího pomocníka Raspberry Pi
Budete potřebovat:
- Raspberry Pi s čerstvou instalací Raspbian na SD kartě Jak nainstalovat operační systém na Raspberry Pi Jak nainstalovat operační systém na Raspberry Pi Zde je návod, jak nainstalovat operační systém na Raspberry Pi a jak klonovat dokonalé nastavení pro rychlé zotavení po havárii. .
- Webová kamera USB nebo mikrofon.
- Externí reproduktor.
- Okruh z výukového programu Pi LED Jak naprogramovat Raspberry Pi na ovládání LED světel Jak naprogramovat Raspberry Pi na ovládání LED světel Hledáte snadný projekt Raspberry Pi, jak začít s kódováním a elektronikou? Zkuste zapnout a vypnout připojení některých LED a jejich kódování! (volitelný)
- Prohlížeč přihlášený k vašemu účtu Google.
Poznámka: Vybavení tohoto tutoriálu se může poněkud lišit. Pro mikrofon jsem použil náhradní webkameru USB. Jakákoli kompatibilní webová kamera nebo mikrofon by měla fungovat dobře a existuje rozsáhlý seznam zařízení kompatibilních s Pi.
Také používám 3,5mm výstup pro zvuk. Bude fungovat i HDMI a další výstupní zdroje, bude však vyžadovat úpravy níže uvedeného nastavení zvuku.
Připojte webovou kameru a reproduktor USB a nastavte obvod LED, pokud jej používáte.
Nastavení zvuku
Tento tutoriál lze sledovat přímo na Pi nebo přes SSH spojení do Pi.
Oba způsoby začínají v terminálu a kontrolují nastavení zvuku. Použijte příkazy arecord -l a aplay -l seznam dostupných zařízení.
Výše uvedený obrázek ukazuje webovou kameru USB jako karta 1 a zařízení 0. Poznamenejte si čísla karet a zařízení pro výstup mikrofonu i reproduktoru.
Nyní, ujistěte se, že jste v / home / pi adresář, vytvořte nový soubor a otevřete jej v nano:
sudo nano .asoundrc
Obsah tohoto adresáře se bude lišit v závislosti na tom, jaká čísla karet a zařízení používáte. To je místo, kde si můžete vybrat, abyste upřednostňovali HDMI výstup spíše než 3,5 mm, pokud si budete přát.
Po zadání verze výše uvedeného kódu stiskněte tlačítko Ctrl + X uložit a ukončit.
Otestujte nastavení nahráním a přehráním krátkého klipu:
Volitelný krok: Chcete-li změnit vstupní hlasitost mikrofonu, otevřete alsamixer a stiskněte F6 cyklovat mezi zařízeními.
A je to! Zvuk je nastaven.
Vytvoření projektu Google
Pokud jste připojeni přes SSH, otevřete prohlížeč Pi, otevřete prohlížeč lokálně. Přejděte do Konzole Google Action Console a klikněte na Nový projekt.
Může to chvíli trvat. Po dokončení nechte okno aktivní a otevřete novou kartu - za chvíli k tomu dorazíme.
Povolení rozhraní Google Assistant API
Chcete-li pokračovat, musíte provést několik online úprav. Přejděte na web Google Assistant API a klikněte na Umožnit.
Projekt také vyžaduje oprávnění k činnosti. Přejděte do ovládacího panelu aktivit a ujistěte se, že jsou zapnuty následující činnosti:
- Aktivita na webu a v aplikacích (včetně zaškrtávacího políčka Historie Chrome)
- Informace o zařízení
- Hlasová a zvuková aktivita
Nyní můžete přejít k registraci zařízení.
Registrace vašeho Raspberry Pi
V konzole Action Action vyberte Registrace zařízení z levého panelu. Pod Produkt vytvořte pro zařízení snadno zapamatovatelné jméno. Jméno výrobce není důležité (ale musí tam být) a vyberte Auto pro typ zařízení.
Klikněte na Zaregistrujte model, a na další obrazovce klikněte Stáhněte si OAuth 2.0 Pověření. Tím se do počítače stáhne soubor JSON. Pokud nejste obeznámeni se soubory JSON, nebojte se, ale naučte se používat JSON JSON Python Parsing: Jednoduchý průvodce JSON Python Parsing: Jednoduchý průvodce K dispozici jsou knihovny a sady nástrojů pro analýzu a generování JSON z téměř jakýkoli jazyk a prostředí. Tento článek se zaměřuje na metody a problémy vyplývající z analýzy JSON pythonu. stojí za to udělat pro budoucnost!
Oficiální příručka Google doporučuje přesunout soubor do / home / pi, otevřete tedy správce souborů a udělejte to hned teď.
Extra krok pro uživatele SSH:
Pokud používáte SSH, stáhnete soubor JSON do místního počítače namísto Pi. Chcete-li jej přenést, otevřete samostatné okno terminálu bez připojení SSH. Z tohoto okna zkopírujte přes tajný soubor JSON klienta pomocí tohoto příkazu:
scp ~ / Soubory ke stažení / client_secret_client-id.json pi @ raspberry-pi-ip-address: / home / pi /
Nahradit “raspberry-pi-ip-address” s IP adresou vašeho Pi a nezapomeňte na tlusté střevo před cestou. Pokud jste stáhli soubor JSON do jiného umístění, upravte svou místní cestu tak, aby se to odrazilo. Po zobrazení výzvy zadejte heslo a soubor se zkopíruje do domovského adresáře Pi.
Přepněte zpět na terminál SSH a přejděte na / home / pi. Vstoupit ls -l seznam souborů v adresáři. Měli byste vidět přenesený klientský soubor JSON.
Instalace sady SDK
Google doporučuje pracovat ve virtuálním prostředí Python. Vytvořte nové virtuální prostředí s názvem env.
Pokud jste to ještě nikdy neudělali, tento tutoriál vám pomůže naučit se používat virtuální prostředí Python.
Nainstalujte nejnovější verze Pip, Setuptools a Wheel a aktivujte své virtuální prostředí:
env / bin / python -m pip install - upgrade pip setuptools zdroj kola env / bin / Activ
Asistent Google má některé závislosti, které byste nyní měli nainstalovat do virtuálního prostředí.
sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev
Nakonec nainstalujte nástroj Google Assistant SDK, Samples a OAuth.
python -m pip install - upgrade google-assistant-library python -m pip install - upgrade google-assistant-sdk [ukázky] python -m pip install - upgrade google-auth-oauthlib [nástroj]
To je vše, co je potřeba k tomu, abyste se dostali do provozu. Pokud některá z instalací selže, zkontrolujte pravopis a mezery důkladně.
Ověřování Raspberry Pi
Použijte google-auth-oauthlib [nástroj] se souborem pověření JSON staženým dříve k ověření vašeho Raspberry Pi.
google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https://www.googleapis.com/auth/gcm \ --save --headless - -client-secrets /home/pi/YOUR_CLIENT_SECRET_ID.json
YOUR_CLIENT_SECRET_ID budete muset nahradit staženým souborem, takže je vhodné nejprve zkopírovat název souboru. Toto ID klienta musí být správné. Neměňte název souboru!
Měli byste dostat zprávu s odkazem a požádat o vložení autorizačního kódu.
Kliknutím na odkaz se otevře prohlížeč. Zobrazí se výzva k povolení zařízení ve vašem účtu Google. Zkopírujte následující autorizační kód a vložte jej zpět do okna terminálu.
Měli byste obdržet potvrzení čtení Uložené pověření: / home / pi… , což znamená, že společnost Pi byla úspěšně autorizována pomocí vašeho účtu Google.
Testování to
Nyní, když je vše na svém místě, je čas vyzkoušet si Pi Google Assistant. Spusťte asistenta pomocí tohoto příkazu:
googlesamples-assistant-hotword --project-id my-dev-project - zařízení-model-id my-model
Budete muset vyměnit můj-dev-projekt s vaším ID projektu (nachází se v části Nastavení ozubeného kola konzoly Action Console). Vaše device-model-id je uveden v části Registrace zařízení v konzole Action Console.
Vyzkoušet to! Říci “OK Google” a zeptejte se. Jakmile uslyšíte odpověď, můžete vidět výstup programu v terminálu.
A je to! Asistent Google nyní běží na vašem Raspberry Pi. Pokud je výstupní hlasitost trochu nízká, můžete ji změnit vyslovením “Ahoj Google, proměňte svůj objem až na 80%.”
Bonus: Hlasem aktivovaný GPIO
Je možné ovládat světla pomocí Arduino a Siri, ale existuje jednodušší metoda. Pokud nastavíte diodu LED, můžete ji pomocí hlasového ovládání ovládat pomocí Google Assistant.
Nastavení Google Assistant pro práci s kolíky GPIO je relativně jednoduché, ale vyžaduje některé další kroky. Vydejte se do Konzole Google Action Console a najděte své zařízení v části Registrace zařízení. Klikněte na ni a otevřete nabídku vlastností:
Otočte Zapnuto vypnuto zadejte znak a klikněte na Uložit.
Nyní se ujistěte, že jste uvnitř env virtuální prostředí, klonujte verzi sady SDK do svého Pi pomocí git:
git clone https://github.com/googlesamples/assistant-sdk-python
Vzhledem k tomu, že se jedná o virtuální prostředí, budete muset před pohybem vpřed nainstalovat RPi.GPIO.
pip install rpi.gpio
Nyní přejděte do složky obsahující hotword.py skript.
cd assistant-sdk-python / google-assistant-sdk / googlesamples / assistant / library
Úprava skriptu
Do skriptu hotword.py budete muset přidat několik řádků, takže jej otevřete v editoru nano:
nano hotword.py
Pod příkazy importu přidejte svůj vlastní pro RPi.GPIO.
import RPi.GPIO jako GPIO
Podívejte se na process_event metoda. Na řádku 66 odstraňte nebo okomentujte příkaz print a přidejte příkaz if pro ovládání LED.
#print ('Do command', command, 'with params', str (params)) if command == "action.devices.commands.OnOff": if params ['on']: print ('----- ---------- ') tisk („Led zapnutý“) tisk („---------------“) GPIO.output (18, GPIO.HIGH) else: print ('---------------') print ('Led off off') print ('---------------') GPIO.output (18, GPIO.LOW)
Tato logika ovládá LED, ale zatím není nakonfigurována na výstup. Nastavit to v hlavní() funkce dříve, než se zavolá metoda process_event.
GPIO.setmode (GPIO.BCM) GPIO.setup (18, GPIO.OUT, initial = GPIO.LOW)
Nyní je pin GPIO nastaven na výstup a inicializuje se v nízkém stavu. Uložte a ukončete. Jako argument můžete spustit svůj upravený skript, který předává číslo vašeho modelu (nalezeno v konzole akcí).
python hotword.py - zařízení-model-id YOUR-MODEL-ID-HERE
Výstup z terminálu je stejný jako dříve a asistent pracuje jako standard. Nyní však, když říkáte “OK Google, zapni se” uvidíte nový výstup:
Poznámka: Výše uvedený obrázek byl oříznut a zobrazoval pouze pomocníka, který žádost vyslechl, a do skriptu byl přidán příkaz tisku.
Měli byste také vidět, jak se rozsvítí LED!
Váš vlastní domácí kutil Raspberry Pi Google
Tento projekt je dobrým úvodem k používání služeb Google API. Nyní, když máte zařízení Google Assistant, vyzkoušejte některé z nejlepších příkazů Google Home. Cheat Sheet Home Home Commands Cheat Sheet Cheat Sheet Home Home Commands Náš cheat sheet Google Home příkazů obsahuje spoustu užitečných akcí, včetně zábavy, informací a automatizace. - podívali jsme se na několik skvělých mini her Google Home 15 domácích příkazů Google pro mini hry a dalších 15 domácích příkazů Google pro mini hry a další Pomocí příkazů Google Home můžete udělat mnoho věcí. Zde je několik zábavných příkazů Google Home, které stojí za vyzkoušení. .