Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Nach langem Suchen war ich überrascht und bestürzt über die widersprüchlichen Informationen zum Einrichten der IR-Fernbedienung für mein RPi-Projekt. Ich dachte, es wäre einfach, aber das Einrichten von Linux InfraRed Control (LIRC) war lange Zeit problematisch, aber im Juni 2019 hat sich mit der Veröffentlichung der Buster-Version von Raspbian vieles geändert, was viele Tutorials wertlos machte. In vielen Tutorials müssen Sie eine hardware.conf-Datei erstellen, aber LIRC braucht und will sie nicht und das lirc-rpi-Modul wurde durch das gpio-ir-Modul ersetzt.
Das Tutorial geht davon aus, dass auf dem RPi Raspbian (Version Buster Jun 2019) ausgeführt wird. Auch Kenntnisse des Terminals, grundlegender Befehle aus der Eingabeaufforderung und der Bearbeitung von Textdateien werden vorausgesetzt.
HINWEIS: Das LIRC-Setup schlägt fehl, wenn es als Root-Benutzer ausgeführt wird, und führt beim Ausführen von Python-Code zu dem gefürchteten Fehler "Name RawConnection kann nicht importiert werden". In diesem Tutorial wird davon ausgegangen, dass Sie als Benutzer (dh: PI) angemeldet sind.
Ziel: IR-Fernsteuerung von RPi-Projekten zu ermöglichen
1) LIRC auf RPi einrichten [Teil 1]
2) Demonstrieren Sie LIRC mit Python [Teil 2]
Lieferungen
--- Raspberry Pi (3, 4, null)
--- Dupont-Draht (weiblich-weiblich)
--- VS 1838b IR-Empfänger
Schritt 1: Hardware zusammenbauen
Die Verwendung des IR-Empfängers VS1838b könnte nicht einfacher sein. Schließen Sie den Sensor einfach direkt mit Dupont-Draht (Female-Female) an das RPi an. Sie können auch ein Steckbrett (nicht abgebildet) verwenden oder auf ein Protoboard löten (Foto)
Betrachten Sie den VS1838b IR-Empfänger von vorne (mit dem großen X in Ihre Richtung)
---- Linkes Bein ist aus
---- Mittelbein ist geschliffen
---- Rechtes Bein ist 3,3 V
1) Befestigen Sie das linke Bein an BCM-Pin 17 am RPi (gelbes Kabel)
2) Befestigen Sie das mittlere Bein an Masse (schwarzes Kabel)
3) Befestigen Sie das rechte Bein an 3,3 V (rotes Kabel)
Schritt 2: Lirc installieren
1) Terminalfenster öffnen und LIRC installieren. Seien Sie gewarnt, dass dies wahrscheinlich einen Fehler "Fehler beim Starten der Unterstützung der flexiblen IR-Remote-Ein-/Ausgabe-Anwendung" auslösen wird, da die installierten Dateien jetzt.dist angehängt haben und das Suffix wie unten angegeben entfernt werden muss. Nicht schwer aber frustrierend.
$ sudo apt-get update
$ sudo apt-get install lirc
----MACH DIR KEINE SORGE! da dies wahrscheinlich einen Fehler "Fehler beim Starten der Unterstützung der flexiblen IR-Remote-Ein-/Ausgabe-Anwendung" auslösen wird, da das Suffix.dist aus lirc_options.conf gelöscht werden muss. Benennen Sie die Datei einfach wie abgebildet um.
$ sudo mv /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf
2) Installieren Sie lirc neu, nachdem die Datei lirc_options.conf umbenannt wurde
$ sudo apt-get install lirc
Schritt 3: Lirc_options.conf bearbeiten
Bearbeiten Sie /etc/lirc/lirc_options.conf wie folgt, indem Sie diese beiden Zeilen ändern:
:
:
Treiber = Standard
Gerät = /dev/lirc0
:
:
Schritt 4: Führen Sie Move to Remove.dist Suffix from Lircd.conf.dist durch
Entfernen Sie die Endung.dist aus /etc/lirc/lircd.conf.dist
$ sudo mv /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf
Schritt 5: Config.txt bearbeiten
Bearbeiten Sie /boot/config.txt, indem Sie wie folgt eine Zeile im Modulabschnitt lirc-rpi hinzufügen. In diesem Beispiel wird davon ausgegangen, dass der RPi auf BCM-Pin 17 für den IR-Empfänger „hört“, aber jeder RPi-IO-Pin kann verwendet werden. Ich habe es noch nicht ausprobiert, aber wenn Sie Befehle vom RPi senden möchten, fügen Sie die unten gezeigte vierte Zeile hinzu und kommentieren Sie sie, um IR-Befehle an BCM-Pin 18 zu senden
:
:
:
# Entkommentieren Sie dies, um das lirc-rpi-Modul zu aktivieren
#dtoverlay=lirc-rpi
dtoverlay=gpio-ir, gpio_pin=17
#dtoverlay=gpio-ir-tx, gpio_pin=18
:
:
:
Schritt 6: Status prüfen und neu starten
1) Stoppen, starten und überprüfen Sie den Status von lircd, um sicherzustellen, dass keine Fehler vorliegen!
$ sudo systemctl stop lircd.service
$ sudo systemctl starte lircd.service
$ sudo systemctl status lircd.service
2) Neustart
$ sudo Neustart
Schritt 7: Fernbedienung testen
In diesem Schritt wird davon ausgegangen, dass Sie einen IR-Empfänger an Ihrem RPi an dem in config.txt angegebenen Pin angeschlossen haben.
1) Stoppen Sie den LIRCD-Dienst und testen Sie die Fernbedienung mit dem Befehl mode2
$ sudo systemctl stop lircd.service
$ sudo mode2 -d /dev/lirc0
3) Richten Sie die Fernbedienung auf den Empfänger und drücken Sie einige Tasten. Sie sollten so etwas sehen:
:
:
Platz
Impuls
:
:
4) Drücken Sie Strg-C zum Beenden
5) Ihr IR-Empfänger ist eingerichtet und bereit, mit Teil 2 fortzufahren und in Python darauf zuzugreifen.