Sadržaj:

Pi Home, virtualni asistent na malini: 11 koraka (sa slikama)
Pi Home, virtualni asistent na malini: 11 koraka (sa slikama)

Video: Pi Home, virtualni asistent na malini: 11 koraka (sa slikama)

Video: Pi Home, virtualni asistent na malini: 11 koraka (sa slikama)
Video: Дешевый сервер домашнего помощника, дешевое решение #homeassistant #solarpanelsforhome 2024, Studeni
Anonim
Pi Home, virtualni asistent na malini
Pi Home, virtualni asistent na malini

Google Home korisno je imati kod kuće. To je prekrasan uređaj s ugrađenim Google asistentom - najnovijim Googleovim digitalnim osobnim asistentom. Može reproducirati medije, spremati vaše podsjetnike i bilješke, govoriti vam o dužini vašeg putovanja na posao, obavljati kućnu automatizaciju. Može se postaviti bilo gdje u vašem domu i učinit će vam neke nevjerojatne stvari, ali, to je skup prijedlog ako niste sigurni da ćete ga koristiti. Dobra vijest je da pomoću Raspberry Pi možete napraviti potpuno funkcionalnu.

Do kraja ovog vodiča imat ćete potpuno funkcionalan Google Home koji reagira na vaše glasovne naredbe. Inače, to je pomoćnik sa svim značajkama Google Home. Što znači da može pretvoriti jedinice, reproducirati medije, provjeriti rezultate, čitati vam audio knjige, provjeriti vrijeme i još mnogo toga. Također će raditi s raznim uređajima za kućnu automatizaciju poput pametnih žarulja, pa ih možete kontrolirati svojim glasom. Poput pravog Google asistenta, vaš DIY Google Home može se povezati radi dodavanja dodatnih značajki, poput dodavanja zadataka u Evernote ili primanja obavijesti na telefon kada se mjerač vremena isključi.

Korak 1: Stvari koje trebate

Stvari koje trebate
Stvari koje trebate

Trebalo bi vam:

  • Raspberry Pi 3 ili 2 s instaliranim Raspbian-om i Wi-Fi postavkom.
  • Napajanje i MicroUSB kabel za napajanje. (Najmanje 5V, 2A)
  • MicroSD kartica. (Najmanje 8 GB)
  • USB mikrofon. (Dobit ćete mnogo načina postavljanja putem interneta, također ovdje …)
  • Zvučnici
  • Tipkovnica i miš za postavljanje
  • LED i nekoliko žica za spajanje

Sve stvari su se okupile, spojile i priključile. Počnimo.

Korak 2: Postavljanje USB mikrofona

Postavljanje USB mikrofona
Postavljanje USB mikrofona
  • Pi nema ugrađene mikrofone. Morate priključiti USB mikrofon ako želite snimiti zvuk.
  • Priključite USB mikrofon u bilo koji od USB utora vašeg Pi -a.
  • Upišite sljedeću naredbu u terminal.

arecord -l

Ova naredba će navesti sve dostupne uređaje za snimanje zvuka. Bit će prazan ako je priključen vaš USB mikrofon. Trebali biste dobiti sljedeći izlaz

pi@raspberrypi: ~ $ arecord -l

**** Popis HVATNIH hardverskih uređaja **** kartica 1: Uređaj [USB PnP zvučni uređaj], uređaj 0: USB zvuk [USB audio] Poduređaji: Poduređaj #0: podpostrojenje #0

Možete vidjeti da je vaš USB uređaj priključen na karticu 1, a ID uređaja je 0. Raspberry Pi prepoznaje karticu 0 kao unutarnju zvučnu karticu, odnosno bcm2835 i ostale vanjske zvučne kartice kao vanjske zvučne kartice nazvane kartica 1, kartica 2 i slijedeći…

Sada ćemo morati promijeniti audio konfiguracije. Za uređivanje datoteke asound.conf upišite sljedeću naredbu

sudo nano /etc/asound.conf

Dodajte ispod retke u datoteku. Zatim pritisnite Ctrl+X i nakon toga Y za spremanje datoteke

pcm.! zadano {

type asym capture.pcm "mic" playback.pcm "speaker"} pcm.mic {type plug slave {pcm "hw: 1, 0"}} pcm.speaker {type hw card 0} ctl.! default {type hw card 0}

Ovo će postaviti vaš vanjski mikrofon (pcm.mic) kao uređaj za snimanje zvuka (pcm!. Zadano), a vašu ugrađenu zvučnu karticu (kartica 0) kao uređaj zvučnika.

Izradite novu datoteku pod imenom.asoundrc u matičnom direktoriju (/home/pi) izdavanjem sljedeće naredbe i zalijepite gornje konfiguracije (koje su dodane u /etc/asound.conf.) Ovoj datoteci

sudo nano.asoundrc.

Korak 3: Postavljanje izlaza zvučnika

Postavljanje izlaza zvučnika
Postavljanje izlaza zvučnika
  • Spojite zvučnik na 3,5 mm priključak za slušalice na Raspberry Pi.
  • Pokrenite naredbu ispod da biste otvorili konfiguracijski zaslon pi.

sudo raspi-config

Idite na Napredne mogućnosti> Zvuk i odaberite izlazni uređaj. (Priključak od 3,5 mm ili HDMI)

Korak 4: Testirajte mikrofon i zvučnike

Testirajte mikrofon i zvučnike
Testirajte mikrofon i zvučnike

Da biste testirali zvučnik, pokrenite sljedeću naredbu na terminalu. Ovo će reproducirati probni zvuk. Pritisnite Ctrl+C za izlaz. Ako ne možete čuti zvuk testa, provjerite vezu i napajanje zvučnika. Test zvuči kao …

Prednji lijevi, prednji desni

spiker -test -t wav

Da biste testirali svoj mikrofon, pokrenite sljedeću naredbu. Time će se snimiti kratki audioisječak od 5 sekundi. Ako dobijete bilo kakvu pogrešku, ponovno provjerite prethodne korake

arecord --format = S16_LE --duration = 5 --rate = 16k --file-type = raw out.raw

Reproducirajte snimljeni zvuk i potvrdite da sve radi ispravno upisivanjem sljedeće naredbe

aplay --format = S16_LE --rate = 16k out.raw

Naš hardver je podešen

Korak 5: Preuzmite potrebne pakete i konfigurirajte Python okruženje:

Preuzmite potrebne pakete i konfigurirajte Python okruženje
Preuzmite potrebne pakete i konfigurirajte Python okruženje

Prvo ažurirajte svoj operacijski sustav pokretanjem naredbi jednu po jednu u terminalu

sudo apt-get ažuriranje

sudo apt-get nadogradnja

Pokretanje naredbi jednu po jednu u terminalu stvorit će okruženje Python 3 (knjižnica Google pomoćnika radi samo na Pythonu 3) u vašem Pi i instalirat će potrebne stavke

sudo apt-get install python3-dev python3-venv

$ python3 -m venv env $ env/bin/python -m pip install -nadogradnja pip setuptools

Aktivirajte okruženje python. To će donijeti "(env)" tekst ispred vašeg komandnog terminala Pi

izvor env/bin/aktiviraj

Instalirajte paket Google Assistant SDK koji sadrži sav kôd potreban za pokretanje Google asistenta na Pi. Trebala bi preuzeti knjižnicu Google pomoćnika i značaj

python -m pip install --upgrade google-assistant-library

Korak 6: Omogućavanje projekta u oblaku Google asistenta

Omogućavanje projekta u oblaku Google asistenta
Omogućavanje projekta u oblaku Google asistenta
Omogućavanje projekta u oblaku Google asistenta
Omogućavanje projekta u oblaku Google asistenta
Omogućavanje projekta u oblaku Google asistenta
Omogućavanje projekta u oblaku Google asistenta
Omogućavanje projekta u oblaku Google asistenta
Omogućavanje projekta u oblaku Google asistenta
  • Otvorite Google Cloud Console i izradite novi projekt. (Imenujte ga bilo čime.) Račun s kojim se prijavljujete koristit će se za slanje upita Google asistentu i dobivanje vašeg prilagođenog odgovora.
  • Prijeđite na upravitelja API -ja i omogućite API Google asistenta.
  • Provjerite jeste li omogućili Aktivnost na webu i u aplikacijama, Informacije o uređaju te Glasovne i zvučne aktivnosti u Kontrolama aktivnosti za račun.
  • Idite na "Vjerodajnice" i postavite zaslon sadržaja OAuth.
  • Idite na karticu "Vjerodajnice" i izradite novi ID klijenta OAuth
  • Odaberite vrstu aplikacije kao "Ostalo" i dajte naziv ključa.
  • Preuzmite JSON datoteku koja pohranjuje podatke o ključu OAuth i sačuvajte ih.

Korak 7: Provjera autentičnosti Raspberry Pi

Provjera autentičnosti Raspberry Pi
Provjera autentičnosti Raspberry Pi
Provjera autentičnosti Raspberry Pi
Provjera autentičnosti Raspberry Pi
Provjera autentičnosti Raspberry Pi
Provjera autentičnosti Raspberry Pi
Provjera autentičnosti Raspberry Pi
Provjera autentičnosti Raspberry Pi

Instalirajte alat za autorizaciju pokretanjem naredbe ispod

(env) python -m pip install --upgrade google-auth-oauthlib [alat]

Pokrenite alat pokretanjem sljedeće naredbe. Provjerite jeste li unijeli ispravan put do JSON datoteke koju ste preuzeli u 6. koraku

(env) google-oauthlib-tool --client-secrets "JSON_FILE_PATH" --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

Trebao bi se prikazati kako je dolje prikazano. Kopirajte URL i zalijepite ga u preglednik. Ako umjesto toga prikazuje:

InvalidGrantError

tada je unesen neispravan kod. Pokušajte ponovno.

Idite na ovaj URL:

Unesite autorizacijski kod:

Korak 8: Postavljanje LED indikatora

Postavljanje LED indikatora
Postavljanje LED indikatora
  • Spojite LED diodu između GPIO pina 25 i mase.
  • Postavit ćemo GPIO pin 25 kao izlazni pin.
  • SDK za Google asistenta pruža povratni poziv EventType. ON_CONVERSATION_TURN_STARTED kada započne pretvorba s Google asistentom. U tom ćemo trenutku postaviti GPIO 25 da svijetli LED diodu.
  • Kad god razgovor završi, EventType. ON_CONVERSATION_TURN_FINISHED će primiti povratni poziv. U tom ćemo trenutku resetirati GPIO 25 kako bismo isključili LED.

Korak 9: Inicijalizacija pokretanja je dovršena:

Inicijalizacija pri pokretanju dovršena
Inicijalizacija pri pokretanju dovršena
  • Kad god vaš Pi dovrši dizanje, pokrenut ćemo python skriptu koja će provjeriti i predstaviti Google pomoćnika pri pokretanju.
  • Najprije dodajte paket RPi. GPIO da biste dodali podršku za GPIO pomoću sljedeće naredbe.

pip install RPi. GPIO

Trčite korake jedan po jedan. Idite u korisnički imenik. Izradite novu python datoteku main.py

cd /home /pi

sudo nano main.py

Napišite povezanu skriptu i spremite datoteku

Sada stvorite jednu skriptu ljuske koja će pokrenuti i pokrenuti Google pomoćnik

sudo nano google-assistant-init.sh

Zalijepite donje retke u datoteku i spremite datoteku

#!/bin/sh

/home/pi/env/bin/python3 -u /home/pi/main.py

Odobri izvršenje

sudo chmod +x google-assistant-init.sh

Možete pokrenuti google-assistant-init.sh da biste pokrenuli Google asistenta u bilo kojem trenutku.

Korak 10: Pokretanje Google asistenta tijekom pokretanja

Pokretanje Google asistenta tijekom pokretanja
Pokretanje Google asistenta tijekom pokretanja

Za omogućavanje Google asistenta pri pokretanju postoje dva načina. Pogledajmo svaku od njih

1. Automatsko pokretanje s Pixel radnom površinom pri pokretanju:

  • Ovo će pokrenuti Google pomoćnik čim se Pixel radna površina podigne. Provjerite jeste li odabrali "Desktop" pokretanje u konfiguracijama Raspberry Pi.
  • Upišite naredbu ispod.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

Nakon @xscreensaver -no -splash dodajte sljedeće

@lxterminal -e "/home/pi/google-assistant-init.sh"

Spremite i izađite pritiskom na "Ctrl+X", a zatim "Y

2. Automatsko pokretanje s CLI -jem pri pokretanju: (osobno sam ovo koristio, iako autostart radi sasvim dobro.)

  • Ovo će pokrenuti Google pomoćnik ako ste postavili CLI pokretanje. Provjerite jeste li odabrali "CLI" pokretanje u konfiguracijama Raspberry Pi.
  • Upišite naredbu ispod.

sudo nano /etc /profile

Dodajte red ispod na kraju datoteke

sudo /home/pi/google-assistant-init.sh

Spremite i izađite pritiskom na "Ctrl+X", a zatim "Y"

Korak 11: Zaključak

Zaključak
Zaključak

Po čemu se točno razlikuje ovaj Home Pi? Ništa, osim troškova. Krajnji rezultat je u osnovi isti, možete aktivirati svoj DIY Google Home izgovaranjem riječi za buđenje "Ok Google/ Hey Google", a uređaj radi poput pravog pomoćnika. Pomoću svog Google Home možete obavljati mnoge dnevne aktivnosti. Ako želite obavljati svoje prilagođene zadatke, poput isključivanja svjetla, provjere vrata, to možete učiniti integriranjem Google radnji u Google pomoćnik. Ako imate problema s pokretanjem Google asistenta, ostavite komentar ispod. Pokušat ću ih riješiti koliko god mogu.

Preporučeni: