Turinys:

„Pi Home“, „Raspberry Powered Virtual Assistant“: 11 žingsnių (su nuotraukomis)
„Pi Home“, „Raspberry Powered Virtual Assistant“: 11 žingsnių (su nuotraukomis)

Video: „Pi Home“, „Raspberry Powered Virtual Assistant“: 11 žingsnių (su nuotraukomis)

Video: „Pi Home“, „Raspberry Powered Virtual Assistant“: 11 žingsnių (su nuotraukomis)
Video: Homemade SMART Mirror Tutorial | Raspberry pi & MagicMirror 2024, Lapkritis
Anonim
„Pi Home“, „Raspberry Powered Virtual Assistant“
„Pi Home“, „Raspberry Powered Virtual Assistant“

„Google Home“yra naudinga turėti namuose. Tai gražus įrenginys su įmontuotu „Google Assistant“- naujausia „Google“skaitmeninė asmeninė asistentė. Jis gali atkurti žiniasklaidą, išsaugoti priminimus ir pastabas, nurodyti kelionės į darbą ir atgal trukmę, atlikti namų automatizavimą. Jį galima įdėti bet kur jūsų namuose, ir tai padarys jums nuostabių dalykų, tačiau tai brangus pasiūlymas, jei nesu tikras, kad jį naudosite. Tačiau gera žinia, naudodami „Raspberry Pi“galite sukurti visiškai funkcionalų.

Šio vadovo pabaigoje turėsite visiškai veikiantį „Google Home“, kuris reaguoja į jūsų balso komandas. Priešingu atveju tai yra asistentas su visomis „Google Home“funkcijomis. Tai reiškia, kad jis gali atlikti vienetų konversijas, leisti mediją, tikrinti balus, skaityti garso knygas, tikrinti orą ir dar daugiau. Jis taip pat veiks su įvairiais namų automatikos įrenginiais, tokiais kaip išmaniosios lemputės, todėl galėsite juos valdyti balsu. Kaip ir tikrasis „Google“padėjėjas, jūsų „pasidaryk pats“„Google“pagrindinis puslapis gali būti susietas, kad būtų galima pridėti daugiau funkcijų, pvz., Pridėti užduočių prie „Evernote“arba gauti pranešimą į telefoną, kai laikmatis išsijungs.

1 žingsnis: reikalingi dalykai

Daiktai, kurių jums reikia
Daiktai, kurių jums reikia

Jums reikėtų:

  • Raspberry Pi 3 arba 2 su įdiegta „Raspbian“ir „Wi-Fi“sąranka.
  • Maitinimo šaltinis ir „MicroUSB“maitinimo kabelis. (Mažiausiai 5V, 2A)
  • „MicroSD“kortelė. (Mažiausiai 8 GB)
  • USB mikrofonas. (Internete taip pat rasite daug sąrankos būdų, taip pat čia …)
  • Garsiakalbiai
  • Nustatymui skirta klaviatūra ir pelė
  • Šviesos diodas ir pora laidų prijungimui

Visi dalykai surinkti, prijungti ir prijungti, pradėkime.

2 veiksmas: USB mikrofono nustatymas

USB mikrofono nustatymas
USB mikrofono nustatymas
  • „Pi“neturi įmontuotų mikrofonų. Jei norite įrašyti garsą, turite prijungti USB mikrofoną.
  • Prijunkite savo USB mikrofoną prie bet kurio „Pi“USB lizdo.
  • Terminale įveskite šią komandą.

arecord -l

Šioje komandoje bus išvardyti visi galimi garso įrašymo įrenginiai. Jis bus tuščias, jei prijungtas USB mikrofonas. Turėtumėte gauti tokią išvestį

pi@raspberrypi: ~ $ arecord -l

**** CAPTURE aparatūros įrenginių sąrašas **** kortelė 1: Įrenginys [USB PnP garso įrenginys], 0 įrenginys: USB garso įrašas [USB garsas] Papildomi įrenginiai: Antrasis įrenginys #0: antrasis įrenginys #0

Matote, kad jūsų USB įrenginys prijungtas prie 1 kortelės, o įrenginio ID yra 0. „Raspberry Pi“atpažįsta 0 kortelę kaip vidinę garso plokštę, tai yra, bcm2835 ir kitas išorines garso korteles kaip išorines garso korteles, pavadintas 1, 2 ir 2 kortelėmis. seka…

Dabar turėsime pakeisti garso konfigūraciją. Norėdami redaguoti failą asound.conf, įveskite šią komandą

sudo nano /etc/asound.conf

Pridėkite žemiau esančių failo eilučių. Tada paspauskite Ctrl+X ir po to Y, kad išsaugotumėte failą

pcm.! numatytasis {

tipas asym capture.pcm "mikrofonas" atkūrimas.pcm "garsiakalbis"} pcm.mic {tipo kištukas vergas {pcm "hw: 1, 0"}} pcm.speaker {type hw card 0} ctl.! numatytasis {type hw card 0}

Tai nustatys jūsų išorinį mikrofoną (pcm.mic) kaip garso fiksavimo įrenginį (pcm!. Numatytasis), o jūsų įmontuotą garso plokštę (0 kortelė) kaip garsiakalbio įrenginį.

Sukurkite naują failą pavadinimu.asoundrc namų kataloge (/home/pi), išleisdami šią komandą ir įklijuokite aukščiau esančias konfigūracijas (kurios buvo pridėtos faile /etc/asound.conf.)

sudo nano.asoundrc.

3 veiksmas: nustatykite garsiakalbio išvestį

Garsiakalbio išvesties nustatymas
Garsiakalbio išvesties nustatymas
  • Prijunkite garsiakalbį prie „Raspberry Pi“3,5 mm ausinių lizdo.
  • Vykdykite žemiau esančią komandą, kad atidarytumėte pi konfigūracijos ekraną.

sudo raspi-config

Eikite į Išplėstinės parinktys> Garsas ir pasirinkite išvesties įrenginį. (3,5 mm lizdas arba HDMI)

4 žingsnis: išbandykite mikrofoną ir garsiakalbius

Išbandykite mikrofoną ir garsiakalbius
Išbandykite mikrofoną ir garsiakalbius

Norėdami patikrinti garsiakalbį, terminale paleiskite šią komandą. Tai atliks bandomąjį garsą. Norėdami išeiti, paspauskite Ctrl+C. Jei negirdite bandomojo garso, patikrinkite garsiakalbio jungtį ir maitinimą. Testas skamba taip-

Priekinė kairė, priekinė dešinė

garsiakalbio testas -wav

Norėdami išbandyti savo mikrofoną, paleiskite šią komandą. Taip bus įrašytas trumpas 5 sekundžių garso įrašas. Jei atsiranda klaida, dar kartą patikrinkite ankstesnius veiksmus

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

Paleiskite įrašytą garsą ir patvirtinkite, kad viskas veikia tinkamai, įvesdami šią komandą

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

Mūsų aparatinė įranga nustatyta

5 veiksmas: atsisiųskite reikalingus paketus ir sukonfigūruokite „Python“aplinką:

Atsisiųskite reikalingus paketus ir sukonfigūruokite „Python“aplinką
Atsisiųskite reikalingus paketus ir sukonfigūruokite „Python“aplinką

Pirmiausia atnaujinkite savo operacinę sistemą vykdydami komandas po vieną terminale

sudo apt-get atnaujinimas

sudo apt-get atnaujinimas

Vykdydami komandas po vieną terminale, jūsų „Pi“bus sukurta „Python 3“aplinka („Google“padėjėjo biblioteka veikia tik su „Python 3“) ir įdiegiami reikalingi elementai

sudo apt-get install python3-dev python3-venv

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

Suaktyvinkite „Python“aplinką. Prieš „Pi“komandų terminalą bus pateiktas „(env)“tekstas

šaltinis env/bin/active

Įdiekite „Google Assistant“SDK paketą, kuriame yra visas kodas, reikalingas „Google“padėjėjui paleisti „Pi“. Ji turėtų atsisiųsti „Google“padėjėjo biblioteką ir reikšmę

„python -m pip install“-atnaujinkite „Google“padėjėjo biblioteką

6 veiksmas: įgalinkite „Google“padėjėjo debesies projektą

„Google“padėjėjo debesies projekto įgalinimas
„Google“padėjėjo debesies projekto įgalinimas
„Google“padėjėjo debesies projekto įgalinimas
„Google“padėjėjo debesies projekto įgalinimas
„Google“padėjėjo debesies projekto įgalinimas
„Google“padėjėjo debesies projekto įgalinimas
„Google“padėjėjo debesies projekto įgalinimas
„Google“padėjėjo debesies projekto įgalinimas
  • Atidarykite „Google Cloud Console“ir sukurkite naują projektą. (Pavadinkite bet ką.) Paskyra, su kuria prisijungiate, bus naudojama užklausoms siųsti „Google“padėjėjui ir gauti jūsų asmeninį atsakymą.
  • Eikite į API tvarkyklę ir įgalinkite „Google Assistant“API.
  • Įsitikinkite, kad paskyros veiklos valdikliuose įgalinote žiniatinklio ir programų veiklą, įrenginio informaciją ir balso ir garso veiklą.
  • Eikite į „Įgaliojimai“ir nustatykite „OAuth“turinio ekraną.
  • Eikite į skirtuką „Įgaliojimai“ir sukurkite naują „OAuth“kliento ID
  • Pasirinkite programos tipą „Kita“ir nurodykite rakto pavadinimą.
  • Atsisiųskite JSON failą, kuriame saugoma „OAuth“pagrindinė informacija, ir išsaugokite ją.

7 žingsnis: Raspberry Pi autentifikavimas

Raspberry Pi autentifikavimas
Raspberry Pi autentifikavimas
Raspberry Pi autentifikavimas
Raspberry Pi autentifikavimas
Raspberry Pi autentifikavimas
Raspberry Pi autentifikavimas
Raspberry Pi autentifikavimas
Raspberry Pi autentifikavimas

Įdiekite autorizacijos įrankį vykdydami žemiau esančią komandą

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

Paleiskite įrankį vykdydami šią komandą. Įsitikinkite, kad nurodėte teisingą JSON failo, kurį atsisiuntėte atlikdami 6 veiksmą, kelią

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

Jis turėtų būti rodomas, kaip parodyta žemiau. Nukopijuokite URL ir įklijuokite jį į naršyklę. Jei vietoj to rodoma:

InvalidGrantError

tada buvo įvestas neteisingas kodas. Bandyk iš naujo.

Eikite į šį URL:

Įveskite autorizacijos kodą:

8 veiksmas: LED indikatoriaus nustatymas

LED indikatoriaus nustatymas
LED indikatoriaus nustatymas
  • Prijunkite savo šviesos diodą tarp GPIO kaiščio 25 ir įžeminimo.
  • Mes nustatysime GPIO kaištį 25 kaip išvesties kaištį.
  • „Google“padėjėjo SDK pateikia atgalinio skambučio įvykio tipą. ON_CONVERSATION_TURN_STARTED, kai pradedama konversija naudojant „Google“padėjėją. Tuo metu mes nustatysime, kad GPIO 25 švytėtų LED.
  • Kai pokalbis baigiasi, „EventType. ON_CONVERSATION_TURN_FINISHED“bus gautas atgalinis skambutis. Tuo metu mes iš naujo nustatysime GPIO 25, kad išjungtume šviesos diodą.

9 veiksmas: paleiskite paleidimą:

Įkrovos inicijavimas baigtas
Įkrovos inicijavimas baigtas
  • Kai jūsų „Pi“paleidžia paleidimą, paleisime „python“scenarijų, kuris patikrins ir pristatys „Google“padėjėją įkrovos metu.
  • Pirmiausia pridėkite RPi. GPIO paketą, kad pridėtumėte GPIO palaikymą naudodami šią komandą.

pip įdiegti RPi. GPIO

Vykdykite veiksmus po vieną. Eikite į vartotojo katalogą. Sukurkite naują python failą main.py

cd /home /pi

sudo nano main.py

Parašykite susietą scenarijų ir išsaugokite failą

Dabar sukurkite vieną apvalkalo scenarijų, kuris inicijuos ir paleis „Google“padėjėją

sudo nano google-assistant-init.sh

Įklijuokite žemiau esančias eilutes į failą ir išsaugokite failą

#!/bin/sh

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

Suteikite leidimą vykdyti

sudo chmod +x google-assistant-init.sh

Galite bet kada paleisti „Google“padėjėją paleisdami google-assistant-init.sh.

10 veiksmas: paleiskite „Google“padėjėją paleidžiant

„Google“padėjėjo paleidimas paleidžiant
„Google“padėjėjo paleidimas paleidžiant

Norėdami įjungti „Google“padėjėją įkrovos metu, yra du būdai. Pažiūrėkime kiekvieną iš jų

1. Automatinis paleidimas naudojant „Pixel Desktop“įkrovos metu:

  • Tai paleis „Google“padėjėją, kai tik „Pixel“darbalaukis bus paleistas. Įsitikinkite, kad „Raspberry Pi“konfigūracijose pasirinkta „Desktop“įkrova.
  • Įveskite žemiau esančią komandą.

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

Po @xscreensaver -no -splash pridėkite:

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

Išsaugokite ir išeikite paspausdami „Ctrl+X“, tada „Y

2. Automatinis paleidimas su „CLI on Boot“: (aš asmeniškai tai naudojau, nors automatinio paleidimo darbai baigiasi gerai.)

  • Tai paleis „Google“padėjėją, jei nustatysite CLI įkėlimą. Įsitikinkite, kad Raspberry Pi konfigūracijose pasirinkote „CLI“įkrovą.
  • Įveskite žemiau esančią komandą.

sudo nano /etc /profile

Failo pabaigoje pridėkite žemiau esančią eilutę

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

Išsaugokite ir išeikite paspausdami „Ctrl+X“, tada „Y“

11 žingsnis: Išvada

Išvada
Išvada

Kuo šis „Home Pi“skiriasi? Nieko, išskyrus išlaidas. Galutinis rezultatas iš esmės tas pats, galite suaktyvinti „pasidaryk pats“„Google Home“sakydami žadinimo žodį „Ok Google“/ „Hey Google“, o įrenginys veikia kaip tikras asistentas. „Google Home“galite atlikti daug kasdienės veiklos. Jei norite atlikti pasirinktines užduotis, pvz., Išjungti šviesą, patikrinti duris, tai galite padaryti integruodami „Google“veiksmus į „Google“padėjėją. Jei kyla problemų paleidžiant „Google“padėjėją, palikite komentarą žemiau. Stengsiuosi jas išspręsti, kiek galėsiu.

Rekomenduojamas: