Ako vytvoriť svojpomocného domáceho asistenta Google s Raspberry Pi

Ako vytvoriť svojpomocného domáceho asistenta Google s Raspberry Pi

Hlasom ovládaní asistenti sa rýchlo stali samozrejmosťou. Mnoho domácností má zariadenie Alexa alebo Google Home, ktoré ovláda všetko od osvetlenia po médiá a dokonca aj meranie času.





Technológia, na ktorej tieto zariadenia bežia, je--aspoň čiastočne--k dispozícii každému. Google Assistant SDK vám umožňuje používať službu na vlastných zariadeniach. Tento tutoriál sa zaoberá nastavením asistenta Google na vašom Raspberry Pi a hlasovou aktiváciou LED pomocou pinov GPIO.





Hardvér potrebný pre domáceho asistenta Raspberry Pi

Budete potrebovať:





  1. Raspberry Pi s príponou nová inštalácia Raspbian na kartu SD .
  2. USB webkamera alebo mikrofón.
  3. Externý reproduktor.
  4. Obvod od Pi LED návod (voliteľné)
  5. Prehliadač prihlásený do vášho účtu Google.

Poznámka: Vybavenie tohto tutoriálu sa môže mierne líšiť. Náhradnú webovú kameru USB som použil čisto na jej mikrofón. Každá kompatibilná webová kamera alebo mikrofón by mala fungovať dobre, a existujú rozsiahly zoznam zariadení kompatibilných s Pi pomôcť.

Tiež používam 3,5 mm výstup na zvuk. Fungovať bude aj HDMI a ďalšie výstupné zdroje, aj keď to bude vyžadovať úpravy nižšie uvedeného nastavenia zvuku.



Pripojte webovú kameru a reproduktor USB a nastavte obvod LED, ak ho používate.

Nastavenie zvuku

Tento tutoriál je možné sledovať priamo na Pi alebo prostredníctvom pripojenia SSH do Pi.





Oba spôsoby začínajú v termináli, aby ste skontrolovali nastavenia zvuku. Použite príkazy arecord -l a uplatniť -l zoznam dostupných zariadení.

ako vytvoriť odkaz na iphone

Na obrázku vyššie je webová kamera USB ako karta 1 a zariadenie 0 . Zaznamenajte si čísla kariet a zariadení pre výstup mikrofónu aj reproduktorov.





Teraz sa uistite, že ste v /domov/pi adresár, vytvorte nový súbor a otvorte ho v nano:

sudo nano .asoundrc

Obsah tohto adresára sa bude líšiť v závislosti od toho, aké karty a čísla zariadení používate. Tu si môžete vybrať, či chcete uprednostniť výstup HDMI pred 3,5 mm, ak si to želáte.

Keď zadáte svoju verziu vyššie uvedeného kódu, stlačte Ctrl + X uložiť a ukončiť.

Otestujte si svoje nastavenie zaznamenaním a prehraním krátkeho klipu:

Voliteľný krok: Ak chcete zmeniť vstupnú hlasitosť mikrofónu, otvorte ju alsamixer a stlačte F6 cyklovať medzi zariadeniami.

To je všetko! Zvuk je nastavený.

Vytvorenie projektu Google

Otvorte prehliadač Pi, prípadne, ak ste pripojení prostredníctvom SSH, otvorte prehliadač lokálne. Prejdite na Google Action Console a klikni Nový projekt .

Môže to chvíľu trvať. Keď skončíte, nechajte okno aktívne a otvorte novú kartu --- o chvíľu na to prídeme.

Povolenie rozhrania Google Assistant API

Ak chcete pokračovať, je potrebné vykonať niekoľko online úprav. Prejdite na Web Google Assistant API a klikni Povoliť .

Projekt tiež vyžaduje povolenia na aktivitu. Choďte do svojho Ovládací panel aktivity a uistite sa, že sú zapnuté nasledujúce činnosti:

  • Aktivita na webe a v aplikáciách (vrátane začiarkavacieho políčka História Chrome)
  • Informácie o zariadení
  • Hlasová a zvuková aktivita

Teraz môžete prejsť k registrácii zariadenia.

Registrácia vášho Raspberry Pi

Vráťte sa späť do konzoly Action Console Registrácia zariadenia z ľavého panela. Pod Výrobok vytvorte ľahko zapamätateľné meno pre svoje zariadenie. Meno výrobcu nie je dôležité (ale musí tam byť) a vyberte Auto pre typ zariadenia.

Kliknite Zaregistrujte model , a na ďalšej obrazovke kliknite na Stiahnite si poverenia OAuth 2.0 . Tým sa do vášho počítača stiahne súbor JSON. Ak nie ste oboznámení so súbormi JSON, nebojte sa, ale naučiť sa používať JSON stojí za to urobiť pre budúcnosť!

Oficiálna príručka Google odporúča presunúť súbor do /domov/pi , tak otvorte správcu súborov a urobte to teraz.

Ďalší krok pre používateľov SSH:

Ak používate SSH, stiahnete si súbor JSON do svojho lokálneho počítača namiesto Pi. Ak ho chcete preniesť, otvorte samostatné okno terminálu bez pripojenia SSH. Z tohto okna skopírujte súbor tajného klienta JSON pomocou tohto príkazu:

scp ~/Downloads/client_secret_client-id.json pi@raspberry-pi-ip-address:/home/pi/

„Raspberry-pi-ip-address“ nahraďte IP adresou svojho Pi a nezabudnite na dvojbodku pred cestou. Ak ste si stiahli súbor JSON do iného umiestnenia, upravte svoju miestnu cestu tak, aby to zodpovedala. Po výzve zadajte svoje heslo a súbor sa skopíruje do domovského adresára Pi.

Prepnite späť na terminál SSH a prejdite na /domov/pi . Zadajte ls -l zoznam súborov v adresári. Mali by ste vidieť prenesený tajný súbor JSON klienta.

Inštalácia súpravy SDK

Google odporúča pracovať vo virtuálnom prostredí Python. Vytvorte nové virtuálne prostredie s názvom env .

Ak ste to ešte nikdy neurobili, tento tutoriál vám pomôže naučiť sa používať virtuálne prostredia Python.

Nainštalujte si najnovšie verzie programov Pip, Setuptools a Wheel a aktivujte svoje virtuálne prostredie:

env/bin/python -m pip install --upgrade pip setuptools wheel
source env/bin/activate

Asistent Google má niekoľko závislostí, ktoré by ste si teraz mali nainštalovať do virtuálneho prostredia.

sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev

Nakoniec nainštalujte nástroj Google Assistant SDK, Samples a OAuth.

python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk[samples]
python -m pip install --upgrade google-auth-oauthlib[tool]

To je všetko potrebné na to, aby ste sa rozbehli. Ak niektorá z inštalácií zlyhá, dôkladne skontrolujte pravopis a medzery.

Autentifikácia Raspberry Pi

Použi google-auth-oauthlib [nástroj] so súborom poverení JSON stiahnutým skôr na autentifikáciu vášho 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

Budete musieť nahradiť YOUR_CLIENT_SECRET_ID stiahnutým súborom, preto sa oplatí najskôr skopírovať názov súboru. Toto ID klienta musí byť správne. Nemeňte názov súboru!

Mali by ste dostať správu s odkazom so žiadosťou o vloženie autorizačného kódu.

Kliknutím na odkaz sa otvorí prehliadač. Zobrazí sa výzva na povolenie zariadenia vo vašom účte Google. Skopírujte nasledujúci autorizačný kód a vložte ho späť do okna terminálu.

Mali by ste dostať potvrdzujúce čítanie Uložené poverenia: /home /pi… , čo znamená, že Pi bola úspešne autorizovaná pomocou vášho účtu Google.

Testovanie

Teraz, keď je všetko na svojom mieste, je načase otestovať Asistenta Google Pi. Spustite asistenta týmto príkazom:

googlesamples-assistant-hotword --project-id my-dev-project --device-model-id my-model

Budete musieť vymeniť môj-dev-projekt s vašim ID projektu (nachádza sa pod ozubeným kolieskom nastavenia konzoly Action Console). Tvoj id-modelu-zariadenia je uvedený v sekcii Registrácia zariadenia v konzole Action Console.

Vyskúšaj to! Povedzte „OK Google“ a položte otázku. Keď počujete odpoveď, môžete vidieť výstup programu v termináli:

To je všetko! Na vašom Raspberry Pi teraz beží Google Assistant. Ak je výstupná hlasitosť trochu nízka, môžete to zmeniť vyslovením „Hej Google, zvýšte hlasitosť až na 80%.“

Bonus: Hlasom aktivované GPIO

Svetlá je možné ovládať pomocou Arduina a Siri, existuje však jednoduchšia metóda. Ak nastavíte diódu LED, môžete ju pomocou hlasu ovládať pomocou Asistenta Google.

Nastavenie Asistenta Google na prácu s kolíkmi GPIO je pomerne jednoduché, vyžaduje si však niekoľko ďalších krokov. Prejdite do konzoly Google Action Console a v časti Registrácia zariadenia vyhľadajte svoje zariadenie. Kliknite na ňu a otvorte ponuku vlastností:

Otočte Vypnuté zapnite a kliknite Uložiť.

Teraz sa uistite, že ste vo vnútri env virtuálne prostredie, klonujte verziu SDK do svojho Pi pomocou git:

git clone https://github.com/googlesamples/assistant-sdk-python

Keďže ide o virtuálne prostredie, pred pokračovaním budete musieť nainštalovať RPi.GPIO.

pip install rpi.gpio

Teraz prejdite do priečinka obsahujúceho príponu hotword.py skript.

cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library

Úprava skriptu

Do skriptu hotword.py budete musieť pridať niekoľko riadkov, takže ho otvorte v nano editore:

nano hotword.py

Pod príkazy k importu pridajte svoje vlastné pre RPi.GPIO.

import RPi.GPIO as GPIO

Hľadaj process_event metóda. Na riadku 66 odstráňte alebo komentujte tlačový príkaz a pridajte príkaz if na ovládanie diódy LED.

#print('Do command', command, 'with params', str(params))
if command == 'action.devices.commands.OnOff':
if params['on']:
print('---------------')
print('Led turned on')
print('---------------')
GPIO.output(18, GPIO.HIGH)
else:
print('---------------')
print('Led turned off')
print('---------------')
GPIO.output(18, GPIO.LOW)

Táto logika riadi LED, ale zatiaľ nie je nakonfigurovaná na výstup. Nastavte ho v Hlavná() funkciu, než sa zavolá metóda process_event.

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT, initial=GPIO.LOW)

Teraz je kolík GPIO nastavený na výstup a inicializuje sa v nízkom stave. Uložiť a ukončiť. Upravený skript môžete spustiť ako argument s ID-číslom modelu (nachádza sa v konzole Action Console).

python hotword.py --device-model-id YOUR-MODEL-ID-HERE

Koncový výstup je rovnaký ako predtým a asistent bude fungovať štandardne. Teraz, keď však poviete „OK Google, zapnite“, uvidíte nový výstup:

Poznámka: Vyššie uvedený obrázok bol orezaný a zobrazuje iba asistenta, ktorý žiadosť počul, a tlačené vyhlásenie bolo pridané do skriptu.

Mali by ste vidieť, ako sa rozsvieti aj vaša LED dióda!

Windows 10 hyper-v vs virtualbox

Váš vlastný domáci pomocník Raspberry Pi Google Home Assistant

Tento projekt je dobrým úvodom do používania služieb Google API. Teraz, keď máte zariadenie Google Assistant, vyskúšajte niektoré z najlepších príkazov Google Home --- na niektoré sme sa pozreli skvelé mini hry Google Home .

zdieľam zdieľam Tweet E -mail Ako vyčistiť počítač so systémom Windows pomocou príkazového riadka

Ak má váš počítač so systémom Windows nedostatok úložného priestoru, odstráňte nepotrebné informácie pomocou týchto rýchlych nástrojov príkazového riadka.

Čítajte ďalej
Súvisiace témy
  • DIY
  • Malinový koláč
  • Smart Hubs
  • LED svetlá
  • Asistent Google
  • Návody na projekt DIY
O autorovi Ian Buckley(216 publikovaných článkov)

Ian Buckley je nezávislý novinár, hudobník, performer a producent videa žijúci v Berlíne v Nemecku. Keď práve nepíše alebo je na pódiu, pohráva si s elektronikou alebo kódom pre domácich majstrov v nádeji, že sa stane šialeným vedcom.

Viac od Iana Buckleyho

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber
Kategórie Diy