Indholdsfortegnelse:

Pi Home, en hindbærdrevet virtuel assistent: 11 trin (med billeder)
Pi Home, en hindbærdrevet virtuel assistent: 11 trin (med billeder)

Video: Pi Home, en hindbærdrevet virtuel assistent: 11 trin (med billeder)

Video: Pi Home, en hindbærdrevet virtuel assistent: 11 trin (med billeder)
Video: I built a smarter smart home 2024, Juli
Anonim
Pi Home, en hindbærdrevet virtuel assistent
Pi Home, en hindbærdrevet virtuel assistent

Google Home er praktisk at have i hjemmet. Det er en smuk enhed med indbygget Google Assistant - en topmoderne digital personlig assistent fra Google. Det kan afspille medier, gemme dine påmindelser og noter, fortælle dig længden af din pendling, gøre hjemmeautomatisering. Det kan placeres hvor som helst i dit hjem, og det vil gøre nogle fantastiske ting for dig, men det er et dyrt forslag, hvis du ' er ikke sikker på, at du vil bruge det. Men gode nyheder, du kan lave en fuldt funktionel ved hjælp af en Raspberry Pi.

I slutningen af denne vejledning har du et fuldt fungerende Google Home, der reagerer på dine stemmekommandoer. Ellers er det en assistent med alle funktioner i Google Home. Hvilket betyder, at den kan foretage enhedskonverteringer, afspille medier, kontrollere partiturer, læse lydbøger for dig, kontrollere vejret og mange flere. Det fungerer også med en række hjemmeautomatiseringsenheder som smarte pærer, så du kan styre dem med din stemme. Ligesom den rigtige Google Assistant kan dit DIY Google Home kobles sammen for at tilføje flere funktioner, f.eks. Tilføjelse af gøremål til Evernote eller for at få en meddelelse på din telefon, når timeren går ud.

Trin 1: Ting du har brug for

Ting du har brug for
Ting du har brug for

Du skal bruge:

  • Raspberry Pi 3 eller 2 med Raspbian installeret og Wi-Fi-opsætning.
  • Strømforsyning og MicroUSB -strømkabel. (Minimum 5V, 2A)
  • MicroSD -kort. (Minimum 8 GB)
  • En USB -mikrofon. (Du får masser af, hvordan du konfigurerer det over internettet, også her …)
  • Højttalere
  • Et tastatur og en mus til opsætning
  • En LED og et par ledninger til tilslutning

Alle tingene er samlet, forbundet og tilsluttet, lad os komme i gang.

Trin 2: Opsætning af USB -mikrofon

Opsætning af USB -mikrofon
Opsætning af USB -mikrofon
  • Pi’en har ikke indbyggede mikrofoner. Du skal tilslutte en USB -mikrofon, hvis du vil optage lyd.
  • Sæt din USB -mikrofon i en hvilken som helst USB -slot på din Pi.
  • Indtast følgende kommando i terminalen.

arecord -l

Denne kommando viser en liste over alle tilgængelige lydoptagelsesenheder. Det vil være tomt, hvis din USB -mikrofon er tilsluttet. Du skal få følgende output

pi@raspberrypi: ~ $ arecord -l

**** Liste over CAPTURE -hardwareenheder **** kort 1: Enhed [USB PnP -lydenhed], enhed 0: USB -lyd [USB -lyd] Underenheder: Underenhed #0: underenhed #0

Du kan se, at din USB -enhed er sluttet til kort 1 og enheds -id'et er 0. Raspberry Pi genkender kort 0 som det interne lydkort, det vil sige bcm2835 og andre eksterne lydkort som eksterne lydkort med navnet kort 1, kort 2 og følge…

Nu skal vi ændre lydkonfigurationerne. Hvis du vil redigere asound.conf -filen, skal du skrive følgende kommando

sudo nano /etc/asound.conf

Tilføj nedenstående linjer i filen. Tryk derefter på Ctrl+X og derefter Y for at gemme filen

pcm.! standard {

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

Dette indstiller din eksterne mikrofon (pcm.mic) som lydoptagelsesenhed (pcm!. Default) og dit indbyggede lydkort (kort 0) som højttalerenhed.

Opret en ny fil med navnet.asoundrc i hjemmemappen (/home/pi) ved at udstede følgende kommando og indsæt ovenstående konfigurationer (som blev tilføjet i /etc/asound.conf -filen.) Til denne fil

sudo nano.asoundrc.

Trin 3: Opsætning af din højttaleroutput

Opsætning af din højttaleroutput
Opsætning af din højttaleroutput
  • Tilslut din højttaler til 3,5 mm hovedtelefonstik på Raspberry Pi.
  • Kør under kommandoen for at åbne pi's konfigurationsskærm.

sudo raspi-config

Gå til Avancerede indstillinger> Lyd, og vælg outputenheden. (3,5 mm stik eller HDMI)

Trin 4: Test mikrofonen og højttalerne

Test mikrofonen og højttalerne
Test mikrofonen og højttalerne

For at teste din højttaler, kør følgende kommando i terminalen. Dette afspiller en testlyd. Tryk på Ctrl+C for at afslutte. Hvis du ikke kan høre testlyden, skal du kontrollere din højttalers forbindelse og strøm. Testen lyder som-

Foran til venstre, foran til højre

højttaler -test -t wav

Kør følgende kommando for at teste din mikrofon. Dette optager et kort lydklip på 5 sekunder. Hvis du får en fejl, skal du kontrollere de foregående trin igen

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

Afspil den optagede lyd, og bekræft, at alt fungerer korrekt ved at skrive følgende kommando

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

Vores hardware er indstillet

Trin 5: Download nødvendige pakker og konfigurer Python -miljø:

Download nødvendige pakker og konfigurer Python -miljø
Download nødvendige pakker og konfigurer Python -miljø

Opdater først dit operativsystem ved at køre kommandoerne en efter en i terminalen

sudo apt-get opdatering

sudo apt-get opgradering

Kørsel af kommandoerne en efter en i terminalen vil oprette Python 3 -miljø (Google Assistant -biblioteket kører kun på Python 3) i din Pi og installere nødvendige elementer

sudo apt-get install python3-dev python3-venv

$ python3 -m venv env $ env/bin/python -m pip installation -opgrader pip setuptools

Aktiver python -miljøet. Dette vil bringe en "(env)" tekst foran din Pi's kommandoterminal

kilde env/bin/aktivere

Installer Google Assistant SDK -pakken, som indeholder al den kode, der kræves for at køre Google Assistant på Pi. Det skal downloade Google Assistant -biblioteket og betydningen

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

Trin 6: Aktivering af Google Assistant Cloud Project

Aktivering af Google Assistant Cloud Project
Aktivering af Google Assistant Cloud Project
Aktivering af Google Assistant Cloud Project
Aktivering af Google Assistant Cloud Project
Aktivering af Google Assistant Cloud Project
Aktivering af Google Assistant Cloud Project
Aktivering af Google Assistant Cloud Project
Aktivering af Google Assistant Cloud Project
  • Åbn Google Cloud Console, og opret et nyt projekt. (Nævn det hvad som helst.) Den konto, som du logger på, bruges til at sende forespørgsler til Google Assistant og få dit personlige svar.
  • Gå til API -manager, og aktiver Google Assistant API.
  • Sørg for, at du aktiverer Web- og appaktivitet, enhedsinformation og stemme- og lydaktivitet i aktivitetskontroller for kontoen.
  • Gå til "Legitimationsoplysninger" og konfigurer OAuth -indholdsskærm.
  • Gå til fanen "Legitimationsoplysninger" og Opret nyt OAuth -klient -id
  • Vælg applikationstype som "Andet", og angiv navnet på nøglen.
  • Download JSON -filen, der gemmer OAuth -nøgleoplysningerne, og gem den.

Trin 7: Godkendelse af Raspberry Pi

Godkendelse af Raspberry Pi
Godkendelse af Raspberry Pi
Godkendelse af Raspberry Pi
Godkendelse af Raspberry Pi
Godkendelse af Raspberry Pi
Godkendelse af Raspberry Pi
Godkendelse af Raspberry Pi
Godkendelse af Raspberry Pi

Installer autorisationsværktøj ved at køre under kommandoen

(env) python -m pip installation-opgrader google-auth-oauthlib [værktøj]

Kør værktøjet ved at køre følgende kommando. Sørg for at angive den korrekte sti til JSON -filen, du downloadede i trin 6

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

Det skal vises som vist herunder. Kopier webadressen og indsæt den i en browser. Hvis det i stedet viser:

InvalidGrantError

derefter blev der indtastet en ugyldig kode. Prøv igen.

Gå til denne URL:

Indtast autorisationskoden:

Trin 8: Opsætning af LED -indikatoren

Opsætning af LED -indikatoren
Opsætning af LED -indikatoren
  • Tilslut din LED mellem GPIO pin 25 og jord.
  • Vi skal indstille GPIO pin 25 som output pin.
  • Google Assistant SDK giver et tilbagekald til EventType. ON_CONVERSATION_TURN_STARTED, når konverteringen med Google Assistant begynder. På det tidspunkt vil vi indstille GPIO 25 til at lyse LED'en.
  • Når samtalen afsluttes, vil EventType. ON_CONVERSATION_TURN_FINISHED tilbagekald blive modtaget. På det tidspunkt nulstiller vi GPIO 25 for at slukke LED'en.

Trin 9: Initialiser ved opstart fuldført:

Initialiser på Boot Complete
Initialiser på Boot Complete
  • Hver gang din Pi er færdig med at starte, kører vi et python -script, der verificerer og introducerer Google Assistant ved opstart.
  • Tilføj først RPi. GPIO -pakken for at tilføje GPIO -understøttelse ved hjælp af følgende kommando.

pip installer RPi. GPIO

Kør trinene en efter en. Gå til brugerkataloget. Opret ny python -fil main.py

cd /home /pi

sudo nano main.py

Skriv det linkede script, og gem filen

Opret nu et shell -script, der initialiserer og kører Google Assistant

sudo nano google-assistant-init.sh

Indsæt nedenstående linjer i filen og gem filen

#!/bin/sh

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

Giv eksekverings tilladelse

sudo chmod +x google-assistant-init.sh

Du kan til enhver tid køre google-assistant-init.sh for at starte Google Assistant.

Trin 10: Start af Google Assistant under opstart

Start af Google Assistant under opstart
Start af Google Assistant under opstart

For at aktivere Google Assistant på Boot er der to måder. Lad os se hver af dem

1. Autostart med Pixel Desktop ved opstart:

  • Dette starter Google Assistant, så snart Pixel -skrivebordet starter op. Sørg for, at du har valgt "Desktop" boot i Raspberry Pi -konfigurationer.
  • Skriv kommandoen nedenfor.

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

Tilføj følgende efter @xscreensaver -no -splash

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

Gem og afslut ved at trykke på "Ctrl+X" og derefter "Y

2. Autostart med CLI ved opstart: (Jeg personligt brugte dette, selvom autostart fungerer fint.)

  • Dette starter Google Assistant, hvis du har indstillet CLI -opstart. Sørg for at have "CLI" boot valgt i Raspberry Pi -konfigurationer.
  • Skriv kommandoen nedenfor.

sudo nano /etc /profile

Tilføj nedenfor linje i slutningen af filen

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

Gem og afslut ved at trykke på "Ctrl+X" og derefter "Y"

Trin 11: Konklusion

Konklusion
Konklusion

Hvad er helt anderledes ved denne Home Pi? Intet, undtagen udgifter. Slutresultatet er stort set det samme, du kan aktivere dit DIY Google Home ved at sige vågneordet "Ok Google/ Hey Google", og enheden fungerer ligesom en rigtig assistent. Du kan udføre mange daglige aktiviteter med dit Google Home. Hvis du vil udføre dine tilpassede opgaver som at slukke lyset, kontrollere døren, kan du gøre det med at integrere Google Handlinger i din Google Assistant. Hvis du har problemer med at starte Google Assistant, skal du efterlade en kommentar herunder. Jeg vil forsøge at løse dem så meget som jeg kan.

Anbefalede: