Inhaltsverzeichnis:

Amazon Echo gesteuerte IR-Fernbedienung - Gunook
Amazon Echo gesteuerte IR-Fernbedienung - Gunook

Video: Amazon Echo gesteuerte IR-Fernbedienung - Gunook

Video: Amazon Echo gesteuerte IR-Fernbedienung - Gunook
Video: Neu der Amazon Fire TV Stick mit Alexa.Geheime Funktionen & Anleitung sowie Installation am TV 2024, November
Anonim
Amazon Echo gesteuerte IR-Fernbedienung
Amazon Echo gesteuerte IR-Fernbedienung

Das Amazon Echo-System kann viele Aspekte eines Smart Home steuern, aber eine intelligente Steckdose kann nur ein- und ausgeschaltet werden. Viele Geräte lassen sich nicht sofort durch einfaches Anschließen einschalten und erfordern zusätzliche Schritte, wie das Drücken von Tasten auf einer Fernbedienung oder dem physischen Gerät, um sich einzuschalten oder die gewünschten Einstellungen zu erhalten.

In dieser Anleitung wird ein Raspberry Pi Zero W so konfiguriert, dass er als Smart-Home-Gerät fungiert, das von Amazon Echo gesteuert werden kann und beliebige IR-Befehle an ein Gerät sendet, wenn es zum Ein- oder Ausschalten aufgefordert wird.

In diesem speziellen Fall wird der Pi so konfiguriert, dass er die IR-Befehle einer Fernbedienung lernt, die mit einem Infrarot-Quarz-Kamineinsatz "ClassicFlame 23II310GRA 23" ausgestattet ist. Eine IR-LED wird dann verwendet, um die IR-Befehle bei Bedarf auszusenden, und schließlich Der Pi ist so konfiguriert, dass er ein Philips Hue-Gerät emuliert, das über Echo gesteuert werden kann.

Schritt 1: Materialien

Materialien
Materialien

Erforderlich:

  • Raspberry Pi Zero W
  • 4 GB oder mehr Micro SDHC Klasse 10 Speicherkarte (16 GB Beispiel)
  • MicroUSB
  • 1 IR-LED
  • MicroUSB-Netzteil (2,1 Ampere oder höher empfohlen)
  • Infrarot-LED
  • IR-Empfänger VS/1838B
  • 100 Ohm Widerstand
  • Sonstiges Kabel

Empfohlen:

  • Kopfhöreranschluss
  • 1/8 Zoll Kopfhörer-/Audiokabel
  • 2N2222 NPN-Transistor
  • 1k Ohm Widerstand
  • Rapsberry Pi Zero Hülle

Um die Erstkonfiguration eines Raspberry Pi Zero W abzuschließen, werden einige zusätzliche Peripheriegeräte benötigt, die jedoch vom abgeschlossenen Projekt nicht in Vollzeit verwendet werden

  • Mini-HDMI-auf-HDMI-Adapter: Wird verwendet, um den Pi Zero W mit einem HDMI-Kabel in voller Größe an einen Fernseher oder Monitor anzuschließen
  • USB-OTG-Kabel: Wird verwendet, um von Micro-USB zu USB-Anschlüssen in voller Größe zum Anschließen einer Tastatur und/oder Maus zu konvertieren
  • HDMI-Kabel: Zum Anschließen an einen Fernseher oder Monitor zusammen mit einem Adapter auf Mini-HDMI

In den ersten beiden Artikeln sowie einem Koffer sind diverse Pi Zero Starterkits enthalten, wie zum Beispiel: MakerSpot Mega Kit

Schritt 2: Raspberry Pi einrichten

Die Raspberry Pi-Website bietet eine hervorragende Anleitung zum Einrichten von Raspbian Stretch OS auf einem Raspberry Pi. Ich empfehle die Lite-Version für einen geringeren Platzbedarf, wenn dies nur ein Projekt ist, das auf dem Pi ausgeführt wird. Wenn Sie in Zukunft mehr Betriebssystemoptionen oder eine einfachere Einrichtung wünschen, können Sie mit den Anweisungen für NOOBS in kürzester Zeit einsatzbereit sein. Diese Anleitung basiert auf Raspbian, das in NOOBS enthalten ist

www.raspberrypi.org/learning/software-guide/

Sobald Raspbian ausgeführt wird, aktivieren Sie SSH, um Remote-Verbindungen zum Gerät zu ermöglichen, ohne dass ein Monitor/Tastatur/Maus direkt mit dem Pi verbunden werden muss. Wenn Sie optional einen Fernzugriff auf die GUI haben möchten, können Sie auch den VNC-Zugriff aktivieren

www.raspberrypi.org/documentation/remote-access/ssh/

Es wird außerdem dringend empfohlen, eine statische IP in der drahtlosen Netzwerkkonfiguration festzulegen, damit sie sich im Laufe der Zeit nicht ändert. Es ist möglich, dass sich die IP nicht ändert, wenn nicht regelmäßig neue Geräte mit dem drahtlosen Netzwerk verbunden sind, aber die Konfiguration als statisch stellt sicher, dass dies nicht der Fall ist.

www.circuitbasics.com/how-to-setup-a-static-ip-on-the-raspberry-pi/

Schritt 3: Konfigurieren von LIRC

LIRC konfigurieren
LIRC konfigurieren
LIRC konfigurieren
LIRC konfigurieren
LIRC konfigurieren
LIRC konfigurieren
LIRC konfigurieren
LIRC konfigurieren

Die folgenden Schritte basieren stark auf den hervorragenden Anleitungen, die Sie hier finden:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/https://camp.isaax.io/en/isaax-examples/ir-control-via- lirc-on-raspberry-pi-zero-w

Diese Anleitung basiert auf Rasbian Stretch und lirc 0.9.4c-9Andere Anleitungen basieren möglicherweise auf früheren Versionen von und erwähnen eine hardware.conf-Datei, die ab dieser Version nicht mehr benötigt wird. Ich habe auch festgestellt, dass es auf meinen Systemen nicht mehr erforderlich ist, die Datei /etc/modules zu ändern. Derzeit sind zusätzliche Änderungen für die Kernel-Version 4.19 erforderlich, die hier derzeit nicht dokumentiert sind. Bitte stellen Sie sicher, dass Sie auf 4.14 für diese Anweisungen sind

Die Linux Infrared Remote Control (LIRC)-Bibliothek wird verwendet, um den Empfang von IR-Befehlen über das Empfängermodul zu verarbeiten, sie in einer Datei zu speichern und dann die Befehle bei Bedarf über die IR-LED zu senden.

Der erste Schritt besteht darin, die IR-Signale unserer vorhandenen Fernbedienung mit dem IR-Empfänger aufzuzeichnen und in einer Datei zu speichern. Der IR-Empfänger wird zunächst nur zum Erlernen der IR-Signale benötigt und kann dann entfernt werden, sodass eine temporäre Verbindung verwendet werden kann.

Verbinden Sie den IR-Empfänger mit dem Raspberry Pi. Verwenden Sie das angehängte Bild, um die VCC-, GND- und Signal-Pins zu identifizieren. Verwenden Sie ein Steckbrett, Anschlussdrähte oder kreatives Biegen der Stifte zu den folgenden Anschlüssen

VCC verbindet sich mit 5 Volt pinGND mit einem Masse-PinSignal an Pin 23

Schalten Sie den Raspberry Pi ein und stellen Sie eine Verbindung zum Raspberry Pi her, indem Sie entweder das Terminal auf dem lokalen Gerät öffnen oder eine SSH-Verbindung mit einem Programm wie Putty für Windows herstellen.

Die folgenden Zeilen können kopiert und in die SSH-Sitzung eingefügt werden. Sie werden Zeilen zu verschiedenen Konfigurationsdateien hinzufügen/modifizieren, die für den Betrieb von lirc erforderlich sind.

sudo apt-Update

sudo apt install -y lirc echo dtoverlay=lirc-rpi, gpio_in_pin=23, gpio_out_pin=22 | sudo tee -a /boot/config.txt sudo sed -i '/driver = */cdriver = default' /etc/lirc/lirc_options.conf sudo sed -i '/device = */cdevice = /dev/lirc0' / etc/lirc/lirc_options.conf sudo shutdown -r jetzt

Warten Sie, bis das Gerät neu gestartet ist, und melden Sie sich erneut an.

Optional: IR-Empfänger testen

Montieren Sie das LIRC-Gerät, um zu bestätigen, dass alle Eingaben empfangen werden können. Möglicherweise müssen Sie den Pi nach Abschluss dieses Tests neu starten, um ihn für spätere Schritte verfügbar zu machen.

sudo systemctl stop lircd

mode2 -d /dev/lirc0Richten Sie eine IR-Fernbedienung auf den Empfänger und drücken Sie eine Taste und stellen Sie sicher, dass die Daten auf dem Bildschirm angezeigt werden STRG+C zum Beenden

An diesem Punkt ist das LIRC-Programm installiert und wir können IR-Informationen anzeigen.

Schritt 4: Erfassen von IR-Codes

Ein Remote-Profil kann von der LIRC-Website heruntergeladen werden

lirc-remotes.sourceforge.net/remotes-table.html

und in /etc/lirc/lircd.confg.d abgelegt oder ein benutzerdefiniertes Profil mit Ihrer eigenen Fernbedienung erstellt werden.

Während dieses Vorgangs geben Sie den Namen der Taste/Schaltfläche ein, die Sie aufnehmen. Es sind nur gültige Namen zulässig, führen Sie also den folgenden Befehl aus, um alle verfügbaren Namen anzuzeigen

irrecord --list-namespace Beispiel: Ich habe den Namen KEY_POWER verwendet, als ich die Power-Taste auf meiner Fernbedienung aufgenommen habe, und KEY_TIME, als ich die Timer-Taste aufgenommen habe

Wenn mehr als ein paar Tasten aufgezeichnet werden, empfehle ich, die verwendeten Tastennamen und die zugehörige Schaltfläche zu dokumentieren, da es möglicherweise keinen perfekten Namen für die aufgezeichnete Schaltfläche gibt. Dies wird die Referenzierung in Zukunft erleichtern.

Generieren Sie eine Remote-Konfigurationsdatei

Erstellen Sie eine neue Konfigurationsdatei für die Fernbedienung (mit /dev/lirc0)

sudo systemctl stop lircd

cd ~ irrecord -d /dev/lirc0 Wenn ein Fehler auftritt, der besagt, dass Daten nicht dekodiert werden können oder etwas schief gelaufen ist, drücken Sie STRG+C, um abzubrechen und den letzten Befehl auszuführen asirrecord -f -d /dev/lirc0Dies erzwingt die Ausführung des Datensatzes im Rohmodus und sollte dem Prozess ermöglichen, weiter

Folgen Sie den Anweisungen auf dem Bildschirm. Geben Sie nach der Initialisierung des Systems den Namen der Fernbedienung ein, die Sie aufzeichnen (die resultierende Datei basiert auf diesem Namen), geben Sie dann den Namen der Taste ein, die Sie aufnehmen möchten, und drücken Sie dann die Taste auf der Fernbedienung, während Sie sie auf richten den Empfänger, bis Sie zur Eingabe des nächsten Tastennamens aufgefordert werden. Wiederholen Sie diesen Schritt für jede Taste auf der Fernbedienung, die Sie aufnehmen möchten.

Kopieren Sie Ihre neue(n) Konfigurationsdatei(en) in das Verzeichnis lircd.conf.d und starten Sie lirc erneut

sudo cp ~/*.lircd.conf /etc/lirc/lircd.conf.d

sudo systemctl start lircd

Zu diesem Zeitpunkt wurden Fernbedienungscodes in einer Datei aufgezeichnet.

Schritt 5: Kopfhörerbuchse (optional)

Kopfhöreranschluss (optional)
Kopfhöreranschluss (optional)
Kopfhöreranschluss (optional)
Kopfhöreranschluss (optional)

Um das Verlegen von Kabeln und das Modifizieren des Raspberry Pi modularer zu machen, habe ich eine 1/8-Zoll-Kopfhörer-Audiobuchse an das Gehäuse geklebt und Drähte an die Buchse angeschlossen. Zum Anschließen der IR-LED wurden Kopfhörerkabel mit dem passenden Stecker verwendet, so dass dieses Kabel an einen unauffälligen Ort geführt werden konnte, um auf den IR-Empfänger des Geräts zu zeigen, das ich anschließen wollte, aber leicht vom Pi getrennt werden konnte, ohne dass es entfernt werden musste alle Drähte.

Dies ist rein optional, hat sich aber als praktisch erwiesen.

Schritt 6: IR-LED anschließen (schnell)

Anschließen der IR-LED (Schnell)
Anschließen der IR-LED (Schnell)
Anschließen der IR-LED (Schnell)
Anschließen der IR-LED (Schnell)
Anschließen der IR-LED (Schnell)
Anschließen der IR-LED (Schnell)

Das Anschließen der IR-emittierenden LED an den Raspberry Pi kann auf verschiedene Weise erfolgen. Dieser Schritt zeigt den schnellen Weg, wie ich ihn angeschlossen habe, von dem ich jedoch später herausgefunden habe, dass er die Stromgrenze an den Pins des Pi überschreiten kann. Bisher habe ich keine Probleme gehabt, aber eine idealere Verbindungsmethode wird im nächsten Schritt beschrieben

Berechnen Sie den Widerstand, der für Ihre IR-LED benötigt wird. https://ledcalculator.net/ kann bei der Bestimmung des richtigen Widerstandswerts helfen, wenn Sie alle Spezifikationen Ihrer LED haben. In diesem Fall beträgt die Spannung von Pin 22 3,3 Volt, der LED-Spannungsabfall beträgt 1,2 Volt, der Nennstrom beträgt 20 mA und es wurde 1 LED verwendet, was einen Wert von 110 Ohm Widerstand benötigt. Ich habe einen einzelnen 100-Ohm-Widerstand verwendet.

Hinweis: Später wurde ich darauf aufmerksam gemacht, dass der maximale Strom aller Pins zu einem bestimmten Zeitpunkt 16 mA beträgt, sodass diese Konfiguration dies überschreiten könnte. Eine bessere Konfiguration mit Transistor und 5-Volt-Versorgung wird im nächsten Schritt beschrieben, aber nach mehreren Wochen Betrieb in dieser Konfiguration habe ich noch keine Probleme festgestellt.

Pin 22 auf dem Raspberry Pi wird mit der Anode der IR-LED verbunden, die standardmäßig das längere Bein ist.

Der kürzere Pin der LED wird mit dem Widerstand und dann mit dem Massestift verbunden. Ich schneide den größten Teil des Drahtes am Widerstand ab und löte ihn direkt an einen Massestift und an den Massedraht, der zur LED führt.

Schritt 7: Anschließen der IR-LED (richtige Methode)

Anschließen der IR-LED (richtige Methode)
Anschließen der IR-LED (richtige Methode)
Anschließen der IR-LED (richtige Methode)
Anschließen der IR-LED (richtige Methode)

Um die LED richtig anzuschließen, ohne die Zuggrenze des Raspberry Pi zu überschreiten, verbinden Sie die LEDs mit dem entsprechenden Widerstand mit der 5-Volt-Versorgung, verbinden Sie den Kathodenstift mit dem Kollektorstift eines 2N2222-Widerstands, verbinden Sie den Emitterstift des Transistors mit Masse, und verbinden Sie Pin 22 des Pi mit einem 1K Ohm Widerstand mit dem Basispin des Transistors. Dadurch kann ein sehr kleiner Strom von Pin 22 die LED mit Masse verbinden und den Stromkreis vervollständigen, ohne den Pi zu überziehen.

In meinem Beispiel habe ich 2 IR-LEDs verkabelt, damit ich die Umgebungsbeleuchtung sowie den elektrischen Kamin steuern konnte.

Schritt 8: Testen des Sendens von IR-Befehlen

Testen des Sendens von IR-Befehlen
Testen des Sendens von IR-Befehlen

Um einen IR-Befehl zu senden, wird das Programm irsend verwendet.

Syntax: senden

Beispiel: irsend SEND_ONCE Spectrafire KEY_POWER Dies sendet einmal den Power-Button-Befehl von der Spectrafire-Fernbedienung. Ersetzen Sie Spectrafire durch einen beliebigen Namen Ihrer Fernbedienung. Wiederholen Sie dies mit anderen Tastennamen, die beim Aufzeichnen der Datei verwendet werden.

Zu diesem Zeitpunkt können Sie alle zuvor aufgezeichneten Befehle über die mit dem Raspberry Pi verbundene IR-LED senden.

Schritt 9: Ha-Brücke installieren

Damit das Echo unser Gerät steuern kann, emulieren wir eine Philips Hue-Glühbirne mit Ha-Bridge. Nach der Konfiguration kann das Echo dieses Gerät erkennen und Ein-/Ausschaltbefehle an es senden.

Die Website von ha-bridge skizziert den Prozess für die aktuelle Version klar und es wird dringend empfohlen, sie zu überprüfen.

github.com/bwssytems/ha-bridge

Kopieren Sie die folgenden Zeilen und fügen Sie sie in eine SSH-Sitzung ein, um HA Bridge zu installieren und zu konfigurieren. (Es kann notwendig sein, die erste Zeile selbst auszuführen und dann die restlichen Zeilen einzufügen

sudo apt install -y oracle-java8-jdk

mkdir /home/pi/habridge cd /home/pi/habridge/ rm ha-bridge-*.jar -f wget $(curl -s https://api.github.com/repos/bwssytems/ha-bridge/releases /latest | grep 'browser_' | cut -d\" -f4) mv ha-bridge-*.jar ha-bridge.jar echo [Einheit] | sudo tee /etc/systemd/system/habridge.service echo Description=HA Bridge | sudo tee -a /etc/systemd/system/habridge.service echo Wants=network.target | sudo tee -a /etc/systemd/system/habridge.service echo After=network.target | sudo tee -a /etc /systemd/system/habridge.service echo | sudo tee -a /etc/systemd/system/habridge.service echo [Dienst] | sudo tee -a /etc/systemd/system/habridge.service echo Typ=simple | sudo tee -a /etc/systemd/system/habridge.service echo WorkingDirectory=/home/pi/habridge | sudo tee -a /etc/systemd/system/habridge.service echo ExecStart=/usr/bin/java -jar -Dconfig. file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge.jar | sudo tee -a /etc/systemd/system/habridge.service echo | sudo tee -a /etc/ systemd/system/hab ridge.service echo [Installieren] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy=multi-user.target | sudo tee -a /etc/systemd/system/habridge.service #Reload System Control and start service, Einstellung zum Aktivieren beim Start sudo systemctl daemon-reload sudo systemctl start habridge.service sudo systemctl enable habridge.service

Schritt 10: Emulieren einer Philips Hue-Birne

Emulieren einer Philips Hue-Glühbirne
Emulieren einer Philips Hue-Glühbirne
Emulieren einer Philips Hue-Glühbirne
Emulieren einer Philips Hue-Glühbirne

Öffnen Sie bei laufendem ha-bridge einen Webbrowser und geben Sie die IP-Adresse des Raspberry Pi ein, und die Schnittstelle für ha-bridge sollte erscheinen.

Klicken Sie oben auf der Seite auf den Link Hinzufügen/Bearbeiten

Name: Geben Sie den Namen ein, den Sie beim Sprechen von Befehlen verwenden möchten

Stellen Sie im Abschnitt mit der Bezeichnung "On Items" den Typ "Execute Command/Script/Program und geben Sie den Befehl in das Feld Target Item ein. Wenn mehrere Befehle gewünscht werden, klicken Sie auf die Schaltfläche Hinzufügen, um die aktuelle Zeile zu speichern und einen anderen Befehl einzugeben. Es ist Es ist auch möglich, eine Verzögerung einzustellen und einen Befehl eine bestimmte Anzahl von Malen zu wiederholen. In diesem Fall muss zuerst die Einschalttaste und dann die Timer-Taste dreimal gedrückt werden, um den Auto-Off-Timer für 3 Stunden einzustellen.

Wiederholen Sie die gleiche Idee für den Bereich "Off Items" und klicken Sie auf Hinzufügen, wenn Sie fertig sind.

Klicken Sie oben auf der Seite auf "Bridge-Gerät hinzufügen", um es als neues Element zu speichern, oder klicken Sie auf Bridge-Gerät aktualisieren, wenn Sie ein vorhandenes ändern.

Richten Sie die IR-LED auf das Gerät. Klicken Sie auf der Seite Bridge-Geräte auf die Schaltfläche Test ON oder Test OFF, um zu überprüfen, ob es wie gewünscht funktioniert.

Schritt 11: Verbinden mit Amazon Echo

Verbindung zu Amazon Echo
Verbindung zu Amazon Echo

Der letzte Schritt besteht darin, dem Amazon Echo die Kommunikation mit diesem Gerät zu ermöglichen. Hinweis: Beide Geräte müssen sich im selben Netzwerk befinden.

Option 1) sagen „Alexa, entdecke Smart-Home-Geräte“

Option 2) Öffnen Sie die Alexa-App, tippen Sie auf Menü>Smart Home und klicken Sie auf den Link "Geräte entdecken"

Nach kurzer Zeit sollte das Gerät erkannt werden.

Sprechen Sie „Alexa, schalte den Kamin im Schlafzimmer ein“und vergewissern Sie sich, dass sich das Gerät wie erwartet einschaltet. Ersetzen Sie den Schlafzimmerkamin durch einen beliebigen Namen Ihres Geräts in ha-bridge. Wiederholen Sie den Vorgang, um das Gerät auszuschalten.

Wenn Sie die IR-LED noch nicht montiert haben, suchen Sie sich eine unauffällige Stelle, um sie zu montieren, während Sie sie in die allgemeine Richtung des IR-Empfängers im Gerät zeigen lassen. Möglicherweise müssen Sie es verschieben, um auf verschiedene Bereiche zu zeigen, um den besten Standort zu finden.

Empfohlen: