INHOUDSOPGAWE:

Pi Home, 'n Framboos -aangedrewe virtuele assistent: 11 stappe (met foto's)
Pi Home, 'n Framboos -aangedrewe virtuele assistent: 11 stappe (met foto's)

Video: Pi Home, 'n Framboos -aangedrewe virtuele assistent: 11 stappe (met foto's)

Video: Pi Home, 'n Framboos -aangedrewe virtuele assistent: 11 stappe (met foto's)
Video: BellaTube Live with Jamie & Nicole 2024, November
Anonim
Pi Home, 'n framboos -aangedrewe virtuele assistent
Pi Home, 'n framboos -aangedrewe virtuele assistent

Die Google Home is handig om in die huis te hê. Dit is 'n pragtige toestel met ingeboude Google Assistant - 'n moderne digitale persoonlike assistent van Google. Dit kan media speel, u herinneringe en aantekeninge stoor, die lengte van u pendel vertel, tuisautomatisering plaas. Dit kan oral by u huis geplaas word en dit sal wonderlike dinge vir u doen, maar dit is 'n duur voorstel as u ' weet nie of u dit sal gebruik nie. Goeie nuus, u kan 'n volledig funksionele een maak met 'n Raspberry Pi.

Aan die einde van hierdie gids het u 'n volledig funksionerende Google Home wat op u stemopdragte reageer. Andersins is dit 'n assistent met al die funksies van Google Home. Dit beteken dat dit eenheidskonversies kan doen, media kan speel, tellings kan kontroleer, klankboeke vir u kan lees, die weer kan nagaan en nog vele meer. Dit werk ook met 'n verskeidenheid huistomatiseringstoestelle soos slim gloeilampe, sodat u dit met u stem kan beheer. Net soos die regte Google Assistant, kan u selfgemaakte Google Home ook gekoppel word om meer funksies by te voeg, soos om take by Evernote te voeg of om 'n kennisgewing op u telefoon te kry wanneer die timer afgaan.

Stap 1: Dinge wat u nodig het

Dinge wat jy nodig het
Dinge wat jy nodig het

U benodig:

  • Raspberry Pi 3 of 2 met Raspbian geïnstalleer en Wi-Fi-opstelling.
  • Kragtoevoer en MicroUSB -kragkabel. (Minimum 5V, 2A)
  • MicroSD kaart. (Minimum 8 GB)
  • 'N USB -mikrofoon. (U kry ook baie inligting oor hoe u dit op die internet instel …)
  • Sprekers
  • 'N Sleutelbord en 'n muis om op te stel
  • 'N LED en 'n paar drade om aan te sluit

Al die dinge wat versamel, gekoppel en ingeprop is, laat ons begin.

Stap 2: Stel 'n USB -mikrofoon op

Stel 'n USB -mikrofoon op
Stel 'n USB -mikrofoon op
  • Die Pi het nie ingeboude mikrofone nie. U moet 'n USB -mikrofoon aanheg as u klank wil opneem.
  • Koppel u USB -mikrofoon aan enige van die USB -gleuwe van u Pi.
  • Tik die volgende opdrag in die terminale.

arecord -l

Hierdie opdrag bevat 'n lys van alle beskikbare klankopname -toestelle. Dit sal leeg wees as u USB -mikrofoon gekoppel is. U moet die volgende uitset kry

pi@raspberrypi: ~ $ arecord -l

**** Lys van CAPTURE -hardeware -toestelle **** kaart 1: Toestel [USB PnP -klanktoestel], toestel 0: USB -klank [USB -klank] Subtoestelle: Subapparaat #0: subapparaat #0

U kan sien dat u USB -toestel op kaart 1 gekoppel is en die toestel -ID is 0. Raspberry Pi herken kaart 0 as die interne klankkaart, dit wil sê bcm2835 en ander eksterne klankkaarte as eksterne klankkaarte met die naam kaart 1, kaart 2 en volg…

Nou moet ons die klankinstellings verander. Tik die volgende opdrag om die asound.conf -lêer te wysig

sudo nano /etc/asound.conf

Voeg onderstaande lyne in die lêer by. Druk dan Ctrl+X en daarna Y om die lêer te stoor

pcm.! standaard {

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

Dit stel u eksterne mikrofoon (pcm.mic) in as die klankopname -toestel (pcm!. Default) en u ingeboude klankkaart (kaart 0) as die luidspreker.

Skep 'n nuwe lêer met die naam.asoundrc in die tuisgids (/home/pi) deur die volgende opdrag uit te voer en die bogenoemde konfigurasies (wat bygevoeg is in /etc/asound.conf.) By hierdie lêer te plaas

sudo nano.asoundrc.

Stap 3: Stel u luidsprekeruitset op

Stel u luidsprekeruitset op
Stel u luidsprekeruitset op
  • Koppel u luidspreker aan die 3,5 mm -koptelefoonaansluiting van die Raspberry Pi.
  • Voer onder die opdrag uit om die konfigurasie skerm van die pi oop te maak.

sudo raspi-config

Gaan na Gevorderde opsies> Oudio en kies die uitsetapparaat. (3,5 mm -aansluiting of HDMI)

Stap 4: Toets die mikrofoon en luidsprekers

Toets die mikrofoon en luidsprekers
Toets die mikrofoon en luidsprekers

Om die spreker te toets, voer die volgende opdrag in die terminale uit. Dit sal 'n toetsgeluid speel. Druk Ctrl+C om te verlaat. Kontroleer u luidsprekerverbinding en krag as u nie die toetsgeluid kan hoor nie. Die toets klink soos-

Links voor, regs voor

luidspreker -toets -t wav

Voer die volgende opdrag uit om u mikrofoon te toets. Dit neem 'n kort klankgreep van 5 sekondes op. Gaan die vorige stappe weer na as u 'n fout ondervind

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

Speel die opgeneemde klank en bevestig dat alles reg werk deur die volgende opdrag in te tik

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

Ons hardeware is ingestel

Stap 5: Laai vereiste pakkette af en konfigureer Python -omgewing:

Laai vereiste pakkette af en stel Python -omgewing op
Laai vereiste pakkette af en stel Python -omgewing op

Werk eers u bedryfstelsel by deur die opdragte een vir een in die terminaal uit te voer

sudo apt-get update

sudo apt-get upgrade

As u die opdragte een vir een in die terminaal uitvoer, word die Python 3 -omgewing (die Google Assistant -biblioteek werk slegs op Python 3) in u Pi geskep en benodigde items geïnstalleer

sudo apt-get install python3-dev python3-venv

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

Aktiveer die luislangomgewing. Dit sal 'n "(env)" teks voor die kommando -terminale van u Pi bring

bron env/bin/aktiveer

Installeer die Google Assistant SDK -pakket, wat al die kode bevat wat nodig is om die Google Assistant op die Pi te laat loop. Dit moet die Google Assistant -biblioteek en die betekenis daarvan aflaai

python -m pip install-upgrade google-assistent-biblioteek

Stap 6: Aktiveer die Google Assistant -wolkprojek

Aktiveer die Google Assistant -wolkprojek
Aktiveer die Google Assistant -wolkprojek
Aktiveer die Google Assistant -wolkprojek
Aktiveer die Google Assistant -wolkprojek
Aktiveer die Google Assistant -wolkprojek
Aktiveer die Google Assistant -wolkprojek
Aktiveer die Google Assistant -wolkprojek
Aktiveer die Google Assistant -wolkprojek
  • Maak die Google Cloud Console oop en skep 'n nuwe projek. (Noem dit enigiets.) Die rekening waarmee u aanmeld, sal gebruik word om navrae na Google Assistant te stuur en u persoonlike antwoord te kry.
  • Gaan na API -bestuurder en aktiveer die Google Assistant API.
  • Maak seker dat u Web- en programaktiwiteit, toestelinligting en stem- en klankaktiwiteit in aktiwiteitkontroles vir die rekening aktiveer.
  • Gaan na “geloofsbriewe” en stel die OAuth -inhoudskerm op.
  • Gaan na die oortjie "geloofsbriewe" en skep 'n nuwe OAuth -kliënt -ID
  • Kies die tipe toepassing as 'Ander' en gee die sleutel se naam.
  • Laai die JSON -lêer af wat die OAuth -sleutelinligting stoor en bewaar dit.

Stap 7: Staaf die Raspberry Pi

Verifikasie van die Raspberry Pi
Verifikasie van die Raspberry Pi
Verifikasie van die Raspberry Pi
Verifikasie van die Raspberry Pi
Verifikasie van die Raspberry Pi
Verifikasie van die Raspberry Pi
Verifikasie van die Raspberry Pi
Verifikasie van die Raspberry Pi

Installeer die magtigingsinstrument deur onder die opdrag uit te voer

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

Begin die instrument deur die volgende opdrag uit te voer. Maak seker dat u die regte pad vir die JSON -lêer wat u in stap 6 afgelaai het, verskaf

(env) google-oauthlib-tool-kliëntgeheime "JSON_FILE_PATH"-omvang https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

Dit moet vertoon word soos hieronder getoon. Kopieer die URL en plak dit in 'n blaaier. As dit eerder verskyn:

InvalidGrantError

dan is 'n ongeldige kode ingevoer. Probeer weer.

Gaan na hierdie URL: https:// …

Voer die magtigingskode in:

Stap 8: Die opstel van die LED -aanwyser

Die opstel van die LED -aanwyser
Die opstel van die LED -aanwyser
  • Koppel u LED tussen GPIO pen 25 en grond.
  • Ons gaan die GPIO -pen 25 as die uitvoerpen stel.
  • Google Assistant SDK bied 'n terugbel EventType. ON_CONVERSATION_TURN_STARTED wanneer die omskakeling met die Google Assistant begin. Op daardie stadium gaan ons die GPIO 25 stel om die LED te laat gloei.
  • Elke keer as die gesprek beëindig word, sal EventType. ON_CONVERSATION_TURN_FINISHED terugbel ontvang word. Op daardie stadium stel ons die GPIO 25 terug om die LED uit te skakel.

Stap 9: Initialiseer by opstart voltooi:

Initialiseer met opstart voltooi
Initialiseer met opstart voltooi
  • Elke keer as u Pi begin, sal ons 'n python -script uitvoer wat die Google Assistant tydens opstart verifieer en bekendstel.
  • Voeg eers die RPi. GPIO -pakket by om GPIO -ondersteuning by te voeg deur die volgende opdrag te gebruik.

pip installeer RPi. GPIO

Voer die stappe een vir een uit. Gaan na die gebruikersgids. Skep nuwe python -lêer main.py

cd /huis /pi

sudo nano main.py

Skryf die gekoppelde skrif en stoor die lêer

Skep nou 'n dop -skrip wat die Google Assistant sal begin en begin

sudo nano google-assistant-init.sh

Plak die onderstaande reëls in die lêer en stoor die lêer

#!/bin/sh

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

Gee die uitvoerende toestemming

sudo chmod +x google-assistant-init.sh

U kan Google-assistant-init.sh altyd gebruik om die Google Assistant te begin.

Stap 10: Begin die Google Assistant tydens opstart

Begin die Google Assistant tydens opstart
Begin die Google Assistant tydens opstart

Daar is twee maniere om Google Assistant by Boot in te skakel. Kom ons kyk elkeen van hulle

1. Begin weer met Pixel Desktop op Boot:

  • Dit sal die Google Assistant begin sodra Pixel -lessenaar begin. Maak seker dat u 'Desktop' boot in Raspberry Pi -konfigurasies gekies het.
  • Tik onder die opdrag.

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

Voeg die volgende by na @xscreensaver -no -splash

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

Stoor en verlaat deur op "Ctrl+X" en dan "Y

2. Autostart met CLI op Boot: (ek het dit persoonlik gebruik, hoewel outostart goed werk.)

  • Dit sal die Google Assistant begin as u CLI -opstart ingestel het. Maak seker dat u 'CLI' boot in Raspberry Pi -konfigurasies gekies het.
  • Tik onder die opdrag.

sudo nano /etc /profile

Voeg onderstaande reël aan die einde van die lêer by

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

Stoor en verlaat deur op "Ctrl+X" en dan "Y" te druk

Stap 11: Gevolgtrekking

Afsluiting
Afsluiting

Wat is presies anders oor hierdie Home Pi? Niks, behalwe uitgawes. Die eindresultaat is basies dieselfde; u kan u DIY Google Home aktiveer deur die wekwoord "Ok Google/ Hey Google" te sê, en die toestel werk net soos 'n regte assistent. U kan baie daaglikse aktiwiteite met u Google Home doen. As u u persoonlike take wil verrig, soos om die lig uit te skakel, die deur te kontroleer, kan u dit doen deur Google Actions in u Google Assistant te integreer. Lewer 'n opmerking hieronder as u probleme ondervind om die Google Assistant te begin. Ek sal probeer om hulle soveel as moontlik op te los.

Aanbeveel: