Table des matières:
- Étape 1:
- Étape 2:
- Étape 3:
- Étape 4:
- Étape 5:
- Étape 6:
- Étape 7:
- Étape 8:
- Étape 9:
- Étape 10:
- Étape 11:
- Étape 12:
- Étape 13:
Vidéo: Obtenez un écran pour votre Google Home à l'aide de Raspberry Pi et Dialogflow (alternative à Chromecast) : 13 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Depuis que j'ai acheté ma maison Google, je voulais contrôler mes appareils à la maison à l'aide de commandes vocales. Cela fonctionne très bien à tous points de vue, mais je me sentais mal pour sa fonction vidéo. Nous ne pouvons regarder Youtube et Netflix que si nous avons un appareil Chromecast ou un téléviseur avec fonction Chromecast intégrée. J'ai un Raspberry Pi avec moi, j'ai donc pensé à l'utiliser pour lire mes vidéos et films préférés avec des commandes vocales.
Étape 1:
Pour cela, j'ai fait la configuration suivante
Google Home -> Dialogflow -> Adresse IP Rpi sur Dataplicity -> Nodejs Server -> Code pour ouvrir les URL
Dialogflow est une technologie d'interaction homme-machine de Google basée sur des conversations en langage naturel. Avec l'aide de cela, nous pouvons développer nos propres conversations ou tâches à donner en entrée à Google home. Cela fonctionne comme suit
Intention [Saisie, question, conversation, commande….] -> Google Home -> action [réponse]
Ici, la réponse peut être soit une simple conversation, soit des données récupérées à partir d'un webhook, que nous allons faire à l'aide du serveur Rpi. Alors, allez sur le site Web de Dialogflow et créez un compte et un nouvel agent.
Créez ensuite une nouvelle intention….
Étape 2:
Saisissez ensuite les phrases d'entraînement. Ce sont les commandes que les utilisateurs énoncent lorsqu'ils tentent d'accéder à une tâche spécifique à partir de Google Home.
Étape 3:
Ici, le mot « site Web » peut être remplacé par quelque chose comme youtube, Netflix, amazon prime, etc. Ainsi, ce mot agit comme une variable et lorsque vous sélectionnez le mot site Web [à l'aide de la souris], vous obtenez ce qui suit
Étape 4:
Dans le menu déroulant, sélectionnez « @sys.any » et appuyez sur Entrée.
Étape 5:
Saisissez ensuite le même nom de paramètre dans la section actions. Les valeurs mentionnées dans cette section sont envoyées au webhook sous forme de fichier JSON, que nous devons récupérer sur le serveur pour savoir quel site Web l'utilisateur a appelé.
La valeur d'une variable est récupérée en utilisant '$variable_name'
Étape 6:
Ajoutez la réponse que nous devons entendre après avoir dit la commande à Google Home. Ensuite, enregistrez l'intention. Si nécessaire, définissez cette intention comme la fin de la conversation.
Étape 7:
Nous allons maintenant configurer notre service back-end pour que ces requêtes ouvrent des vidéos et des sites Web sur notre raspberry pi.
La configuration restante
Dataplicity -> serveur Nodejs -> code
Pourquoi avons-nous besoin de dataplicity ? car Google Home se connecte aux webhooks qui sont accessibles sur Internet. Même si notre GHome est connecté au réseau local, les requêtes proviennent du service cloud de Google et, par conséquent, il est nécessaire de porter notre serveur sur Internet. Au lieu de ce casse-tête, nous pouvons utiliser les services de dataplicity pour placer facilement notre raspberry pi sur Internet.
Tout d'abord, connectez-vous au raspberry pi [directement avec HDMI ou même avec SSh] Obtenez le dernier runtime nodejs à partir de la commande suivante dans le terminal.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Ensuite, installez-le en utilisant
sudo apt-get install -y nodejs
Créez ensuite un nouveau fichier
nano webserver.js
Étape 8:
Ensuite, insérez le code ci-dessous dans le fichier
Ici, pour la démonstration, je n'utilise que deux sites (google, youtube). On peut éditer le code et changer en conséquence.
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 (error !== null) { console.log("exec error: " + error); } }); return res.end(); }); app.écouter (80);
Étape 9:
Le code ci-dessus a été écrit uniquement pour expliquer le concept. J'ai utilisé le navigateur Midori dans le code car le chrome ne fonctionne pas avec les commandes à distance. Nous pouvons également utiliser Firefox. [Nous devons installer body-parser, des modules express à l'aide de npm avant d'écrire le code]
N'oubliez pas que nous ne devons écouter que sur le port 80 car dataplicity ne peut transmettre que le port 80 du raspberry pi.
Maintenant, nous devons configurer Dataplicity
Accédez au site Web de Dataplicity et créez votre compte et suivez les instructions pour ajouter le raspberry pi au tableau de bord.
Étape 10:
Après cela, ouvrez raspberry pi dans la liste des appareils et sélectionnez wormhole pour obtenir une adresse IP unique pour le raspberry pi sur laquelle nous pouvons déployer notre serveur de nœuds.
Copiez l'adresse IP dans le presse-papiers.
Étape 11:
Exécutez maintenant le code depuis le terminal raspberry pi
sudo node webserver.js
S'il affiche une erreur sur l'affichage ou sur les protocoles…. exécuter
sudo xhost +
Revenez maintenant au flux de dialogue et cliquez sur la section d'exécution
Étape 12:
Entrez l'adresse IP ou l'URL de dataplicity dans l'espace ci-dessus.
Étape 13:
Enfin, accédez à la section des intentions et activez l'appel de webhook à partir de l'onglet d'exécution.
C'est ça! Maintenant, retournez dans votre google home et vérifiez comment cela fonctionne !
A la prochaine, Happy Hacking:)
Conseillé:
Obtenez une sortie HDMI de votre Rock64 à l'aide d'Armbian : 15 étapes
Obtenez une sortie HDMI de votre Rock64 à l'aide d'Armbian : vous êtes probablement ici après que Google ait recherché "Rock64 sans sortie HDMI" vous a orienté dans cette direction. Ou vous vous demandez peut-être comment utiliser l'écran 16 x 2 fourni avec un achat qui semblait trop beau pour être vrai : "Pour 10 $ à 20 $, un Sing
ESP8266 Surveillance de la température Nodemcu à l'aide de DHT11 sur un serveur Web local - Obtenez la température et l'humidité de la pièce sur votre navigateur : 6 étapes
ESP8266 Surveillance de la température Nodemcu à l'aide de DHT11 sur un serveur Web local | Obtenez la température et l'humidité de la pièce sur votre navigateur : Salut les gars, aujourd'hui, nous allons faire une analyse de l'humidité et de l'humidité; système de surveillance de la température utilisant ESP 8266 NODEMCU & Capteur de température DHT11. La température et l'humidité seront obtenues à partir du capteur DHT11 et de l'amp; il peut être vu sur un navigateur quelle page Web sera gérée
Écran LCD I2C/IIC - Utilisez un écran LCD SPI vers l'écran LCD I2C à l'aide du module SPI vers IIC avec Arduino : 5 étapes
Écran LCD I2C/IIC | Utilisez un écran LCD SPI sur l'écran LCD I2C à l'aide du module SPI vers IIC avec Arduino : Salut les gars, car un SPI LCD 1602 normal a trop de fils à connecter, il est donc très difficile de l'interfacer avec arduino, mais il existe un module disponible sur le marché qui peut convertir l'affichage SPI en affichage IIC, vous n'avez donc besoin de connecter que 4 fils
Obtenez un capteur de poids suspendu à une balance à bagages pour votre projet Arduino : 4 étapes
Obtenez un capteur de poids suspendu sur une balance à bagages pour votre projet Arduino : dans ce tutoriel, je vous montre comment obtenir un capteur de poids suspendu pour un projet Arduino à partir d'une balance à bagages/pêche commune bon marché et du module ADC HX711 souvent utilisé. Contexte : Pour un projet, j'avais besoin d'un capteur pour mesurer un certain poids qui est ha
Obtenez un album de votre Ipod dans votre iTunes ! : 5 étapes
Obtenez un album de votre iPod dans votre iTunes ! : J'ai remarqué que beaucoup de gens ont l'idée que vous devez télécharger un tout nouveau programme, ou fouiller dans les noms de fichiers encodés, pour accéder à la musique dans votre iPod et la mettre dans votre PC. C'est en fait assez facile, et vous pouvez même trouver un certain albu