Inhaltsverzeichnis:

Alexa IoT TV-Controller ESP8266 - Gunook
Alexa IoT TV-Controller ESP8266 - Gunook

Video: Alexa IoT TV-Controller ESP8266 - Gunook

Video: Alexa IoT TV-Controller ESP8266 - Gunook
Video: Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 (Manual + Voice) | IoT Projects 2021 2024, November
Anonim
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266

Kürzlich habe ich mir während des Amazon Prime Tages einen Amazon Echo Dot für ~20€ gekauft.

Diese kleinen Sprachassistenten sind günstig und eignen sich hervorragend für die Heimwerkerautomatisierung, wenn Sie wissen, was möglich ist und wie man intelligente Geräte baut.

Ich habe einen Samsung Smart TV, aber ich wollte ihn noch intelligenter machen. In diesem Instructable zeige ich Ihnen, wie Sie einen Controller für Ihren Fernseher bauen, um ihn drahtlos mit Ihrer Stimme zu steuern. Einige mögliche und nützliche Befehle könnten sein:

  • Fernseher ein-/ausschalten
  • Lautstärkeeinstellungen (Hoch/Runter/Stumm)
  • Wechseln Sie zu einer anderen Quelle (HDMI-Anschluss, Fernseher usw.)
  • Schalten Sie Netflix/Amazon Prime/YouTube ein…

Falls Ihr Fernseher über einen USB-Port verfügt, der immer eingeschaltet ist, haben Sie den Jackpot! Wenn nicht, können Sie ein langes USB-Kabel oder ein kleines Power Regulator Board verwenden, das jede Spannung zwischen 12,5 und 16 V auf 5 V heruntersetzt. Ich habe dies verwendet, weil ich direkt unter meinem Bett bereits ein 12V Netzteil für einige LED-Strips hatte:)

Eine andere Möglichkeit und deshalb nehme ich an der Battery-Challenge teil, ist, dass mein designtes 3D-gedrucktes Gehäuse Platz für einen 150mAh LiPo Akku und ein Ladegerät bietet. So können Sie es komplett drahtlos halten!

Leider habe ich keine Bilder davon, da mein iPhone während eines iOs-Updates gestorben ist und die Fotos nicht in meine iCloud hochgeladen wurden:(Die mitgelieferten Bilder sind also nur ohne Batterie drin, die ich nach der Endmontage angeschlossen habe…

Wenn Sie jedoch Ihren eigenen Controller erstellen möchten, benötigen Sie Folgendes:

Lieferungen:

  • Werkzeuge:

    • Lötkolben
    • Heißkleber
    • 3D-Drucker (optional)
    • Schrumpfen durch Hitze
  • Komponenten: (Links sind nur als Beispiel!)
  • 1x ESP8266-01s Board + Programmierer:
  • 1x NPN-Transistor 2N2222A:
  • 1x 100 Ohm Widerstand:
  • 2x 10k Ohm Widerstand: siehe Link oben
  • 1x Kleiner Schalter (NC - Das ist wichtig!!):
  • 1x 3mm IR-Sender LED:
  • 1x Mini-Abwärtswandler:
  • 1x Micro-USB-Buchsenplatine:
  • 1x TP4056 Ladeplatine (optional):
  • 1x Mini-LiPo-Akku (optional):

Weiter:

Um dieses Projekt zu erstellen, benötigen Sie ein System, auf dem die Freeware "ioBroker" ausgeführt wird. Dies ist ein kostenloser MQTT-Broker, der es dem ESP8266 ermöglicht, sich damit zu verbinden und seine Daten zu teilen. ioBroker hat auch einen Alexa-Adapter, mit dem wir unser ESP drahtlos mit Alexa kommunizieren lassen können.

Ich betreibe ioBroker auf einem alten Laptop-Motherboard - aber für kleine Automatisierungen würde ein Raspberry-Pi reichen. Sie können ioBroker auf seiner offiziellen Website hier herunterladen:

Außerdem benötigen Sie die Tasmota-Firmware! Sie können es hier herunterladen:

Wähle deine Sprache

Wenn Sie es mit Alexa verwenden möchten, müssen Sie wissen, was ein physisches Alexa-Gerät benötigt! Die Alexa-App funktioniert nicht! Alexa-Konnektivität ist nur optional - Sie können Ihren Fernseher auch einschalten, indem Sie eine kleine MQTT-Taste wie diese drücken:

Schritt 1: Programmieren Sie den ESP8266

Programmieren Sie den ESP8266
Programmieren Sie den ESP8266

Da wir den ESP8266 später auf die Platine löten werden, müssen wir ihn zuerst programmieren. Dazu empfehle ich dir ein günstiges Programmierboard zu verwenden - das von mir verwendete ist nicht zu empfehlen! Ich musste es ändern, damit es funktioniert, also schau dir den Link oben an (siehe: Zubehör).

Stecken Sie zuerst das ESP in den Programmierer. Starten Sie dann das Flash-Tool auf Ihrem Computer. Stecken Sie nun den Programmer über USB ein und drücken Sie während des Einsteckens den FLASH-Button auf der Platine. Lassen Sie ihn nach einigen Sekunden wieder los. Nun sollte im Programm-Tool ein COM-Port angezeigt werden. Wählen Sie es aus und fahren Sie fort, indem Sie die Tasmota-Firmware auswählen. Die Baud-Rate sollte 115.000 betragen und der Modus QIO ausgewählt sein. Wenn Sie fertig sind, klicken Sie auf den Flash-Button des Tools. Nun startet der Programmierer.

Wenn Sie fertig sind, wird FERTIG angezeigt.

Jetzt können Sie den Programmer von Ihrem PC entfernen und wieder einsetzen, nachdem Sie den Programmer in den UART-Modus (den Schalter auf der Platine) geschaltet haben.

Schritt 2: Richten Sie Ihr ESP ein - WiFi

Richten Sie Ihr ESP ein - WLAN
Richten Sie Ihr ESP ein - WLAN

Nachdem das ESP programmiert und im UART-Modus an Ihren Computer angeschlossen ist, gehen Sie zu den WLAN-Einstellungen Ihres Geräts und suchen Sie nach einem Netzwerk, das "tasmota" in der SSID enthält (z. B. "Tasmota-31278D"). Verbinden Sie sich damit, gehen Sie zu Ihrem Browser und gehen Sie zu 192.168.4.1.

Im Folgenden erkläre ich, was Sie im Setup tun müssen:

Wlan einstellungen:

  • WLAN1:

    • SSID Ihres WLAN-Routers
    • Passwort Ihres WLAN-Routers
  • WLAN2:

    • SSID Ihres (zweiten) Routers (optional)
    • Passwort Ihres (zweiten) Routers (optional)
  • Hostname: Der Name der im Netzwerk angezeigt wird - ich empfehle "TV-Remote"

Bestätigen Sie Ihre Einstellungen mit einem Klick auf „Speichern“(grüner Button). Jetzt versucht der ESP, sich mit Ihrem WLAN-Netzwerk zu verbinden.

Schlägt dieser Vorgang fehl, öffnet der ESP wieder sein eigenes Tasmota-Wifi-Netzwerk.

Schritt 3: Einrichten Ihres ESP - Modulkonfiguration

Einrichten Ihrer ESP - Modulkonfiguration
Einrichten Ihrer ESP - Modulkonfiguration

Wenn sich Ihr ESP erfolgreich mit Ihrem Heimnetzwerk verbunden hat, müssen Sie im Router-Menü nach dessen IP-Adresse suchen.

Geben Sie die Adresse in Ihren Browser ein. Die Tasmota-Seite des ESP wird angezeigt. Navigieren Sie nun zu Einstellungen Modul konfigurieren und wählen Sie "Generic (18)".

Wenn Sie fertig sind, suchen Sie im Drop-Down-Menü von GPIO-2 nach IRsend (8) und wählen Sie es aus.

Drücken Sie Speichern!

Schritt 4: Richten Sie Ihr ESP ein - MQTT

Richten Sie Ihr ESP ein - MQTT
Richten Sie Ihr ESP ein - MQTT

Das ESP muss sich mit unserem MQTT-Broker (ioBroker) verbinden. Die MQTT-Einstellungen können wir auf der Registerkarte SettingsConfigure MQTT konfigurieren. Dort müssen Sie Ihre Broker-IP, den Broker-Port, den MQTT-Benutzer eintragen (falls Sie ihn nicht kennen, finden Sie ihn in Ihren MQTT-Adapter-Einstellungen auf ioBroker!). Außerdem müssen Sie das MQTT-Passwort, den Client-Namen (wie das Gerät in ioBroker angezeigt wird) und ein Thema eingeben. Das Thema ist der Name des Ordners in iobroker. Wenn Sie mehr MQTT-Geräte verwenden möchten, empfehle ich, vollständige Themen wie Wohnzimmer/%topic% oder Küche/%topic% zu deklarieren. Dies ist jedoch nicht erforderlich, aber es wird Ihnen später helfen, wenn Sie viele Geräte mit Ihrem Broker verbunden haben!

Vergessen Sie nicht, alles danach zu speichern!:)

Und das ist es! Das ESP ist jetzt einsatzbereit!

Schritt 5: Richten Sie Ihren IoBroker ein

Richten Sie Ihren IoBroker ein
Richten Sie Ihren IoBroker ein

Nun, da das ESP einsatzbereit ist, müssen wir den MQTT-Broker- und optional den Alexa-Adapter einrichten.

Gehen Sie auf Ihre ioBroker-Webseite (IP-Adresse + Port (8081) wie in meinem Fall 192.168.178.188:8081).

Navigieren Sie zu „Adapter“und suchen Sie nach „MQTT Broker/Client“und „Alexa2“.

Der MQTT-Adapter wird benötigt, Alexa ist optional.

Ich empfehle mit dem MQTT-Adapter zu beginnen. Nach der Installation öffnet sich ein Fenster, in dem Sie Ihren Broker einrichten müssen.

Wählen Sie die Optionen wie im Bild gezeigt aus.

MQTT-Benutzer und Passwort können Sie frei wählen!

Vergessen Sie wie immer nicht, Ihre Einstellungen zu speichern (linke untere Ecke).

Schritt 6: MQTT-Verbindung testen

MQTT-Verbindung testen
MQTT-Verbindung testen

Um die Verbindung vom ESP zum Broker zu testen, müssen Sie das ESP von Ihrem PC entfernen und mit ausgewähltem normalen Startup-Modus wieder einstecken.

Warten Sie ein paar Sekunden und überprüfen Sie den Status Ihrer iobroker-Seite "Instanzen" und schauen Sie auf das "Licht"-Symbol des MQTT-Adapters. Wenn Ihr ESP dort aufgeführt ist, wurde es erfolgreich verbunden!

Die MQTT-Ordner erscheinen automatisch auf der Seite "Objekte"!

Schritt 7: MQTT-Variable erstellen

MQTT-Variable erstellen
MQTT-Variable erstellen
MQTT-Variable erstellen
MQTT-Variable erstellen

Navigieren Sie zum "Objekte"-Tab von ioBroker.

Öffnen Sie den Ordner mqtt.0/YourTopic/cmnd.

In diesem cmnd (Befehl) Ordner müssen Sie einen neuen Datenpunkt erstellen. Sie können dies tun, indem Sie oben auf das + (Plus)-Symbol klicken.

Name: IRsend

Typ: Datenpunkt

Datenpunkttyp: Zeichenfolge

Übrigens, es tut mir leid, dass der gezeigte Bildinhalt in Deutsch ist, aber ich weiß nicht, wie man für dieses anweisbare auf Englisch umschaltet: /

Schritt 8: Löten und Drucken

Löten und Drucken
Löten und Drucken
Löten und Drucken
Löten und Drucken
Löten und Drucken
Löten und Drucken

Software ist fertig - Löten als nächstes!

Die Leiterplatte sollte eine kreisförmige Form mit einem Durchmesser von 50 mm haben.

Löten Sie alles zusammen, wie im mitgelieferten Schaltplan gezeigt. Achten Sie darauf, dass Sie den IR-Emitter nicht vertauscht anschließen! Vielleicht überlebt die LED das nicht.

Für die IR-LED, den Switch und das Micro-USB-Power-Board habe ich kleine 2-Pin-Anschlüsse verwendet. Wenn Sie dies auch tun möchten, markieren Sie Ihre + und - Anschlüsse auf der Seite des Steckers. Die Schalterausrichtung spielt keine Rolle!

Wenn Sie einen 3D-Drucker zur Hand haben, können Sie meine mitgelieferten Dateien verwenden - Es ist ein einfaches 3cm dickes Gehäuse, in das alle Komponenten gut passen!

Sogar ein kleiner Akku und ein Ladeboard passen hinein!

Ich habe es mit meinem Anycubic I3-Mega und Black Anycubic Filament gedruckt:)

Platine, IR-LED, Switch und USB-Port habe ich innen mit Heißkleber verklebt. Außerdem habe ich das Gehäuse mit doppelseitigem Klebeband hinter meinen Fernseher geklebt. Funktioniert gut!

Um das Gerät jetzt zu starten, müssen Sie die Taste während des Einsteckens einige Sekunden lang drücken. Der Schalter trennt beim Drücken die IR-LED von GPIO-2, damit der ESP starten kann. Tasmota unterstützt nur GPIO-2 und GPIO-0 auf dem ESP-01 für den IRSender, also musste ich es so machen. Lassen Sie die Taste nach ca. 5 Sekunden…

Schritt 9: Automatisierungszeit:)

Automatisierungszeit:)
Automatisierungszeit:)

Jetzt ist alles Hardware-basiert fertig.

Automatisierungs-Software jetzt:)

Um einige coole Automatisierungen zu machen, müssen wir die Adapter "Scripts" in ioBroker herunterladen. Nachdem Sie es installiert haben, wird auf der linken Seite ein neues Feld namens "Skripte" angezeigt. Öffnen Sie es und erstellen Sie ein neues Blockly-Script - dies ist eine Möglichkeit für sehr einfache Programmierung mit funktionalen Blöcken.

Um Ihr Fernsehgerät zu steuern, müssen Sie seine IR-Codes kennen. Sie können sie leicht im Internet finden - suchen Sie nach Ihrem Modell + IR-Codes. Ich habe die Codes für meinen Fernseher auch online gefunden. Aber Sie können sie leicht mit einem IR-Empfänger und einem Arduino entschlüsseln! Wenn Sie nicht wissen, wie es geht, suchen Sie nach Instructables;)

In meinem Fall ist das Signal zum Ein- und Ausschalten des Fernsehers "0xE0E040BF". Die zuvor erstellte Variable IRsend wird nun benötigt. Das mitgelieferte Beispielprogramm schreibt den Code in die Variable. Aber vor und nach IRsend wird mit einigen Verzögerungen auf 0 gesetzt. Dies ist sehr wichtig, da der Fernseher sonst nichts macht.

Sie müssen dieses Format für IRsend verwenden: {"Protocol":"NEC", "Bits":32, "Data": YourIRCode }

Der Auslöser für das Einschalten des Fernsehers kann eine beliebige Variable in Ihrem ioBroker sein. Wenn du es mit Alexa machen möchtest, erstellst du grundsätzlich eine neue Routine in der Alexa-App auf deinem Smartphone und rufst diese z. B. „Fernseher einschalten“.

Sie finden diese Variable in Ihrem Alexa-Adapter-Ordner auf dem "Objekte"-Tab Ihres ioBrokers. Diese Variable muss als Triggerereignis oben in meinem Beispielskript (if-condition) ausgewählt werden.

Wenn Sie einen Smart-TV haben, können Sie beispielsweise auch Netflix, Amazon Prime, YouTube usw. starten.

Sie müssen Schritt für Schritt durch den Fernseher navigieren, wie Sie es mit der Fernbedienung tun würden. Vergessen Sie nicht, IRsend mit einer kleinen Verzögerung zwischen den Befehlen auf 0 zu setzen. Delays sollten mit Werten zwischen 500 und 1000ms funktionieren. Einfach ausprobieren:)

Schritt 10: Haben Sie Fragen?:)

Ich hoffe, Sie können alle Schritte verstehen, die zum Bau meines Smart-IR-Controllers erforderlich sind.

Bei Fragen könnt ihr mich gerne in den Kommentaren stellen:) Hoffe euch gefällt mein Projekt:D

Übrigens. Entschuldigung für mein schlechtes Englisch, ich komme aus Deutschland:p

Empfohlen: