Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Amazon Alexa Steuern eines Chromecast

[OUTDATED] Mit Amazon Alexa, über ein Amazon Echo, steuern Sie einen Google Chromecast über einen Raspberry Pi, der ein Python-Skript ausführt.

Geschichte

Das Unmögliche tun:Google Chromecast und Amazon Alexa

Seit der Veröffentlichung des Amazon Echo haben die Leute nach einem gefragt.

— Dies ist veraltet. Bitte lesen Sie die neue Anleitung auf  Github  —

Kann ich Chromecast mit Echo steuern?

gefragter Reddit-Nutzer MichaelFR85

Funktionsanfrage:Chromecast-Unterstützung

Vorgeschlagener Reddit-Nutzer-Phasefx

Aber jetzt warte nicht länger!

Chromecast und Alexa arbeiten jetzt plattformübergreifend zusammen, um Chromecasts mit einem Raspberry Pi und etwas Python zu steuern. Besprochen bei „AlexaDev Tuesday:Innovative Alexa Skills Spotlight“ von http://www.lovemyecho.com und verehrt als

[eine der] innovativsten Alexa-Fähigkeiten, die von Alexa-Entwicklern entwickelt wurden. Es gibt viel zu lernen aus der Art und Weise, wie diese Entwickler Codierungs- und technische Herausforderungen gelöst haben, um etwas Außergewöhnliches zu entwickeln.

Mit Raspbian, Python und Chromecast mit Echo-Unterstützung beginnen wir unsere Reise durch den Beitritt zu dieser verbotenen Liebe.

Warum Raspberry Pi?

Die einfache Antwort lautet „nicht nur Raspberry Pi“. Sie können dieses Skript auf jeder fähigen Hardware ausführen und die Ergebnisse sind dieselben. Ich habe mich jedoch wegen seiner Kompatibilität sowie seiner Größe und Portabilität für den Raspberry Pi entschieden.

Wie es hergestellt wird:

All dies wurde in Python geschrieben. Ich habe das Modul jedoch verwendet, um mich bei der Verbindung mit den Chromecasts zu unterstützen, und das Modul, um die Verbindung zu Datenbanken zu unterstützen. Ich habe das „Alexa Color Expert“-Beispiel als Grundlage für den Skill verwendet und alle Funktionen von Grund auf neu geschrieben. Der Rest ist von Grund auf neu.

So funktioniert es:

  • Der Benutzer startet die Sitzung, indem er Alexa fragt "Chromecast starten/fragen/ausführen"
  • Benutzer teilt Alexa-Befehl mit (Standardantwort ist, YouTube zu durchsuchen)
  • Anfrage wird analysiert und dann an die MySQL-Datenbank gesendet, die auf Raspberry Pi gehostet wird
  • Python-Skript (auch auf Rasp. Pi gehostet), liest dann die Datenbank und führt den entsprechenden Befehl aus
  • Zeile wird gelöscht, nachdem der Befehl abgeschlossen ist
  • Fertig!

Schritt 1:Einrichten Ihres Raspberry Pi für die Portweiterleitung

Bevor wir beginnen:

  • Stellen Sie sicher, dass Ihr Raspberry Pi eingeschaltet und mit dem Internet verbunden ist
  • Finden Sie die IP-Adresse Ihres Raspberry Pi

Auf Ihrem Raspberry Pi oder einem anderen PC:

  • Starten Sie Ihr bevorzugtes Terminal (cmd oder Terminal)
  • Finden Sie Ihr Standard-Gateway mit ifconfig (Linux) oder ipconfig (Windows)

Beispiel für die Ausgabe eines ipconfig-Befehls

Besuchen Sie Ihr Standard-Gateway, um auf Ihren Router zuzugreifen.

Beispiel für eine Router-Anmeldeseite

Weitere Informationen zur Portweiterleitung Ihres spezifischen Routers finden Sie hier: http://portforward.com/

In diesem Fall werden wir Ports 3306 (der Standardport für MySQL), Port 80 (für PHPMyAdmin) und Port 22 (für SSH) weiterleiten

BITTE BEACHTEN:Dies öffnet Ihr Netzwerk und Raspberry Pi für den Zugriff durch andere Personen und birgt Risiken für Ihre Daten.

Schritt 2:MySQL einrichten

Ressource: Tutorial:MySQL-Server oder Raspberry Pi installieren

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

Schritt 3:PhpMyAdmin einrichten

Eine Anleitung zum Einrichten von PHPMyAdmin finden Sie hier

Verwenden Sie die mitgelieferte build.sql, um die erforderliche Datenbank zu erstellen.

HINWEIS:Stellen Sie sicher, dass Ihr Nutzer von anderen Standorten aus erreichbar ist. Sehen Sie sich an, wie das geht  hier.

Schritt 4:Bearbeiten Ihrer Dateien

Zu Beginn definieren wir einige Begriffe, die wir ersetzen werden:

  • RASP_PI_DNS – Bezieht sich auf die MySQL Server-URL, die wir verwenden werden.
  • MYSQL_USER – Bezieht sich auf Ihren MySQL-Benutzernamen
  • MYSQL_PASS – Bezieht sich auf Ihr MySQL-Passwort
  • DB_NAME – Bezieht sich auf Ihren MySQL-Datenbanknamen
  • CHROMECAST_NAME – Der Name Ihres Chromecasts (oder des Chromecasts, zu dem Sie eine Verbindung herstellen möchten)

Ersetzen Sie alle Vorkommen dieser Zeichenfolgen in index.py und raspberry.py durch die entsprechenden Werte.

Schritt 5:Hochladen auf Lambda

Zipkomprimieren Sie alle Dateien und Ordner AUSSER  SpeechAssets und raspberry.py, und melden Sie sich dann bei Ihrem AWS-Dashboard an.

Beispiel für den AWS-Dashboard-Abschnitt

Klicken Sie auf Lambda.

Beispiel für einen Lambda-Abschnitt

Klicken Sie in Lambda auf "Neue Lambda-Funktion erstellen".

Klicken Sie auf "Überspringen", um die Blaupause auszuwählen.

Geben Sie als Funktionsnamen „alexaChromecast“ ein, stellen Sie zur Laufzeit sicher, dass „Python 2.7“ ausgewählt ist.

Wählen Sie als Code-Eingabetyp "ZIP-Datei hochladen".

Klicken Sie auf die Schaltfläche Hochladen und laden Sie Ihre Zip-Datei hoch.

Beispiel für die Einrichtung der Lambda-Funktion

Setzen Sie Ihren Handler auf index.lambda_handler, Ihre Rolle auf grundlegende Ausführung und Ihr Timeout auf 30 Sekunden.

Schritt 6:Skill in der Amazon Developer Console einrichten

Melden Sie sich bei der Amazon Developer Console unter developer.amazon.com an

Klicke auf die Registerkarte "Alexa".

Klicke auf "Erste Schritte" für das Alexa Skills Kit.

Klicken Sie auf die Schaltfläche "Neuen Skill hinzufügen", um einen neuen Skill hinzuzufügen.

Lassen Sie den Fertigkeitstyp unverändert. Geben Sie für den Namen der App „Alexa Chromecast“ und für den Aufrufnamen „Chromecast“ ein

Klicken Sie auf die Schaltfläche "Weiter" in der unteren rechten Ecke der Seite.

Verwenden Sie für das Intent-Schema die Datei intentSchema.json, die sich im SpeechAssets-Ordner des Repositorys befindet, und fügen Sie den Inhalt ein. Machen Sie dasselbe für die Beispieläußerungen mit sample-utterances.txt.

Klicken Sie auf die Schaltfläche Weiter.

In das Feld "Endpunkt" fügen Sie Ihren "Lambda ARN" ein. Der Lambda ARN befindet sich auf der Funktionsseite in der oberen rechten Ecke.

Wählen Sie "Nein" für die Kontoverknüpfung.

Schritt 7:raspberry.py einrichten

Verschieben Sie raspberry.py auf Ihren Raspberry Pi, indem Sie die Datei auf ein Flash-Laufwerk kopieren oder über das hier verfügbare WinSCP kopieren.

Raspberry.py ausführen

Schritt 8:(OPTIONAL) Cron-Job einrichten

Erstellen Sie eine Bash-Datei, die raspberry.py ausführt, und speichern Sie sie als "launcher.sh".

Füge den folgenden Code in launcher.sh ein und ersetze ihn durch den Speicherort von raspberry.py

sudo python3 /location/to/raspberry.py

Um herauszufinden, wie Sie den Cronjob so einrichten, dass Launcher.sh beim Booten ausgeführt wird, folgen Sie der Anleitung hier.

Verwenden Sie jetzt den Test-Tab, um Ihre neue Fähigkeit auszuprobieren! Wenn Sie alles richtig gemacht haben, sollten Sie Ihren Chromecast mit Amazon Alexa steuern können!

Video:

VUI-Schnittstellendiagramm:

Lesen Sie mehr Details:Amazon Alexa steuert einen Chromecast


Herstellungsprozess

  1. Temperaturüberwachung auf dem Raspberry Pi
  2. Raspberry Pi 2 Wetterstation
  3. Überwachen der Temperatur mit Raspberry Pi
  4. Himbeer-Pi-Ball-Tracking
  5. Raspberry Pi Universal-Fernbedienung
  6. Bewegungssensor mit Raspberry Pi
  7. Ein Stück Himbeer-Pi
  8. Cycle Chaser
  9. Raspberry Pi Bodenfeuchtigkeitssensor
  10. Himbeer-Pi-Dieb-Detektor