Tabla de contenido:

Obtenga una pantalla para su Google Home usando Raspberry Pi y Dialogflow (alternativa a Chromecast): 13 pasos
Obtenga una pantalla para su Google Home usando Raspberry Pi y Dialogflow (alternativa a Chromecast): 13 pasos

Video: Obtenga una pantalla para su Google Home usando Raspberry Pi y Dialogflow (alternativa a Chromecast): 13 pasos

Video: Obtenga una pantalla para su Google Home usando Raspberry Pi y Dialogflow (alternativa a Chromecast): 13 pasos
Video: Integrar Google Home a Home Assistant | Nabu Casa Home Assistant 2024, Noviembre
Anonim
Obtenga una pantalla para su hogar de Google con Raspberry Pi y Dialogflow (alternativa a Chromecast)
Obtenga una pantalla para su hogar de Google con Raspberry Pi y Dialogflow (alternativa a Chromecast)

Desde que compré mi casa de Google, he querido controlar mis dispositivos en casa usando comandos de voz. Funciona increíble en todos los sentidos, pero me sentí mal por su función de video. Podemos ver Youtube y Netflix solo si tenemos un dispositivo Chromecast o un televisor con la función Chromecast incorporada. Tengo una Raspberry Pi, así que pensé en usarla para reproducir mis videos y películas favoritos con comandos de voz.

Paso 1:

Image
Image

Para esto, hice la siguiente configuración

Inicio de Google -> Dialogflow -> Dirección IP Rpi en Dataplicity -> Servidor Nodejs -> Código para abrir URL

Dialogflow es una tecnología de interacción persona-computadora de Google basada en conversaciones en lenguaje natural. Con la ayuda de esto, podemos desarrollar nuestras propias conversaciones o tareas para dar como entrada a Google Home. Esto funciona de la siguiente manera

Intención [Entrada, pregunta, conversación, comando….] -> Google Home -> acción [responder]

Aquí, la respuesta puede ser una simple conversación o datos recuperados de un webhook, que vamos a hacer usando el servidor Rpi. Entonces, vaya al sitio web de Dialogflow y cree una cuenta y un nuevo agente.

Luego crea una nueva intención….

Paso 2:

Imagen
Imagen

Luego ingrese las frases de entrenamiento. Estos son los comandos que hablan los usuarios cuando intentan acceder a una tarea específica desde Google Home.

Paso 3:

Aquí, la palabra "sitio web" se puede cambiar a cualquier cosa como youtube, Netflix, amazon prime, etc. Entonces, esta palabra actúa como una variable y cuando selecciona la palabra sitio web [usando el mouse] obtiene lo siguiente

Paso 4:

Imagen
Imagen

En el menú desplegable, seleccione "@ sys.any" y presione Intro.

Paso 5:

Imagen
Imagen

Luego ingrese el mismo nombre de parámetro en la sección de acciones. Los valores mencionados en esta sección se envían al webhook como un archivo JSON, que necesitamos recuperar en el servidor para saber qué sitio web ha invocado al usuario.

El valor de una variable se recupera usando "$ variable_name"

Paso 6:

Imagen
Imagen

Agregue la respuesta que necesitamos escuchar después de decir el comando a Google Home. Entonces guarda la intención. Si es necesario, establezca esta intención como el final de la conversación.

Paso 7:

Ahora configuraremos nuestro servicio de back-end para que esas consultas abran videos y sitios web en nuestra raspberry pi.

La configuración restante

Dataplicity -> servidor Nodejs -> código

¿Por qué necesitamos dataplicity? porque Google Home se conecta a webhooks que están accesibles a través de Internet. Aunque nuestro GHome está conectado a la red local, las consultas provienen del servicio en la nube de Google y, por lo tanto, es necesario migrar nuestro servidor a Internet. En lugar de ese dolor de cabeza, podemos usar los servicios de dataplicity para colocar nuestra raspberry pi en Internet con facilidad.

Primero, conéctese a la raspberry pi [directamente con HDMI o incluso con SSh] Obtenga el último tiempo de ejecución de nodejs desde el siguiente comando en la terminal.

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

Luego instálelo usando

sudo apt-get install -y nodejs

Luego crea un nuevo archivo

nano webserver.js

Paso 8:

Luego, inserte el siguiente código en el archivo

Aquí, para la demostración, estoy usando solo dos sitios web (google, youtube). Se puede editar el código y cambiarlo en consecuencia.

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", función (error, stdout, stderr) {console.log ("stdout:" + stdout); console.log ("stderr:" + stderr); if (error! == null) {console.log ("exec errror:" + error);}}); return res.end ();}); app.listen (80);

Paso 9:

Imagen
Imagen

El código anterior fue escrito solo para explicar el concepto. Usé el navegador Midori en el código ya que el cromo no funciona con comandos remotos. También podemos usar Firefox. [Tenemos que instalar body-parser, módulos express con ayuda de npm antes de escribir el código]

Recuerde que solo debemos escuchar en el puerto 80 ya que dataplicity solo puede reenviar el puerto 80 de la raspberry pi.

Ahora necesitamos configurar Dataplicity

Vaya al sitio web de Dataplicity, cree su cuenta y siga las instrucciones para agregar la Raspberry Pi al tablero.

Paso 10:

Imagen
Imagen

Después de eso, abra raspberry pi de la lista de dispositivos y seleccione wormhole para obtener una dirección IP única para la raspberry pi en la que podemos implementar nuestro servidor de nodo.

Copie la dirección IP al portapapeles.

Paso 11:

Imagen
Imagen

Ahora ejecuta el código desde la terminal raspberry pi

sudo nodo webserver.js

Si muestra algún error sobre la visualización o sobre los protocolos…. ejecutar

sudo xhost +

Ahora regrese al flujo de diálogo y haga clic en la sección de cumplimiento

Paso 12:

Imagen
Imagen

Ingrese la dirección IP o la URL de dataplicity en el espacio anterior.

Paso 13:

Imagen
Imagen

Finalmente, vaya a la sección de intenciones y habilite la llamada de webhook desde la pestaña de cumplimiento.

¡Eso es todo! ¡Ahora vuelve a tu página de inicio de Google y comprueba cómo funciona!

Hasta la próxima, Happy Hacking:)

Recomendado: