Cuprins:
- Pasul 1:
- Pasul 2:
- Pasul 3:
- Pasul 4:
- Pasul 5:
- Pasul 6:
- Pasul 7:
- Pasul 8:
- Pasul 9:
- Pasul 10:
- Pasul 11:
- Pasul 12:
- Pasul 13:
Video: Obțineți un ecran pentru Google Home folosind Raspberry Pi și Dialogflow (alternativa Chromecast): 13 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
De când mi-am cumpărat casa Google, am vrut să îmi controlez dispozitivele acasă folosind comenzi vocale. Funcționează minunat din toate punctele de vedere, dar m-am simțit rău pentru funcția video. Putem viziona Youtube și Netflix numai dacă avem un dispozitiv Chromecast sau un televizor cu funcția Chromecast încorporată. Am un Raspberry Pi cu mine, așa că m-am gândit să-l folosesc pentru a reda videoclipurile și filmele mele preferate cu comenzi vocale.
Pasul 1:
Pentru aceasta, am făcut următoarea configurare
Google Home -> Dialogflow -> Adresa IP Rpi pe Dataplicity -> Server Nodejs -> Cod pentru a deschide URL-uri
Dialogflow este o tehnologie Google de interacțiune om-computer bazată pe conversații în limbaj natural. Cu ajutorul acestui lucru, ne putem dezvolta propriile conversații sau sarcini pe care să le oferim ca intrare în Google Home. Acest lucru funcționează după cum urmează
Intenție [Introducere, întrebare, conversație, comandă ….] -> Pagina principală Google -> acțiune [răspuns]
Aici, răspunsul poate fi o simplă conversație sau datele preluate dintr-un webhook, pe care le vom face folosind serverul Rpi. Deci, accesați site-ul web Dialogflow și creați un cont și un agent nou.
Apoi creați o nouă intenție….
Pasul 2:
Apoi introduceți frazele de antrenament. Acestea sunt comenzile pe care le rostesc utilizatorii atunci când încearcă să acceseze o anumită sarcină din Google Home.
Pasul 3:
Aici, cuvântul „site web” poate fi schimbat în orice altceva, cum ar fi YouTube, Netflix, Amazon Prime etc.
Pasul 4:
Din meniul derulant, selectați „@ sys.any” și apăsați Enter.
Pasul 5:
Apoi introduceți același nume de parametru în secțiunea de acțiuni. Valorile menționate în această secțiune sunt trimise webhook-ului ca fișier JSON, pe care trebuie să-l preluăm în server pentru a ști ce site web a invocat utilizatorul.
Valoarea unei variabile este recuperată folosind „$ variable_name”
Pasul 6:
Adăugați răspunsul pe care trebuie să-l auzim după ce spunem comanda la Google Home. Apoi salvați intenția. Dacă este necesar, setați această intenție ca sfârșit al conversației.
Pasul 7:
Acum vom configura serviciul nostru back-end pentru a obține aceste întrebări pentru a deschide videoclipuri și site-uri web pe raspberry pi.
Setarea rămasă
Dataplicity -> Server Nodejs -> cod
De ce avem nevoie de aplicație de date? deoarece Google Home se conectează la webhook-uri care sunt accesibile pe internet. Chiar dacă GHome-ul nostru este conectat la rețeaua locală, interogările provin de la serviciul cloud Google și, prin urmare, este necesară portarea serverului nostru pe internet. În loc de acea durere de cap, putem folosi serviciile de aplicații de date pentru a plasa cu ușurință pi-ul nostru de zmeură pe internet.
Mai întâi, conectați-vă la raspberry pi [direct cu HDMI sau chiar cu SSh] Obțineți cele mai recente rute de execuție nodejs din următoarea comandă din terminal.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Apoi instalați-l folosind
sudo apt-get install -y nodejs
Apoi creați un fișier nou
nano webserver.js
Pasul 8:
Apoi, introduceți codul de mai jos în fișier
Aici, pentru demonstrație, folosesc doar două site-uri web (google, youtube). Se poate edita codul și se poate modifica în consecință.
bodyParser = require (‘body-parser’); var exec = require (‘child_process’). exec; var express = require (‘express’); var app = express (); app.use (bodyParser.json ()); app.post ('/', function (req, res) {let variable = req.body.queryResult.parameters.website; exec („midori www.” + variable +”. com”, function (error, stdout, stderr) {console.log („stdout:„ + stdout); console.log („stderr:„ + stderr); if (eroare! == null) {console.log („exec errror:„ + eroare);}}); returnează res.end ();}); app.listen (80);
Pasul 9:
Codul de mai sus a fost scris doar pentru a explica conceptul. Am folosit browserul Midori în cod, deoarece cromul nu funcționează cu comenzi la distanță. Putem folosi și Firefox. [Trebuie să instalăm module body-parser, express cu ajutorul npm înainte de a scrie codul]
Amintiți-vă că ar trebui să ascultăm numai la portul 80, deoarece dataplicity poate redirecționa doar portul 80 al raspberry pi.
Acum trebuie să configurăm Dataplicity
Accesați site-ul web Dataplicity și creați-vă contul și urmați instrucțiunile pentru a adăuga raspberry pi la tabloul de bord.
Pasul 10:
După aceea, deschideți raspberry pi din lista de dispozitive și selectați gaura de vierme pentru a obține o adresă IP unică pentru raspberry pi pe care putem implementa serverul nostru de noduri.
Copiați adresa IP în clipboard.
Pasul 11:
Acum rulați codul de la terminalul raspberry pi
nod sudo webserver.js
Dacă arată orice eroare despre afișare sau despre protocoale … a executa
sudo xhost +
Acum reveniți la fluxul de dialog și faceți clic pe secțiunea de realizare
Pasul 12:
Introduceți adresa IP sau adresa URL din aplicația de date în spațiul de mai sus.
Pasul 13:
În cele din urmă, accesați secțiunea de intenții și activați apelul webhook din fila Îndeplinire.
Asta e! Acum reveniți la pagina dvs. Google și verificați cum funcționează!
Până data viitoare, Happy Hacking:)
Recomandat:
Macintosh cu ecran tactil - Mac clasic cu un iPad Mini pentru ecran: 5 pași (cu imagini)
Macintosh cu ecran tactil | Mac clasic cu un iPad Mini pentru ecran: Aceasta este actualizarea și designul meu revizuit despre cum să înlocuiesc ecranul unui Macintosh de epocă cu un iPad mini. Acesta este al șaselea dintre acestea realizat de-a lungul anilor și sunt destul de mulțumit de evoluția și designul acestuia! În 2013, când am făcut
Ochelari cu cristale lichide pentru ambliopie (Ochelari de antrenament pentru ocluzie alternativă) [ATtiny13]: 10 pași (cu imagini)
Ochelari cu cristale lichide pentru ambliopie (Ochelari de antrenament pentru ocluzie alternativă) [ATtiny13]: Ambliopie (ochi leneș), o tulburare a vederii care afectează aproximativ 3% din populație, tratată de obicei prin patch-uri simple de ochi sau picături de atropină. Din păcate, aceste metode de tratament ocluzie un ochi mai puternic pentru perioade lungi de timp neîntrerupte, nu
Raspberry Pi ca alternativă Chromecast (Raspicast): 10 pași (cu imagini)
Raspberry Pi ca alternativă Chromecast (Raspicast): În aceste Instrucțiuni, vă voi arăta cum să utilizați raspberry pi 3 ca alternativă Chromecast. De asemenea, merită menționat faptul că aceasta nu este o clonă directă către Chromecast și că există limitări. Această metodă nu acceptă butonul de turnare, dar
Cum să obțineți codul hexagonal pentru orice culoare pe ecran: 7 pași
Cum să obțineți codul hexagonal pentru orice culoare de pe ecran: vă voi arăta cum să obțineți codul hexazecimal pentru orice culoare pe care monitorul computerului dvs. vi-o arată, astfel încât să le puteți utiliza în documente HTML și alte lucruri de computer fanteziste. În mod surprinzător, folosește software legal
Obțineți un ecran de conectare clasic în Windows Vista: 4 pași
Obțineți un ecran de logare clasic în Windows Vista: Ecranul de întâmpinare, care afișează toți utilizatorii, a fost introdus în Windows XP pentru confortul utilizatorului. Opțiunea de a schimba acest lucru înapoi la ecranul de conectare mai sigur și clasic a fost posibilă de la panoul de control. Aceasta a fost eliminată din opțiunile Vista, dar eu