Sadržaj:

Nabavite ekran za svoj Google Home koristeći Raspberry Pi i Dialogflow (Chromecast alternativa): 13 koraka
Nabavite ekran za svoj Google Home koristeći Raspberry Pi i Dialogflow (Chromecast alternativa): 13 koraka

Video: Nabavite ekran za svoj Google Home koristeći Raspberry Pi i Dialogflow (Chromecast alternativa): 13 koraka

Video: Nabavite ekran za svoj Google Home koristeći Raspberry Pi i Dialogflow (Chromecast alternativa): 13 koraka
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembar
Anonim
Nabavite ekran za svoj Google Home koristeći Raspberry Pi i Dialogflow (Chromecast alternativa)
Nabavite ekran za svoj Google Home koristeći Raspberry Pi i Dialogflow (Chromecast alternativa)

Otkad sam kupio svoj Google dom, želio sam kontrolirati svoje uređaje kod kuće pomoću glasovnih naredbi. Radi odlično u svakom pogledu, ali mi je bilo žao zbog njegove video mogućnosti. Youtube i Netflix možemo gledati samo ako imamo Chromecast uređaj ili televizor s ugrađenom Chromecast funkcijom. Imam Raspberry Pi sa sobom, pa sam pomislio da ga iskoristim za reprodukciju omiljenih video zapisa i filmova glasovnim komandama.

Korak 1:

Image
Image

Za to sam napravio sljedeće postavljanje

Google početna stranica -> Dialogflow -> Rpi IP adresa na Dataplicity -> Nodejs poslužitelj -> Kôd za otvaranje URL -ova

Dialogflow je google-ova tehnologija interakcije čovjek-računalo zasnovana na razgovorima na prirodnom jeziku. Pomoću ovoga možemo razviti vlastite razgovore ili zadatke koje ćemo dati kao doprinos Googleovoj kući. Ovo funkcionira na sljedeći način

Namjera [Unos, pitanje, razgovor, naredba….] -> Google početna -> radnja [odgovor]

Ovdje odgovor može biti jednostavan razgovor ili podaci preuzeti s web -huka, što ćemo napraviti pomoću Rpi servera. Dakle, idite na web mjesto Dialogflow i stvorite račun i novog agenta.

Zatim stvorite novu namjeru….

Korak 2:

Image
Image

Zatim unesite fraze za obuku. Ovo su naredbe koje korisnici izgovaraju kada pokušaju pristupiti određenom zadatku s Google Homea.

Korak 3:

Ovdje se riječ 'web stranica' može promijeniti u bilo što poput youtube, Netflix, amazon prime itd … Dakle, ova riječ djeluje kao varijabla i kada odaberete riječ web stranica [pomoću miša] dobivate sljedeće

Korak 4:

Image
Image

Na padajućem izborniku odaberite „@sys.any“i pritisnite enter.

Korak 5:

Image
Image

Zatim unesite isti naziv parametra u odjeljak radnje. Vrijednosti navedene u ovom odjeljku šalju se webhooku kao JSON datoteka, koju moramo dohvatiti na poslužitelju da bismo saznali na kojoj je web stranici korisnik pozvan.

Vrijednost varijable se dohvaća pomoću ‘$ variable_name’

Korak 6:

Image
Image

Dodajte odgovor koji moramo čuti nakon izgovaranja naredbe Google Homeu. Zatim spremite namjeru. Ako je potrebno, postavite ovu namjeru kao kraj razgovora.

Korak 7:

Sada ćemo postaviti našu pozadinsku uslugu kako bismo te upite otvorili videozapise i web stranice na našem maline pi.

Preostalo podešavanje

Dataplicity -> Nodejs server -> kod

Zašto nam je potrebna toliko podataka? jer se Google Home povezuje s web dojavnicima koji su dostupni putem interneta. Iako je naš GHome povezan s lokalnom mrežom, upiti dolaze od Googleove usluge u oblaku, pa postoji potreba za prijenos našeg poslužitelja na internet. Umjesto te glavobolje, možemo koristiti usluge dataplicity usluga da s lakoćom stavimo našu malinu pi na internet.

Prvo se povežite na malinu pi [direktno s HDMI-om ili čak sa SSh-om] Nabavite najnovije vrijeme izvođenja nodejsa sa sljedeće naredbe u terminalu.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Zatim ga instalirajte pomoću

sudo apt -get install -y nodejs

Zatim kreirajte novu datoteku

nano webserver.js

Korak 8:

Zatim umetnite donji kod u datoteku

Ovdje za demonstraciju koristim samo dvije web stranice (google, youtube). Kôd se može urediti i shodno tome promijeniti.

bodyParser = require ('body-parser'); var exec = require ('child_process'). exec; var express = require ('express'); var app = express (); app.use (bodyParser.json ()); app.post ('/', funkcija (req, res) {neka varijabla = req.body.queryResult.parameters.website; exec (“midori www.”+varijabla+”. com”, funkcija (greška, stdout, stderr) {console.log (“stdout:“+ stdout); console.log (“stderr:“+ stderr); if (greška! == null) {console.log (“exec greška:“+ greška);}}); vrati res.end ();}); app.listen (80);

Korak 9:

Image
Image

Gornji kôd je napisan samo da objasni koncept. Koristio sam Midori pretraživač u kodu jer chromium ne radi s daljinskim komandama. Možemo koristiti i Firefox. [Moramo instalirati body-parser, express module uz pomoć npm prije pisanja koda]

Upamtite da bismo trebali slušati samo na portu 80 jer broj podataka može proslijediti samo port 80 malinovog pi.

Sada moramo postaviti Dataplicity

Idite na web lokaciju Dataplicity i kreirajte svoj račun te slijedite upute za dodavanje maline pi na nadzornu ploču.

Korak 10:

Image
Image

Nakon toga otvorite malinu pi sa popisa uređaja i odaberite crvotočina da biste dobili jedinstvenu IP adresu za malinu pi na koju možemo postaviti naš poslužitelj čvora.

Kopirajte IP adresu u međuspremnik.

Korak 11:

Image
Image

Sada pokrenite kod sa malinovog pi terminala

sudo čvor webserver.js

Ako pokaže bilo kakvu grešku u vezi prikaza ili protokola…. izvršiti

sudo xhost +

Sada se vratite na tok dijaloga i kliknite odjeljak ispunjenja

Korak 12:

Image
Image

Unesite IP adresu ili URL iz broja podataka u gornji prostor.

Korak 13:

Image
Image

Na kraju, idite na odjeljak namjere i omogućite poziv webhook s kartice ispunjenja.

To je to! Sada se vratite na svoju Google stranicu i provjerite kako to radi!

Do sljedećeg puta, sretno hakiranje:)

Preporučuje se: