Kako izraditi DIY Google kućni pomoćnik s malinom Pi

  • Owen Little
  • 0
  • 2720
  • 638
Oglas

Glasovni pomoćnici brzo su postali uobičajena. Mnogi domovi imaju Alexa ili Google Home koji kontroliraju sve, od osvjetljenja do medija, pa čak i uštede vremena.

Tehnologija koju ovi uređaji pokreću dostupna je barem djelomično svima. Googleov SDK Assistant Assistant omogućuje vam korištenje usluge na vlastitim uređajima. Ovaj vodič opisuje kako postaviti Google Assistant na vašem Raspberry Pi i glasovno aktiviranje LED-a putem GPIO igle.

Potreban hardver za kućni pomoćnik Raspberry Pi

Trebat će vam:

  1. Raspberry Pi sa svježom Raspbian instalacijom na SD karticu Kako instalirati operativni sustav na Raspberry Pi Kako instalirati operativni sustav na Raspberry Pi Evo kako instalirati OS na Raspberry Pi i kako brzo klonirati savršenu postavku oporavak od katastrofe. .
  2. USB web kamera ili mikrofon.
  3. Vanjski zvučnik.
  4. Krug iz Pi LED udžbenika Kako programirati svoj Raspberry Pi za upravljanje LED svjetlima Kako programirati svoj Raspberry Pi za upravljanje LED svjetlima Tražite li jednostavan projekt Raspberry Pi da biste započeli s kodiranjem i elektronikom? Pokušajte spojiti neke LED diode i kodirati ih da biste ih uključili i isključili! (Po izboru)
  5. Preglednik prijavljen na vaš Google račun.

Bilješka: Oprema za ovaj udžbenik može ponešto varirati. Koristio sam rezervnu USB web kameru čisto za njezin mikrofon. Bilo koja kompatibilna web kamera ili mikrofon trebala bi biti u redu, a postoji opsežan popis uređaja koji podržavaju Pi.

Također, koristim 3,5 mm izlaz za audio. HDMI će i drugi izlazni izvori također raditi, iako će zahtijevati izmjene u postavci zvuka u nastavku.

Uključite USB web kameru i zvučnik i postavite LED krug ako ga koristite.

Postavljanje zvuka

Ovaj se udžbenik može pratiti izravno na Pi-u ili preko SSH veze u Pi.

Oba načina započinju u terminalu za provjeru postavki zvuka. Koristite naredbe arecord -l i aplay -l na popis dostupnih uređaja.

Slika iznad prikazuje USB web kameru kao karta 1 i uređaj 0. Zabilježite brojeve kartica i uređaja za izlaz mikrofona i zvučnika.

Sada, provjerite jeste li u / Home / pi direktoriju, stvorite novu datoteku i otvorite je u nano:

sudo nano .asoundrc

Sadržaj ove mape razlikuje se ovisno o brojevima kartica i uređaja koje koristite. Ovdje možete odlučiti da preferirate HDMI izlaz umjesto 3,5 mm ako želite.

Kad unesete svoju verziju gornjeg koda, pritisnite Ctrl + X spremiti i izaći.

Testirajte svoje postavke tako što ćete snimiti i reproducirati kratki isječak:

Neobavezni korak: Ako želite promijeniti ulaznu glasnoću mikrofona, otvorite alsamixer i pritisnite F6 za kruženje između uređaja.

To je to! Zvuk je podešen.

Izrada Google projekta

Otvorite preglednik Pi, ili ako ste povezani putem SSH-a, otvorite preglednik lokalno. Dođite do Google Action Console i kliknite Novi projekt.

Ovo može potrajati nekoliko trenutaka. Kada završite, ostavite prozor aktivan i otvorite novu karticu - do ovog ćemo trenutka doći.

Omogućivanje API-ja Google Assistant

Za nastavak je potrebno nekoliko prilagodbi na mreži. Dođite do web-mjesta API Google Assistant i kliknite Omogućiti.

Projekt također zahtijeva dopuštenja za aktivnosti. Idite na svoju kontrolnu ploču aktivnosti i provjerite jesu li sljedeće aktivnosti uključene:

  • Aktivnost na webu i u aplikacijama (uključujući potvrdni okvir Povijest Chrome)
  • Informacije o uređaju
  • Glasovna i audio aktivnost

Sada možete prijeći na registraciju uređaja.

Registriranje vašeg Raspberry Pi

Natrag na Akcijsku konzolu odaberite Registracija uređaja s lijeve ploče. Pod, ispod Proizvod stvorite lako pamtljivo ime za svoj uređaj. Naziv proizvođača nije važan (ali mora biti tamo) i odaberite Auto za vrstu uređaja.

Klik Registrirajte se model, a na sljedećem zaslonu kliknite Preuzmite vjerodajnice OAuth 2.0. Ovo preuzima JSON datoteku na vaše računalo. Ako niste upoznati s JSON datotekama, ne brinite, ali naučite kako koristiti JSON JSON Python Parsing: Jednostavan vodič JSON Python Parsing: Jednostavan vodič Postoje biblioteke i kompleti alata za analizu i generiranje JSON-a iz gotovo bilo koji jezik i okruženje. Ovaj se članak koncentrira na metode i probleme koji proizilaze iz JSON python raščlanjivanja. vrijedi učiniti za budućnost!

Službeni Googleov vodič preporučuje premještanje datoteke u / Home / pi, pa otvorite upravitelj datoteka i učinite to sada.

Dodatni korak za SSH korisnike:

Ako koristite SSH, umjesto datoteke Pi, datoteku JSON preuzet ćete na svoj lokalni stroj. Da biste ga prenijeli, otvorite zasebni prozor terminala bez SSH veze. Iz ovog prozora kopirajte preko klijentske tajne JSON datoteke pomoću ove naredbe:

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

Zamijeniti “malina-pi-IP adresa” s IP adresom vaše Pi, i ne zaboravite dvotočka prije puta. Ako ste datoteku JSON preuzeli na neko drugo mjesto, izmijenite svoj lokalni put da biste to odrazili. Kad se to od vas zatraži, unesite svoju lozinku i datoteka će se kopirati u Pi početni direktorij.

Vratite se na SSH terminal i pomaknite se do / Home / pi. Unesi ls -l popis datoteka u direktoriju. Trebali biste vidjeti prenesenu klijentsku tajnu JSON datoteke.

Instaliranje SDK-a

Google preporučuje rad u virtualnom okruženju Pythona. Stvorite novo virtualno okruženje pod nazivom eNV.

Ako to nikad niste učinili, ovaj će vam vodič pomoći da naučite kako koristiti Python virtualno okruženje.

Instalirajte najnovije verzije programa Pip, Setuptools i Wheel i aktivirajte svoje virtualno okruženje:

env / bin / python -m pip install - nadogradnja pip setuptools izvor kotača env / bin / activate

Google Assistant ima neke ovisnosti koje biste sada trebali instalirati u virtualno okruženje.

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

Napokon, instalirajte SDK, uzorke i OAuth alat Google Assistant.

python -m pip install - nadogradnja google-pomoćnica-knjižnica python -m pip instalacija - nadogradnja google-pomoćnika-sdk [uzorci] python -m pip instalacija - nadogradnja google-auth-oauthlib [alat] 

To je sve što je potrebno za ustajanje i trčanje. Ako bilo koja od instalacija uspije, provjerite pravopis i razmak.

Autentifikacija Raspberry Pi

Koristiti Google autentifikacija-oauthlib [alat] s vjerodajnom JSON datotekom preuzetom ranije radi provjere autentičnosti vašeg Raspberry Pi.

google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https://www.googleapis.com/auth/gcm \ --save - bez glave - -client-tajne /home/pi/YOUR_CLIENT_SECRET_ID.json 

Trebat ćete zamijeniti YOUR_CLIENT_SECRET_ID s preuzetom datotekom, pa je najprije vrijedno kopirati naziv datoteke. Taj klijent mora biti točan. Ne mijenjajte naziv datoteke!

Trebali biste dobiti poruku s vezom sa zamolbom da je zalijepite u autorizacijski kôd.

Klikom na vezu otvara se preglednik. Zatražit će se da omogućite uređaj na vašem Google računu. Kopirajte sljedeći autorizacijski kod i zalijepite ga natrag u prozor terminala.

Trebali biste primiti očitanje s potvrde Spremljene vjerodajnice: / home / pi… , što znači da je Pi uspješno autoriziran s vašim Google računom.

Testiranje

Sad kad je sve na svom mjestu, vrijeme je da testirate Pi Pi Assistant. Pokrenite pomoćnika s ovom naredbom:

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

Trebat ćete je zamijeniti moja-dev-projekt s vašim ID-om projekta (nalazi se pod kotačićem Postavke akcijske konzole). vaš uređaj model id nalazi se u odjeljku Registracija uređaja na Akcijskoj konzoli.

Isprobaj! Reći “OK Google” i postavi pitanje. Čuvši odgovor možete vidjeti izlaz programa u terminalu:

To je to! Google Assistant sada radi na vašem Raspberry Pi. Imajte na umu da ako je izlazni volumen malo nizak, možete to promijeniti izgovaranjem “Hej Google, pojačajte glasnoću na 80%.”

Bonus: GPIO aktiviran glasom

Moguće je upravljati svjetlima pomoću Arduino i Siri, ali postoji jednostavnija metoda. Ako postavite LED, pomoću Googleovog pomoćnika možete upravljati svojim glasom.

Postavljanje Google Assistant-a za rad s GPIO iglicama relativno je jednostavno, ali zahtijeva dodatne korake. Krenite na Google Action Console i pronađite svoj uređaj pod registracijom Device. Kliknite na nju i otvorite izbornik svojstva:

Okreni Uključeno isključeno uključite i kliknite Uštedjeti.

Sada se pobrinite da se nalazite unutar eNV virtualno okruženje, klonirajte verziju SDK-a u svoj Pi koristeći git:

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

Budući da je ovo virtualno okruženje, prije pokretanja naprijed trebate instalirati RPi.GPIO.

pip instalirajte rpi.gpio 

Sada, idite do mape koja sadrži hotword.py skripta.

CD pomoćnik-sdk-python / google-Assistant-sdk / googlesamples / pomoćnik / knjižnica 

Izmjena skripte

Morat ćete dodati nekoliko redaka skripti hotword.py, pa je otvorite u nano editoru:

nano hotword.py 

Pod izjavama o uvozu dodajte svoje za RPi.GPIO.

uvesti RPi.GPIO kao GPIO 

Potražite process_event metoda. U retku 66 uklonite ili komentirajte izjavu za ispis i dodajte oznaku if za kontrolu LED-a.

#print ('Naredi naredbu', naredba, 's paramsima', str (params)) ako naredba == "action.devices.commands.OnOff": if params ['on']: print ('----- ---------- ') ispis (' uključeno led ') ispis (' --------------- ') GPIO.output (18, GPIO.HIGH) drugo: print ('---------------') print ('Led isključeno') print ('---------------') GPIO.output (18, GPIO.LOW) 

Ta logika upravlja LED-om, ali zasad nije konfigurirana za izlaz. Postavite ga u glavni() funkciju prije nego se nazove metoda process_event.

GPIO.setmode (GPIO.BCM) GPIO.setup (18, GPIO.OUT, početno = GPIO.LOW) 

Sada je GPIO pin postavljen na izlaz i inicijalizira se u niskom stanju. Spremite i zatvorite. Kao argument možete pokrenuti izmijenjenu skriptu i proslijediti broj vašeg ID-a modela (koji se nalazi na Action Console).

python hotword.py - ID-a uređaja-ID YOUR-MODEL-ID-OVDJE 

Izlaz terminala je isti kao i prije, a pomoćnik će raditi standardno. Ali sad kad kažete “OK Google, uključite” vidjet ćete novi izlaz:

Bilješka: Gornja slika je obrezana, prikazuje samo pomoćnika koji čuje zahtjev, a izjavu o ispisu dodali su skripti.

Trebali biste vidjeti i vaše LED svjetlo!

Vaš vlastiti DIY Raspberry Pi Google kućni pomoćnik

Ovaj je projekt dobar uvod u korištenje Google API usluga. Sada kada imate uređaj Google Assistant, isprobajte neke od najboljih naredbi Google Home. Sheet Sheet Google Home Commands (šifra lista) Google Home Commands (šifri) Google Home Commands (šifrirana tablica) sadrži mnogo korisnih radnji, uključujući zabavu, informacije i automatizaciju. -pregledali smo nekoliko sjajnih mini igara Google Home 15 naredbi Google Home za mini igre i još 15 Google Home naredbi za mini igre i još mnogo toga Možete učiniti mnogo stvari pomoću Google Home naredbi. Evo nekoliko zabavnih naredbi Google Home koje vrijedi pokušati. .




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.