Cuprins:

Pi Home, un asistent virtual alimentat cu zmeură: 11 pași (cu imagini)
Pi Home, un asistent virtual alimentat cu zmeură: 11 pași (cu imagini)

Video: Pi Home, un asistent virtual alimentat cu zmeură: 11 pași (cu imagini)

Video: Pi Home, un asistent virtual alimentat cu zmeură: 11 pași (cu imagini)
Video: Server de asistent acasă ieftin soluție ieftină #homeassistant #solarpanelsforhome 2024, Iulie
Anonim
Pi Home, un asistent virtual alimentat cu zmeură
Pi Home, un asistent virtual alimentat cu zmeură

Google Home este util să aveți în casă. Este un dispozitiv frumos cu asistent Google încorporat - Un asistent personal digital de ultimă generație de la Google. Poate reda conținut media, salva mementourile și notele, vă poate spune lungimea deplasării, face automatizarea casei. Poate fi plasat oriunde la domiciliu și va face lucruri uimitoare pentru dvs., dar este o propunere scumpă dacă nu sunteți sigur că îl veți folosi. O veste bună, totuși, puteți face una complet funcțională utilizând un Raspberry Pi.

Până la sfârșitul acestui ghid, veți avea un Google Home complet funcțional, care răspunde comenzilor dvs. vocale. În caz contrar, este un Asistent cu toate funcțiile Google Home. Ceea ce înseamnă că poate face conversii de unități, poate reda conținut media, poate verifica scorurile, vă poate citi cărți audio, poate verifica vremea și multe altele. De asemenea, va funcționa cu o varietate de dispozitive de automatizare a casei, cum ar fi becurile inteligente, astfel încât să le puteți controla cu vocea dvs. La fel ca Asistentul Google real, Google Home-ul dvs. DIY poate fi conectat pentru a adăuga mai multe funcții, cum ar fi adăugarea de sarcini la Evernote sau pentru a primi o notificare pe telefonul dvs. când temporizatorul se oprește.

Pasul 1: Lucruri de care aveți nevoie

Lucruri de care ai nevoie
Lucruri de care ai nevoie

Ai avea nevoie de:

  • Raspberry Pi 3 sau 2 cu Raspbian instalat și configurare Wi-Fi.
  • Sursă de alimentare și cablu de alimentare MicroUSB. (Minim 5V, 2A)
  • Card MicroSD. (Minim 8 GB)
  • Un microfon USB. (Veți obține o mulțime de moduri de configurare prin internet, tot aici …)
  • Difuzoare
  • O tastatură și un mouse pentru configurare
  • Un LED și câteva fire pentru conectare

Toate lucrurile adunate, conectate și conectate, Să începem.

Pasul 2: Configurarea microfonului USB

Configurarea microfonului USB
Configurarea microfonului USB
  • Pi nu are microfoane încorporate. Trebuie să atașați un microfon USB dacă doriți să înregistrați audio.
  • Conectați-vă microfonul USB la oricare dintre sloturile USB ale dispozitivului Pi.
  • Tastați următoarea comandă în terminal.

arecord -l

Această comandă va lista toate dispozitivele de înregistrare audio disponibile. Va fi gol dacă microfonul USB este conectat. Ar trebui să obțineți următoarea ieșire

pi @ raspberrypi: ~ $ arecord -l

**** Lista dispozitivelor hardware CAPTURE **** placa 1: Dispozitiv [Dispozitiv de sunet USB PnP], dispozitiv 0: USB Audio [USB Audio] Subdispozitive: Subdispozitiv # 0: subdispozitiv # 0

Puteți vedea că dispozitivul USB este atașat la cardul 1 și ID-ul dispozitivului este 0. Raspberry Pi recunoaște cardul 0 ca fiind placa de sunet internă, adică bcm2835 și alte plăci de sunet externe ca plăci de sunet externe numite card 1, card 2 și ca urmare a…

Acum, va trebui să schimbăm configurațiile audio. Pentru a edita fișierul asound.conf, tastați următoarea comandă

sudo nano /etc/asound.conf

Adăugați mai jos linii în fișier. Apoi apăsați Ctrl + X și apoi Y pentru a salva fișierul

pcm.! implicit {

tip 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}

Aceasta va seta microfonul extern (pcm.mic) ca dispozitiv de captare audio (pcm!. Default) și placa de sunet încorporată (card 0) ca dispozitiv de difuzor.

Creați un fișier nou numit.asoundrc în directorul de start (/ home / pi) prin emiterea următoarei comenzi și lipiți configurațiile de mai sus (care au fost adăugate în fișierul /etc/asound.conf.) La acest fișier

sudo nano.asoundrc.

Pasul 3: Configurarea ieșirii difuzoarelor

Configurarea ieșirii difuzoarelor
Configurarea ieșirii difuzoarelor
  • Conectați difuzorul la mufa pentru căști de 3,5 mm a Raspberry Pi.
  • Rulați comanda de mai jos pentru a deschide ecranul de configurare a pi.

sudo raspi-config

Accesați Opțiuni avansate> Audio și selectați dispozitivul de ieșire. (Mufă de 3,5 mm sau HDMI)

Pasul 4: Testați microfonul și difuzoarele

Testați microfonul și difuzoarele
Testați microfonul și difuzoarele

Pentru a testa difuzorul, executați următoarea comandă în terminal. Aceasta va reda un sunet de testare. Apăsați Ctrl + C pentru a ieși. Dacă nu puteți auzi sunetul de test, verificați conexiunea și puterea difuzorului. Testul sună ca-

Față stânga, față dreapta

speaker-test -t wav

Pentru a vă testa microfonul, executați următoarea comandă. Aceasta va înregistra un scurt clip audio de 5 secunde. Dacă apare o eroare, verificați din nou pașii anteriori

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

Redați sunetul înregistrat și confirmați că totul funcționează corect tastând următoarea comandă

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

Hardware-ul nostru este setat

Pasul 5: Descărcați pachetele necesare și configurați mediul Python:

Descărcați pachetele necesare și configurați mediul Python
Descărcați pachetele necesare și configurați mediul Python

Mai întâi, actualizați-vă sistemul de operare executând comenzile una câte una în terminal

sudo apt-get update

sudo apt-get upgrade

Rularea comenzilor una câte una în terminal va crea mediul Python 3 (biblioteca Google Assistant rulează numai pe Python 3) în Pi și va instala elementele necesare

sudo apt-get install python3-dev python3-venv

$ python3 -m venv env $ env / bin / python -m instalare pip - actualizare instrumente de configurare pip

Activați mediul python. Aceasta va aduce un text „(env)” în fața terminalului de comandă al lui Pi

sursa env / bin / activate

Instalați pachetul SDK Google Assistant, care conține tot codul necesar pentru a rula Asistentul Google pe Pi. Ar trebui să descarce Biblioteca Asistentului Google și semnificația

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

Pasul 6: Activarea proiectului Google Assistant Cloud

Activarea proiectului Google Assistant Cloud
Activarea proiectului Google Assistant Cloud
Activarea proiectului Google Assistant Cloud
Activarea proiectului Google Assistant Cloud
Activarea proiectului Google Assistant Cloud
Activarea proiectului Google Assistant Cloud
Activarea proiectului Google Assistant Cloud
Activarea proiectului Google Assistant Cloud
  • Deschideți Google Cloud Console și creați un proiect nou. (Denumiți orice.) Contul cu care vă conectați va fi utilizat pentru a trimite interogări la Asistentul Google și pentru a obține răspunsul dvs. personalizat.
  • Accesați managerul API și activați Google Assistant API.
  • Asigurați-vă că activați Activitatea de pe web și din aplicații, Informațiile dispozitivului și Activitatea vocală și audio în comenzile de activitate pentru cont.
  • Accesați „acreditări” și configurați ecranul de conținut OAuth.
  • Accesați fila „Credentials” și creați un nou ID client OAuth
  • Selectați tipul aplicației ca „Altele” și dați numele cheii.
  • Descărcați fișierul JSON care stochează informațiile cheie OAuth și păstrați-le salvate.

Pasul 7: Autentificarea Raspberry Pi

Autentificarea Raspberry Pi
Autentificarea Raspberry Pi
Autentificarea Raspberry Pi
Autentificarea Raspberry Pi
Autentificarea Raspberry Pi
Autentificarea Raspberry Pi
Autentificarea Raspberry Pi
Autentificarea Raspberry Pi

Instalați instrumentul de autorizare executând comanda de mai jos

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

Rulați instrumentul executând următoarea comandă. Asigurați-vă că furnizați calea corectă pentru fișierul JSON pe care l-ați descărcat la pasul 6

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

Ar trebui să se afișeze așa cum se arată mai jos. Copiați adresa URL și lipiți-o într-un browser. Dacă, în schimb, afișează:

InvalidGrantError

apoi a fost introdus un cod nevalid. Încearcă din nou.

Accesați această adresă URL: https:// …

Introduceți codul de autorizare:

Pasul 8: Configurarea indicatorului LED

Configurarea indicatorului LED
Configurarea indicatorului LED
  • Conectați-vă LED-ul între pinul GPIO 25 și masă.
  • Vom seta pinul GPIO 25 ca pin de ieșire.
  • SDK Google Assistant oferă un apel de tip EventType. ON_CONVERSATION_TURN_STARTED când începe conversia cu Asistentul Google. În acel moment, vom seta GPIO 25 să aprindă LED-ul.
  • Ori de câte ori conversația se termină EventType. ON_CONVERSATION_TURN_FINISHED va fi primit apel invers. În acel moment, vom reseta GPIO 25 pentru a opri LED-ul.

Pasul 9: inițializați la încărcare completă:

Inițializare la încărcare completă
Inițializare la încărcare completă
  • Ori de câte ori Pi-ul dvs. finalizează pornirea, vom rula un script python care va verifica și introduce Asistentul Google la pornire.
  • Mai întâi adăugați pachetul RPi. GPIO pentru a adăuga suport GPIO folosind următoarea comandă.

pip instala RPi. GPIO

Rulați pașii unul câte unul. Accesați directorul utilizatorului. Creați un fișier python nou main.py

cd / home / pi

sudo nano main.py

Scrieți scriptul legat și salvați fișierul

Acum creați un script shell care va inițializa și rula Asistentul Google

sudo nano google-assistant-init.sh

Lipiți mai jos liniile în fișier și salvați fișierul

#! / bin / sh

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

Acordă permisiunea de executare

sudo chmod + x google-assistant-init.sh

Puteți rula google-assistant-init.sh pentru a iniția asistentul Google oricând.

Pasul 10: Pornirea Asistentului Google în timp ce porniți

Pornirea Asistentului Google în timp ce porniți
Pornirea Asistentului Google în timp ce porniți

Pentru a activa Asistentul Google la pornire există două moduri. Să le vedem pe fiecare dintre ele

1. Pornire automată cu Pixel Desktop la pornire:

  • Aceasta va porni Asistentul Google imediat ce pornește desktopul Pixel. Asigurați-vă că aveți selectat boot-ul „Desktop” în configurațiile Raspberry Pi.
  • Tastați mai jos comanda.

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

Adăugați următoarele după @xscreensaver -no-splash

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

Salvați și ieșiți apăsând „Ctrl + X” și apoi „Y

2. Pornire automată cu CLI la pornire: (eu personal am folosit acest lucru, deși pornirea automată funcționează a renunțat.)

  • Aceasta va porni Asistentul Google dacă ați setat boot-ul CLI. Asigurați-vă că aveți selectat boot-ul „CLI” în configurațiile Raspberry Pi.
  • Tastați mai jos comanda.

sudo nano / etc / profile

Adăugați linia de mai jos la sfârșitul fișierului

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

Salvați și ieșiți apăsând „Ctrl + X” și apoi „Y”

Pasul 11: Concluzie

Concluzie
Concluzie

Ce anume este diferit la acest Home Pi? Nimic, cu excepția cheltuielilor. Rezultatul final este în esență același, puteți să vă activați DIY Google Home spunând cuvântul de veghe „Ok Google / Hey Google”, iar dispozitivul funcționează la fel ca un Asistent real. Puteți face multe activități zilnice cu Google Home. Dacă doriți să efectuați sarcini personalizate, cum ar fi stingerea luminii, verificarea ușii, puteți face acest lucru prin integrarea Google Actions în Asistentul Google. Dacă aveți probleme cu pornirea Asistentului Google, lăsați un comentariu mai jos. Voi încerca să le rezolv cât pot.

Recomandat: