Wie kann ich mein Fernsehgerät nur mit einem Raspberry Pi und der Infrarotdiode von einer alten Fernbedienung aus steuern? Und wie kann ich IR-Befehle von einer vorhandenen Fernbedienung interpretieren?
Und fügen Sie die folgenden Zeilen hinzu, die zu führen
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lirc_dev
lirc_rpi gpio_in_pin=4 gpio_out_pin=18
Bitte beachten Sie, dass ich das (noch) nicht gpio_in_pinin meinem Setup verwende.
Aktualisieren /etc/lirc/hardware.conf
Das ist mein hardware.conf
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false
#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
Aktualisieren /boot/config.txt
sudo nano /boot/config.txt
Aktualisieren Sie die Zeile bezüglich des lirc-rpiModuls
# Uncomment this to enable the lirc-rpi module
dtoverlay=lirc-rpi,gpio_in_pin=4,gpio_out_pin=18
# dtparam=gpio_in_pull=up
Laden Sie die Fernbedienungsvoreinstellung herunter
Unter lirc.sourceforge.net/remotes finden Sie ein riesiges Repository mit Fernbedienungen sowie die Voreinstellungen.
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false
#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
Um die Fernbedienung zu testen, führen Sie Folgendes aus, um die Impulse anzuzeigen
sudo /etc/init.d/lirc stop
mode2 -d /dev/lirc0
Verwenden Sie die folgenden Befehle, um eine neue Fernbedienung aufzunehmen. Stellen Sie sicher, dass Sie Ihre Fernbedienung für die lirc-Community freigeben, indem Sie die Konfiguration an [email protected] senden.
irrecord --list-namespace # Shows the allowed identifiers for the commands
irrecord -f -d /dev/lirc0 ~/lirc.conf
Um nun die Konfiguration zu testen, starten Sie den lirc-Dienst und führen ihn aus irw
Anzeigen von Fehlern im Zusammenhang mit dem lircProzess:
dmesg | grep -i lirc
[ 5.118133] lirc_dev: IR Remote Control driver registered, major 244
[ 7.148664] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[ 8.269729] lirc_rpi: auto-detected active high receiver on GPIO pin 4
[ 8.270174] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[ 8.270188] lirc_rpi: driver registered!
[ 16.197900] input: lircd as /devices/virtual/input/input0
Auflisten einer Fernbedienung:
Auflistung aller Fernbedienungen:
irsend LIST "" ""
irsend: LG_AKB72915207
Auflisten der Befehle für eine bestimmte Fernbedienung
@Besi vielen Dank. Es war sehr hilfreich für mich.
Für mich habe ich immer noch ein Problem, wenn ich meine Raspel neu starte.
Ich denke, es ist besser, es beim Start zu aktivieren
systemctl enable lirc.service
als
sudo lircd --device /dev/lirc0
Und jetzt müssen Sie die Module / etc / nicht mehr bearbeiten.
Hier mein Installationsskript:
#!/usr/bin/env bash
# Echo in Blue
function echoBlue () {
echo -e "\x1B[0;34m\033[1m${1}\033[0m"
}
# Echo in Red
function echoRed () {
echo -e "\x1B[0;31m\033[1m${1}\033[0m"
}
echoRed "For me PinIN=4 and PinOUT=26"
# Ask Pin Number
echoBlue "Pin In Number ?"
read pinIN
echoBlue "Pin OUT Number ?"
read pinOUT
# Install Lirc
echoBlue "Install Lirc"
sudo apt-get install lirc
# Load Module
# For raspberry instead use /boot/config.txt
#sudo cat >> /etc/modules <<EOF
#lirc_dev
#lirc_rpi gpio_out_pin=4 gpio_in_pin=26
#EOF
# Edit your /boot/config.txt by entering the command below
if ! grep -Fxq "dtoverlay=lirc-rpi,gpio_out_pin=$pinIN,gpio_in_pin=$pinOUT" /boot/config.txt; then
echoBlue "Edit /boot/config.txt"
cat >> /boot/config.txt <<EOF
dtoverlay=lirc-rpi,gpio_out_pin=$pinIN,gpio_in_pin=$pinOUT
EOF
else
echoRed "Line already exist in /boot/config.txt"
fi
# Backup hardware.conf
echoBlue "Backup hardware.conf"
sudo cp /etc/lirc/hardware.conf /etc/lirc/hardware.bak.conf
# Add hardware
echoBlue "Create hardware.conf"
sudo cat > /etc/lirc/hardware.conf <<EOF
########################################################
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"
# Don't start lircmd even if there seems to be a good config file
# START_LIRCMD=false
# Don't start irexec, even if a good config file seems to exist.
# START_IREXEC=false
# Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
########################################################
EOF
# Now use systemcl instead of init.d
echoBlue "Stop lirc.service"
sudo systemctl stop lirc.service
echoBlue "Start lirc.service"
sudo systemctl start lirc.service
echoBlue "Status lirc.service"
sudo systemctl status lirc.service
# Launch it on startup
echoBlue "Launch it on startup"
echoBlue "o|O|y|Y ou n|N|*"
read repdrop
echo -e "\t"
case "$repdrop" in
o|O|y|Y)
sudo systemctl enable lirc.service
;;
n|N|*)
echoBlue "If you want to add it latter just run sudo systemctl enable lirc.service"
;;
esac
echoRed "You need to reboot pi"
echoRed "You have to check that /etc/lirc/lircd.conf exist or dl one on http://lirc.sourceforge.net/remotes"
Tolles Tutorial, sehr detailliert, aber es hat mein Problem nicht gelöst. Nach stundenlangem Versuch erhielt ich immer noch die Meldung "irsend: Hardware unterstützt das Senden nicht".
Antworten:
Ich kann mein Fernsehgerät mit dem folgenden Befehl einschalten:
So habe ich es eingerichtet.
Hardware-Setup
Ich benutze einen Raspberry Pi P1 2011.12.
Die blanke Infrarot-LED ist an
GPIO#18
und angeschlossenGND
.Installieren von lirc
Aktualisieren
/etc/modules
Und fügen Sie die folgenden Zeilen hinzu, die zu führen
Bitte beachten Sie, dass ich das (noch) nicht
gpio_in_pin
in meinem Setup verwende.Aktualisieren
/etc/lirc/hardware.conf
Das ist mein
hardware.conf
Aktualisieren
/boot/config.txt
Aktualisieren Sie die Zeile bezüglich des
lirc-rpi
ModulsLaden Sie die Fernbedienungsvoreinstellung herunter
Unter lirc.sourceforge.net/remotes finden Sie ein riesiges Repository mit Fernbedienungen sowie die Voreinstellungen.
In meinem Fall war der meiner Fernbedienung am nächsten liegende
LG AKB73275606
derLG_AKB72915207
. Was mehr oder weniger meiner Fernbedienung ähnelt .Also habe ich den Inhalt von lirc.sourceforge.net/remotes/lg/AKB72915207 kopiert nach
/etc/lirc/lircd.conf
:Starten Sie nun den
lirc
Dienst neu:Befehle senden
Jetzt kann ich meinen Fernseher folgendermaßen ein- und ausschalten:
nämlich:
Und voilà mein Fernseher schaltet sich ein und aus.
Update: Hinzufügen eines Empfängers
Aktualisieren
/etc/modules
Aktualisieren
/etc/lirc/hardware.conf
Fügen Sie Folgendes hinzu
/boot/config.txt
:Um die Fernbedienung zu testen, führen Sie Folgendes aus, um die Impulse anzuzeigen
Verwenden Sie die folgenden Befehle, um eine neue Fernbedienung aufzunehmen. Stellen Sie sicher, dass Sie Ihre Fernbedienung für die lirc-Community freigeben, indem Sie die Konfiguration an [email protected] senden.
Um nun die Konfiguration zu testen, starten Sie den lirc-Dienst und führen ihn aus
irw
Fehlerbehebung
Starten Sie den Socket-Daemon manuell
Tutorials, die mir geholfen haben
Fehlermeldungen, die ich während meines Setups erhalten habe
Andere Beiträge über
lirc
lsmod
Anzeigen von Fehlern im Zusammenhang mit dem
lirc
Prozess:Auflisten einer Fernbedienung:
Auflistung aller Fernbedienungen:
Auflisten der Befehle für eine bestimmte Fernbedienung
lirc
Status anzeigen :Der folgende Befehl sollte keine Fehler anzeigen
Folgendes sehe ich in meinem Arbeits-Setup:
Schlecht formatierte Zitate aus Online-Tutorials
Schlecht formatierte Anführungszeichen in den Konfigurationsdateien verursachten einige Probleme, deren Behebung einige Zeit in Anspruch nahm.
anstelle von richtigen Anführungszeichen
quelle
@Besi vielen Dank. Es war sehr hilfreich für mich.
Für mich habe ich immer noch ein Problem, wenn ich meine Raspel neu starte.
Ich denke, es ist besser, es beim Start zu aktivieren
systemctl enable lirc.service
als
sudo lircd --device /dev/lirc0
Und jetzt müssen Sie die Module / etc / nicht mehr bearbeiten.
Hier mein Installationsskript:
quelle
Tolles Tutorial, sehr detailliert, aber es hat mein Problem nicht gelöst. Nach stundenlangem Versuch erhielt ich immer noch die Meldung "irsend: Hardware unterstützt das Senden nicht".
Schließlich fand ich diese https://www.raspberrypi.org/forums/viewtopic.php?t=191425#p1213186
und es löste mein Problem. Um zusammenzufassen...
und lirc neu starten:
Prost, Daniel
Verwendung von RPi 3 lircd-0.9.4c
quelle