Inhaltsverzeichnis:
- Schritt 1: Alexa Skills einrichten
- Schritt 2: AWS Lambda Server Python-Skript
- Schritt 3:
- Schritt 4: Festlegen des Alexa Skills Kit-Links zu AWS Lambda
- Schritt 5: Arduino NANO 3V3-Konvertierung
- Schritt 6: NANO-Code
- Schritt 7: ESP8266
- Schritt 8: Netzwerkeinrichtung
- Schritt 9: Alexa Open Clicker TV Pause
Video: Alexa Sprachsteuerung TV-Fernbedienung ESP8266 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Verliert jemand in Ihrem Haus die Fernbedienung, gehen Sie in einen leeren Raum und sehen, dass der Fernseher dröhnt. Batterien beginnen zu versagen und keine Kontrolle von der Rückseite des Raumes. Jetzt können Sie Ihren Fernseher, DVR und alles mit IR-Steuerung steuern, für das Sie das IR-Signal erfassen können. Ich habe dieses System entwickelt, um meinen SKY DVR mit einer einfachen Sprachschnittstelle zu steuern.
Erforderliche Hardware:
- Amazon Echo oder Dot
- Ein WLAN-Router, der eine Portweiterleitung durchführen kann (mein Dienstanbieter hat dies für mich getan)
- Ein Arduino NANO umgebaut auf 3V3
- ESP8266-01 oder ähnlich
- IR-Sendermodul oder -Schaltung
- IR-Empfängermodul, wenn Sie Codes erfassen möchten.
Erforderliche Software und Dienste:
- Arduino IDE, ich habe 1.6.11 verwendet
- Amazon Alexa Skills-Konto (kostenlos)
- Amazon AWS-Konto (Kostenloses Kontingent, erfordert jedoch eine Kreditkarte zur Kontoeröffnung) oder alternativer Server.
Schritt 1: Alexa Skills einrichten
Das Alexas Skills Kit nimmt den Sprachbefehl und filtert ihn anhand einer Liste von 'Werten'
Einmal registriert:
Wählen Sie in der Amazon Developer Console die Registerkarte Alexa > Alexa Skills Kit [Erste Schritte]
[Neue Fähigkeit hinzufügen]
Fertigkeitstyp: Benutzerdefiniertes Interaktionsmodell
Sprache: Wählen Sie die richtige Sprache aus, wenn diese auf Englisch (US) eingestellt wäre, würde sie nicht reagieren!
Name: Dies ist jetzt nicht wichtig, da wir nicht veröffentlichen.
Aufrufname:, wählen Sie einen kurzen Namen, das ist das Wort, das zum Öffnen der App verwendet wird.
[NÄCHSTE]
Intent-Schema, Code einfügen
Benutzerdefinierte Slot-Typen {Add Slot-Typ], geben Sie EFFECT_ON_TV ein
in Slot-Werte, Code einfügen
Beispieläußerungen, put, TVCommandIntent tv {TVAction}
[SAVE], auf der nächsten Skills-Seite müssen wir einen Link zu dem Code hinzufügen, den wir ausführen werden, wenn die "Intent" entweder durch das App-Startwort "clicker" oder danach durch "tv {slot value}" ausgelöst wird..
Wir werden zu Alexa zurückkehren, nachdem wir das Python-Skript des Lambda-Servers eingerichtet haben.
Schritt 2: AWS Lambda Server Python-Skript
Melden Sie sich für das kostenlose Kontingent von AWS an. Ich hatte Bedenken, dass dies mich echtes Geld kosten könnte, aber nachdem ich es eine Weile benutzt und Foren gelesen habe, sind die Nutzungslimits für den persönlichen Gebrauch und die Entwicklung so hoch, dass es nie eine Ladestation erreichen sollte. Es gibt eine Alternative, um Ihren eigenen HTTPS-Server zu verwenden, und vielleicht ist dies etwas, das der ESP8266 tun könnte, ein weiteres anweisbares!
Dies ist der Code, der ausgeführt wird, wenn der Aufrufname ausgesprochen wird (zB „Alexa open clicker“) und das Zauberwort von Alexa erhält. Sobald die App gestartet ist, müssen Sie nur "tv play, tv jump five" sagen und Alexa sendet "play", "jump 5" an dieses Python-Skript. Die App läuft ab, wenn nach einiger Zeit keine Antworten mehr eingehen.
Wählen Sie in AWS Services zuerst Ihren Standort aus, oben rechts gibt es eine Option.
für die USA wählen Sie N Virginia, für die EU wählen Sie Irland.
Wählen Sie Lambda aus der Überschrift Compute aus.
[Erstellen einer Lambda-Funktion]
[Leerfunktion]
Trigger konfigurieren: Klicken Sie auf das gepunktete Feld und wählen Sie Alexa Skills Kit
[NÄCHSTE]
Funktion konfigurieren
Nenne was du willst
Beschreibung, bis zu Ihnen
Runtine: Python 2.7
Python-Code einfügen,
Im Code muss die URL-HTTP-Adresse später in Ihre eigene externe IP-Adresse geändert werden
link="https://185.255.255.255:777/text?data=" + favorite_color
unten auf dem Bildschirm ist eine ROLLE, klicken Sie auf die Registerkarte und wählen Sie Benutzerdefinierte Rolle auswählen
Dadurch wird ein neuer Bildschirm geöffnet und auf Zulassen geklickt. Der Bildschirm kehrt zum Bildschirm Funktion konfigurieren zurück, wobei die Lamda-Basisausführung als Vorhandene Rolle ausgewählt ist.
[WEITER] die Überprüfung, klicken Sie auf [Funktion erstellen] und es sollte kompilieren und Ihnen eine ARN-Nummer geben. KOPIEREN Sie diesen Code und wir werden ihn in das Alexa Skills Kit aufnehmen.
Schritt 3:
Schritt 4: Festlegen des Alexa Skills Kit-Links zu AWS Lambda
Wählen Sie im Alexa Skills Kit die Konfigurationsseite mit der Überschrift Globale Felder und wählen Sie AWS Lambda und Ihre Region aus und fügen Sie den ARN-Code in das Feld [NEXT] ein. Aktivieren Sie im Test die Option AKTIVIERT.
WIR sind hier vorerst fertig, jetzt für etwas Hardware.
Schritt 5: Arduino NANO 3V3-Konvertierung
Der ESP8266 läuft von 3v3, so dass Sie ihn entweder über einen externen Regler betreiben oder einen Nano konvertieren. Ich habe einen Klon-Nano mit einem CH340-USB-Chip verwendet. Ich habe zwei verschiedene PCB-Layouts, die ich kenne, aber hoffentlich deckt dies die meisten Layouts ab.
Wir müssen den 5V-Regler durch einen pinkompatiblen 3v3-Regler ersetzen, 1117-3. Leiten Sie dann die 5V von der USB-Buchse nur zum Regler und schließen Sie alles andere an seinen Ausgang an. glücklicherweise kann dies erreicht werden, indem die Eingangsdiode entfernt wird, die den Regler ersetzt und einen Draht von der Eingangsseite der Diode zum Vin auf der Nanoplatine hinzufügt.
Überprüfen Sie, ob Sie den Nano nach der Konvertierung programmieren können.
Schritt 6: NANO-Code
Dies verwendete Codes für meine SKY UK-Fernbedienung, es könnte modellspezifisch sein und es lohnt sich zu überprüfen, ob Ihre Codes in einer separaten Skizze funktionieren, die nicht mit dem esp8266 verknüpft ist.
Ich habe die IRremote-Bibliothek von shirriff Version 2.0.1 verwendet
Verwenden Sie das IRrecord-Beispiel, um Fernbefehle zu erfassen, für die ein IR-Empfängermodul erforderlich ist, oder finden Sie Ihre Codes im Internet? Ich gehe hier nicht darauf ein, aber hier können Sie wählen, was Sie kontrollieren und wie.
Schließen Sie einen bei ebay erhältlichen IR-Sender an oder bauen Sie einen. Sie sollten eine 850-nm-IR-LED verwenden, da diese in Empfängern am häufigsten verwendet werden. Die IR-Bibliothek verwendet D3 als TX-Pin
Das Alexa-Wort wird an den Nano weitergegeben, also von hier aus sein Nano mit Sprachsteuerung.
Schritt 7: ESP8266
Es gibt viele ESP8266-Module, ich habe eines verwendet, das ich unter einem Mikroskop verdrahten musste. Das ESP8266-01 hat einen 2x4-Header und alle Pins, die Sie brauchen, und es ist billig. Viele Beispiele im Web,. Meine Trip-Ups, GPIO_0 muss beim Einschalten mit Masse verbunden sein (kann dann gefloatet werden) beim Programmieren, es ist ein Config-Pin, der intern hochgezogen wird. Nach der Programmierung GPIO_0 schweben lassen und wieder einschalten. CHPD verbindet sich permanent mit V+.
Der Board-Manager in arduino 1.6.11 hat nicht den Link esp8622, Fügen Sie in Arduino IDEfile> Preferences> zusätzliche Board Manager URLs hinzu:
arduino.esp8266.com/stable/package_esp8266c…
dann gehe zum Board Manager und finde das esp8266-Paket. Dies sollte Ihnen nun eine große Liste von ESP8266-Boards anzeigen, wählen Sie Tools>Board>ESP8266 Generic Module. Mit einem USB-zu-Uart-Modul können Sie jetzt den ESP-Teil mit esp8266_server_text programmieren. Stromversorgung mit 3V3, TX-RX, RX-TX und Gnd verbinden.
Sie müssen Ihre Netzwerk-SSID und Ihr Passwort in das Skript eingeben und den Port, den Sie für die Portweiterleitung festlegen, z. B. 777.
Sie können den Code ausführen, indem Sie den ESP erneut einschalten, während er mit dem USB-zu-Uart-Konverter verbunden ist, und das serielle Arduino-Fenster (9600 Baud) sollte die lokale IP-Adresse des ESP-Moduls anzeigen. Geben Sie dies in den Code ein und programmieren Sie es neu.
Schritt 8: Netzwerkeinrichtung
Damit der Lambda-URL-Aufruf eine Verbindung zum ESP-HTTP-Server herstellen kann, müssen wir Ihren Router auf Portweiterleitung einstellen. Ich habe meine externe IP-Adresse von https://www.whatsmyip.org/ erhalten, ich bin auf einer Mikrowellenverbindung, also hat mein Provider den Router und ich musste eine Portweiterleitung von ihnen anfordern. Ich musste die IP-Adresse des ESP8266 in meinem Netzwerk und den von mir gewählten Port angeben, zB 777. Die externe IP-Adresse muss in das Lambda-Python-Skript eingegeben werden und Ihre lokale ESP-Adresse wird angezeigt, wenn Sie den ESP8266-Code ausführen der USB-zu-Uart-Link.
Das ESP-Modul an der USB-zu-Uart-Verbindung sollte auf einem Terminal das eingehende Wort von Lambda anzeigen.
Verbinden Sie das ESP mit dem Nano wie gezeigt 3v3, gnd und TX mit Nano D2 Soft Serial. Wenn Sie das Nano auf USB zu einer seriellen Kommunikationsanzeige auf dem EPC haben, sollte es anzeigen, was es vom ESP empfängt.
Wenn der ESP nicht mit dem Netzwerk verbunden ist oder nicht auf den URL-Aufruf von lambda antwortet, wird das Lambda-Zeitlimit überschritten und Alexa meldet eine fehlgeschlagene Skill-Antwort
Schritt 9: Alexa Open Clicker TV Pause
Ich habe das Modul neben den Empfänger gestellt, aber mit einer höheren IR-Leistung könnte es überall in einem Raum sein. Ich verwende ein bekanntes USB-Netzteil, um Strom über den USB zu speisen.
Lehnen Sie sich zurück und sagen Sie „Alexa öffne Clicker“
Fernsehprogramm
Fernseher geht aus
Fernseher auswählen
Fernsehspiel
TV Sprung fünf
Um eine bestimmte Anzahl von Minuten vorwärts zu springen, werden die Makros auf 30x gehen, warten Sie eine angeforderte Zeit und spielen Sie dann.
UK-Werbung dauert etwa fünf Minuten.
Um die App zu beenden, sagen Sie Alexa Beenden.
Genießen.
Empfohlen:
"Alexa, sende mir den Text an _____": 9 Schritte (mit Bildern)
„Alexa, sende mir den Text an _____“: Hören Sie ein Lied, das Sie mitsingen möchten? Normalerweise müsstest du den Namen des Songs in Google eingeben, gefolgt von dem Wort "Lyrics". Sie würden normalerweise auch eine Menge Tippfehler machen, falsch klicken
So erstellen Sie einen Alexa-Skill: 10 Schritte
So erstellen Sie einen Alexa-Skill: Was ist ein Alexa-Skill?Alexa-Skills sind wie Apps. Sie können Skills mit der Alexa-App oder einem Webbrowser auf die gleiche Weise aktivieren und deaktivieren, wie Sie Apps auf Ihrem Smartphone oder Tablet installieren und deinstallieren. Skills sind sprachgesteuerte Alexa-Funktionen
Alexa Skill erstellen (German - English): 10 Schritte
Alexa Skill Erstellen (English | English): Was ist ein Alexa Skill?Alexa ist ein Cloud-basierter Sprachservice, der auf Geräten wie Amazon Echo, Echo Dot, Echo Show oder Echo Spot verfügbar ist. Entwickler can Alexa, Fähigkeiten hinzufügen, also bestimmte Skills mit denen die Nutzer ihr Gerä
Alexa-Hilfe: 9 Schritte
Alexa-aid: (das Video oben ist für einen Laien, wie es ein Schulprojekt war) 10 Finger, Zehen 10, 2 Augen, Nase 1 … SafetyCounts Alexa-Hilfe ist ein Alexa basierend Erste-Hilfe-System, in dem Alexa fungiert als einen Arzt und leistet dem Patienten die erforderliche Erste Hilfe. In diesem Pr
MATRIX Voice und MATRIX Creator mit Alexa (C++-Version): 7 Schritte
MATRIX Voice und MATRIX Creator mit Alexa (C++-Version): Erforderliche HardwareBevor Sie beginnen, sehen wir uns an, was Sie benötigen. Raspberry Pi 3 (empfohlen) oder Pi 2 Model B (unterstützt). MATRIX Voice oder MATRIX Creator - Raspberry Pi hat kein eingebautes Mikrofon, der MATRIX Voice/Creator hat ein