Innholdsfortegnelse:

Pi Home, en bringebærdrevet virtuell assistent: 11 trinn (med bilder)
Pi Home, en bringebærdrevet virtuell assistent: 11 trinn (med bilder)

Video: Pi Home, en bringebærdrevet virtuell assistent: 11 trinn (med bilder)

Video: Pi Home, en bringebærdrevet virtuell assistent: 11 trinn (med bilder)
Video: I built a smarter smart home 2024, Juli
Anonim
Pi Home, en bringebærdrevet virtuell assistent
Pi Home, en bringebærdrevet virtuell assistent

Google Home er nyttig å ha rundt hjemmet. Det er en vakker enhet med innebygd Google Assistant - en topp moderne digital personlig assistent fra Google. Det kan spille av medier, lagre påminnelser og notater, fortelle deg lengden på pendlingen, gjøre hjemmeautomatisering. Den kan plasseres hvor som helst hjemme, og den vil gjøre noen fantastiske ting for deg, men det er et dyrt forslag hvis du er ikke sikker på at du vil bruke den. Gode nyheter, men du kan lage en fullt funksjonell med en Raspberry Pi.

På slutten av denne veiledningen har du et fullt fungerende Google Home som reagerer på talekommandoer. Ellers er det en assistent med alle funksjonene i Google Home. Det betyr at den kan gjøre enhetskonverteringer, spille av medier, sjekke poengsummer, lese lydbøker for deg, sjekke været og mange flere. Det vil også fungere med en rekke hjemmeautomatiseringsenheter som smarte lyspærer, slik at du kan kontrollere dem med stemmen din. I likhet med den virkelige Google Assistant kan ditt DIY Google Home kobles til for å legge til flere funksjoner, for eksempel å legge til oppgaver i Evernote eller få et varsel på telefonen når timeren går.

Trinn 1: Ting du trenger

Ting du trenger
Ting du trenger

Du trenger:

  • Raspberry Pi 3 eller 2 med Raspbian installert og Wi-Fi-oppsett.
  • Strømforsyning og MicroUSB strømkabel. (Minimum 5V, 2A)
  • MicroSD -kort. (Minimum 8 GB)
  • En USB -mikrofon. (Du vil få mye informasjon om hvordan du konfigurerer det over internett, også her …)
  • Høyttalere
  • Et tastatur og en mus for oppsett
  • En LED og et par ledninger for tilkobling

Alle tingene som er samlet, koblet til og plugget inn, la oss komme i gang.

Trinn 2: Sette opp USB -mikrofon

Sette opp USB -mikrofon
Sette opp USB -mikrofon
  • Pi har ikke innebygde mikrofoner. Du må koble til en USB -mikrofon hvis du vil ta opp lyd.
  • Koble USB -mikrofonen til noen av USB -sporene på Pi -en.
  • Skriv inn følgende kommando i terminalen.

arecord -l

Denne kommandoen viser alle tilgjengelige lydopptaksenheter. Den vil være tom hvis USB -mikrofonen er tilkoblet. Du bør få følgende utgang

pi@raspberrypi: ~ $ arecord -l

**** Liste over CAPTURE -maskinvareenheter **** -kort 1: Enhet [USB PnP -lydenhet], enhet 0: USB -lyd [USB -lyd] Underenheter: Underenhet #0: underenhet #0

Du kan se at USB -enheten er koblet til kort 1 og enhets -ID er 0. Raspberry Pi gjenkjenner kort 0 som det interne lydkortet, det vil si bcm2835 og andre eksterne lydkort som eksterne lydkort som heter kort 1, kort 2 og følgende…

Nå må vi endre lydkonfigurasjonene. Skriv inn følgende kommando for å redigere asound.conf -filen

sudo nano /etc/asound.conf

Legg til linjene nedenfor i filen. Trykk deretter Ctrl+X og deretter Y for å lagre filen

pcm.! standard {

type asym capture.pcm "mic" playback.pcm "speaker"} pcm.mic {type plug slave {pcm "hw: 1, 0"}} pcm.høyttaler {type hw -kort 0} ctl. standard {type hw -kort 0}

Dette vil sette din eksterne mikrofon (pcm.mic) som lydopptaksenhet (pcm!. Default) og det innebygde lydkortet (kort 0) som høyttalerenhet.

Opprett en ny fil med navnet.asoundrc i hjemmekatalogen (/home/pi) ved å utstede følgende kommando og lime inn konfigurasjonene ovenfor (som ble lagt til i /etc/asound.conf -filen.) I denne filen

sudo nano.asoundrc.

Trinn 3: Konfigurere høyttalerutgangen

Konfigurere høyttalerutgangen
Konfigurere høyttalerutgangen
  • Koble høyttaleren til en 3,5 mm hodetelefonkontakt på Raspberry Pi.
  • Kjør under kommandoen for å åpne pi's konfigurasjonsskjerm.

sudo raspi-config

Gå til Avanserte alternativer> Lyd og velg utgangsenheten. (3,5 mm jack eller HDMI)

Trinn 4: Test mikrofonen og høyttalerne

Test mikrofonen og høyttalerne
Test mikrofonen og høyttalerne

For å teste høyttaleren, kjør følgende kommando i terminalen. Dette vil spille en testlyd. Trykk Ctrl+C for å avslutte. Kontroller høyttalertilkoblingen og strømmen hvis du ikke kan høre testlyden. Testen høres ut som-

Foran venstre, foran høyre

høyttaler -test -t wav

For å teste mikrofonen din, kjør følgende kommando. Dette tar opp et kort lydklipp på 5 sekunder. Hvis du får feil, sjekk tidligere trinn igjen

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

Spill av innspilt lyd og bekreft at alt fungerer som det skal ved å skrive følgende kommando

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

Maskinvaren vår er klar

Trinn 5: Last ned nødvendige pakker og konfigurer Python -miljøet:

Last ned nødvendige pakker og konfigurer Python -miljøet
Last ned nødvendige pakker og konfigurer Python -miljøet

Oppdater først operativsystemet ved å kjøre kommandoene en etter en i terminalen

sudo apt-get oppdatering

sudo apt-get oppgradering

Hvis du kjører kommandoene en etter en i terminalen, opprettes Python 3 -miljøet (Google Assistant -biblioteket kjøres kun på Python 3) i Pi og installerer nødvendige elementer

sudo apt-get install python3-dev python3-venv

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

Aktiver python -miljøet. Dette vil bringe en "(env)" tekst foran Pi -kommandoterminalen

kilde env/bin/aktivere

Installer Google Assistant SDK -pakken, som inneholder all koden som kreves for å kjøre Google Assistant på Pi. Den bør laste ned Google Assistant -biblioteket og betydningen

python -m pip install-oppgrader google-assistent-bibliotek

Trinn 6: Aktivering av Google Assistant Cloud Project

Aktiverer Google Assistant Cloud Project
Aktiverer Google Assistant Cloud Project
Aktiverer Google Assistant Cloud Project
Aktiverer Google Assistant Cloud Project
Aktiverer Google Assistant Cloud Project
Aktiverer Google Assistant Cloud Project
Aktiverer Google Assistant Cloud Project
Aktiverer Google Assistant Cloud Project
  • Åpne Google Cloud Console og lag et nytt prosjekt. (Gi det navn.) Kontoen du logger deg på med, blir brukt til å sende forespørsler til Google Assistant og få ditt personlige svar.
  • Gå til API -manager og aktiver Google Assistant API.
  • Sørg for at du aktiverer Nett- og appaktivitet, enhetsinformasjon og tale- og lydaktivitet i aktivitetskontroller for kontoen.
  • Gå til "Credentials" og konfigurer OAuth Content Screen.
  • Gå til kategorien "Legitimasjon" og Opprett ny OAuth -klient -ID
  • Velg applikasjonstype som "Annet" og oppgi navnet på nøkkelen.
  • Last ned JSON -filen som lagrer OAuth -nøkkelinformasjonen og lagre den.

Trinn 7: Godkjenning av Raspberry Pi

Godkjenning av Raspberry Pi
Godkjenning av Raspberry Pi
Godkjenning av Raspberry Pi
Godkjenning av Raspberry Pi
Godkjenning av Raspberry Pi
Godkjenning av Raspberry Pi
Godkjenning av Raspberry Pi
Godkjenning av Raspberry Pi

Installer autorisasjonsverktøyet ved å kjøre under kommandoen

(env) python -m pip install-oppgrader google-auth-oauthlib [verktøy]

Kjør verktøyet ved å kjøre følgende kommando. Sørg for at du oppgir riktig bane for JSON -filen du lastet ned i trinn 6

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

Den skal vises som vist nedenfor. Kopier nettadressen og lim den inn i en nettleser. Hvis den i stedet viser:

InvalidGrantError

da ble en ugyldig kode angitt. Prøv igjen.

Gå til denne nettadressen:

Skriv inn autorisasjonskoden:

Trinn 8: Sette opp LED -indikatoren

Sette opp LED -indikatoren
Sette opp LED -indikatoren
  • Koble LED -en mellom GPIO pin 25 og jord.
  • Vi skal sette GPIO -pinnen 25 som utgangspinnen.
  • Google Assistant SDK gir tilbakeringing av EventType. ON_CONVERSATION_TURN_STARTED når konverteringen med Google Assistant starter. På det tidspunktet skal vi sette GPIO 25 til å lyse LED -en.
  • Når samtalen avsluttes vil EventType. ON_CONVERSATION_TURN_FINISHED tilbakeringing bli mottatt. På dette tidspunktet vil vi tilbakestille GPIO 25 for å slå av LED -en.

Trinn 9: Initialiser ved oppstart fullført:

Initialiser på Boot Complete
Initialiser på Boot Complete
  • Hver gang Pi fullfører oppstarten, kjører vi et python -skript som bekrefter og introduserer Google Assistant ved oppstart.
  • Legg først til RPi. GPIO -pakken for å legge til GPIO -støtte ved å bruke følgende kommando.

pip installere RPi. GPIO

Kjør trinnene en etter en. Gå til brukerkatalogen. Opprett ny python -fil main.py

cd /home /pi

sudo nano main.py

Skriv det koblede skriptet og lagre filen

Lag nå ett skallskript som vil initialisere og kjøre Google Assistant

sudo nano google-assistant-init.sh

Lim inn under linjene i filen og lagre filen

#!/bin/sh

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

Gi den utførende tillatelse

sudo chmod +x google-assistant-init.sh

Du kan kjøre google-assistant-init.sh for å starte Google-assistenten når som helst.

Trinn 10: Start Google Assistant under oppstart

Starter Google -assistenten under oppstart
Starter Google -assistenten under oppstart

Det er to måter å aktivere Google Assistant på Boot. La oss se hver av dem

1. Autostart med Pixel Desktop på oppstart:

  • Dette starter Google -assistenten så snart Pixel -skrivebordet starter opp. Sørg for at du har valgt "Desktop" i Raspberry Pi -konfigurasjoner.
  • Skriv under kommandoen.

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

Legg til følgende etter @xscreensaver -no -splash

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

Lagre og avslutt ved å trykke "Ctrl+X" og deretter "Y

2. Autostart med CLI på oppstart: (Jeg personlig brukte dette, selv om autostart fungerer fint.)

  • Dette starter Google Assistant hvis du har angitt CLI -oppstart. Sørg for at du har valgt “CLI” i Raspberry Pi -konfigurasjoner.
  • Skriv under kommandoen.

sudo nano /etc /profile

Legg til linjen på slutten av filen

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

Lagre og avslutt ved å trykke "Ctrl+X" og deretter "Y"

Trinn 11: Konklusjon

Konklusjon
Konklusjon

Hva er egentlig annerledes med denne Home Pi? Ingenting, bortsett fra utgifter. Sluttresultatet er i utgangspunktet det samme. Du kan aktivere ditt DIY Google Home ved å si vekkeordet «Ok Google/ Hei Google», og enheten fungerer akkurat som en ekte assistent. Du kan gjøre mange daglige aktiviteter med Google Home. Hvis du vil utføre dine tilpassede oppgaver som å slå av lyset, sjekke døren, kan du gjøre det med å integrere Google Actions i Google Assistant. Legg igjen en kommentar nedenfor hvis du har problemer med å starte Google -assistenten. Jeg skal prøve å løse dem så mye jeg kan.

Anbefalt: