Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Amazon Alexa Contrôle d'un Chromecast

[PÉRIMÉ] Avoir Amazon Alexa, via un Amazon Echo, contrôlez un Google Chromecast via un Raspberry Pi exécutant un script Python.

Histoire

Faire l'impossible :Google Chromecast et Amazon Alexa

Depuis la sortie d'Amazon Echo, les gens demandent une chose.

— Ceci est obsolète, veuillez consulter les nouvelles instructions sur  Github  —

Puis-je contrôler Chromecast avec Echo ?

demandé à l'utilisateur de reddit MichaelFR85

demande de fonctionnalité :prise en charge de Chromecast

utilisateur de reddit suggéré phasefx

Mais maintenant, n'attendez plus !

Chromecast et Alexa travaillent désormais ensemble dans une tentative multiplateforme de contrôler les Chromecasts à l'aide d'un Raspberry Pi et d'un python. Parlé sur "AlexaDev Tuesday :Innovative Alexa Skills Spotlight" de http://www.lovemyecho.com et vénéré comme

[l'une des] compétences Alexa les plus innovantes créées par les développeurs Alexa. Il y a beaucoup à apprendre de la façon dont ces développeurs ont résolu les problèmes de codage et techniques pour créer quelque chose d'extraordinaire.

En utilisant Raspbian, Python et Chromecast avec Echo Support, commençons notre voyage pour rejoindre cet amour interdit.

Pourquoi Raspberry Pi ?

La réponse simple est "pas seulement Raspberry Pi". Vous pouvez exécuter ce script sur n'importe quel matériel compatible et les résultats seront les mêmes. Cependant, j'ai choisi le Raspberry Pi en raison de sa compatibilité, ainsi que de sa taille et de sa portabilité.

Comment c'est fait :

Tout cela a été écrit en Python. Cependant, j'ai utilisé le module pour m'aider à me connecter aux Chromecasts et le module pour m'aider à me connecter aux bases de données. J'ai utilisé l'exemple « Alexa Color Expert » comme base de la compétence, en écrivant à partir de zéro toutes les fonctions. Le reste vient de zéro.

Comment ça marche :

  • L'utilisateur démarre la session en demandant à Alexa "Lancer/Demander/Exécuter Chromecast"
  • L'utilisateur indique la commande Alexa (la réponse par défaut consiste à rechercher sur YouTube)
  • La demande est analysée, puis envoyée à la base de données MySQL hébergée sur Raspberry Pi
  • Script Python (également hébergé sur Rasp. Pi), puis lit la base de données et exécute la commande correspondante
  • La ligne est supprimée une fois la commande terminée
  • Terminé !

Étape 1 :Configuration de votre Raspberry Pi pour la redirection de port

Avant de commencer :

  • Assurez-vous que votre Raspberry Pi est allumé et connecté à Internet
  • Trouvez l'adresse IP de votre Raspberry Pi

Sur votre Raspberry Pi ou un autre PC :

  • Lancez votre terminal préféré (cmd ou Terminal)
  • Trouvez votre passerelle par défaut en utilisant ifconfig (Linux) ou ipconfig (Windows)

Exemple de sortie d'une commande ipconfig

Visitez votre passerelle par défaut pour accéder à votre routeur.

Exemple de page de connexion de routeur

Pour plus d'informations sur la redirection de port de votre routeur spécifique, regardez ici : http://portforward.com/

Dans ce cas, nous allons transférer les ports 3306 (le port par défaut pour MySQL), le port 80 (pour PHPMyAdmin) et le port 22 (pour SSH)

VEUILLEZ NOTER :Cela ouvre votre réseau et Raspberry Pi à d'autres personnes, ce qui entraîne des risques pour vos informations.

Étape 2 :Configuration de mysql

Ressource : Tutoriel :Installer le serveur MySQL ou Raspberry Pi

sudo apt-get install mysql-server –fix-missing

Étape 3 :Configuration de PhpMyAdmin

Vous pouvez consulter un tutoriel sur la configuration de PHPMyAdmin ici

Utilisez le build.sql inclus pour créer la base de données requise.

REMARQUE :Assurez-vous que votre utilisateur est accessible depuis d'autres emplacements, vous pouvez voir comment faire  ici.

Étape 4 : Modification de vos fichiers

Pour commencer, définissons quelques termes que nous remplacerons :

  • RASP_PI_DNS - Fait référence à l'URL du serveur MySQL que nous utiliserons.
  • MYSQL_USER - Fait référence à votre nom d'utilisateur MySQL
  • MYSQL_PASS - Fait référence à votre mot de passe MySQL
  • DB_NAME - Fait référence au nom de votre base de données MySQL
  • CHROMECAST_NAME :le nom de votre Chromecast (ou le Chromecast auquel vous souhaitez vous connecter)

Remplacez toutes les occurrences de ces chaînes dans index.py et raspberry.py par leurs valeurs correspondantes.

Étape 5 :Téléchargement vers Lambda

Zippez tous les fichiers et dossiers SAUF  SpeechAssets et raspberry.py, puis connectez-vous à votre tableau de bord AWS.

Exemple de section du tableau de bord AWS

Cliquez sur Lambda.

Exemple de section Lambda

Dans Lambda, cliquez sur « Créer une nouvelle fonction Lambda ».

Cliquez sur « Ignorer » pour la sélection du plan.

Pour le nom de votre fonction, tapez "alexaChromecast", pour l'exécution, assurez-vous que "Python 2.7" est sélectionné.

Pour le type d'entrée Code, sélectionnez « Télécharger un fichier Zip ».

Cliquez sur le bouton Télécharger et téléchargez votre fichier zip.

Exemple de configuration de la fonction Lambda

Définissez votre gestionnaire sur index.lambda_handler, votre rôle sur l'exécution de base et votre délai d'attente sur 30 secondes.

Étape 6 :Configuration de la compétence dans la console développeur Amazon

Connectez-vous à la console développeur d'Amazon sur developer.amazon.com

Cliquez sur l'onglet "Alexa".

Cliquez sur "Commencer" pour le kit de compétences Alexa.

Cliquez sur le bouton « Ajouter une nouvelle compétence » pour ajouter une nouvelle compétence.

Laissez le type de compétence tel quel. Pour le nom de l'application, saisissez « Alexa Chromecast » et pour le nom d'appel, saisissez « Chromecast »

Cliquez sur le bouton Suivant dans le coin inférieur droit de la page.

Pour le schéma d'intention, utilisez le intentSchema.json situé dans le dossier speechAssets du référentiel et collez son contenu. Faites de même pour les exemples d'énoncés en utilisant sample-utterances.txt.

Cliquez sur le bouton Suivant.

Dans la case "End Point", collez votre "Lambda ARN", L'ARN Lambda se trouve sur la page de fonction dans le coin supérieur droit.

Sélectionnez « Non » pour la liaison de compte.

Étape 7 :Configurer raspberry.py

Déplacez raspberry.py sur votre Raspberry Pi en copiant le fichier sur une clé USB, ou en le copiant via WinSCP disponible ici.

Exécutez raspberry.py

Étape 8 :(FACULTATIF) Configuration de la tâche Cron

Créez un fichier bash qui exécutera raspberry.py et enregistrez-le sous le nom « launcher.sh ».

Mettez le code suivant dans launcher.sh, en le remplaçant par l'emplacement de raspberry.py

sudo python3 /location/to/raspberry.py

Pour savoir comment configurer la tâche cron pour exécuter launcher.sh au démarrage, vous pouvez suivre les instructions situées ici.

Maintenant, utilisez l'onglet Test pour essayer votre nouvelle compétence ! Si vous avez tout fait correctement, vous devriez pouvoir contrôler votre Chromecast à l'aide d'Amazon Alexa !

Vidéo :

Diagramme d'interface VUI :

En savoir plus sur les détails :Amazon Alexa contrôlant un Chromecast


Processus de fabrication

  1. Surveillance de la température sur le Raspberry Pi
  2. Station météo Raspberry Pi 2
  3. Contrôle de la température avec Raspberry Pi
  4. Suivi de la boule Raspberry Pi
  5. Télécommande universelle Raspberry Pi
  6. Capteur de mouvement utilisant Raspberry Pi
  7. Une tranche de framboise Pi
  8. Cycle Chaser
  9. Capteur d'humidité du sol Raspberry Pi