[0.2] Lirc mit 2 Empfänger /dev/lirc0 und /dev/lirc1
- utiltiy
- Geschlossen
-
-
Hi,
wenn lirc mit 'driver=all' kompiliert ist und beide Geräte dann korrekt erkannt werden, was bei Dir ja der Fall zu sein scheint, kannst Du das Ganze in einer Art Server-Client-Anwendung lösen. Hier mal ein Beispiel, Wie ich das mit einem Imon-Touch und einer Hauppauge HVR-4000 gemacht habe:
Code
Alles anzeigen:/usr/src/lirc# killall lircd :/usr/src/lirc# /usr/local/sbin/lircd --pidfile=/var/run/lircd.0.pid --device=/dev/lirc0 --listen=8765 /etc/lircd.conf.imon :/usr/src/lirc# /usr/local/sbin/lircd -H devinput -d /dev/input/event8 --pidfile=/var/run/lircd.1.pid --listen=8766 /etc/lircd.conf.hvr-4000 :/usr/src/lirc# /usr/local/sbin/lircd --pidfile=/var/run/lircd.2.pid --device=/dev/lirc2 --output=/dev/lircd --connect=localhost:8765 --connect=localhost:8766 :/usr/src/lirc# irw 0200001e00000000 00 1 SndGrphImonIRTFT 0200001f00000000 00 2 SndGrphImonIRTFT 0200002000000000 00 3 SndGrphImonIRTFT 0000000080010002 00 1 Hauppauge-HVR4000-Remote 0000000080010003 00 2 Hauppauge-HVR4000-Remote 0000000080010004 00 3 Hauppauge-HVR4000-Remote
Grüße joker
-
Es handelt sich um yaVDR mit upstart
-
Hat keiner eine Idee dazu?
-
Hallo,
ich hol das nochmal hoch. gibt es dafür mittlerweile eine lösung?
ich wuerde gerne einen ir-sender an ttyS0 nutzen, an ttyS1 hängt der ir-empfänger.
bei mir gib es allerdings nur /dev/lirc0 und /dev/lircd.wenn ich den ir-sender an ttyS1 hänge, funktioniert er mit irsend -d /dev/lircd ... einwandfrei,
wie bekomme ich lirc jetzt dazu den ir-sender an ttyS0 UND den ir-empfänger an ttyS1 zu benutzen?__
boo -
Ja, klar gibt es eine Lösung.
Die /etc/init/remoted.conf als eigene Template anlegen, mit folgender Änderung:
In /usr/bin/ eine Datei (z.B.) lircrun erstellen mit dem gewünschtem Inhalt. Bei mir (z.B.):Bash#!/bin/sh /usr/sbin/lircd --driver=devinput --device=/dev/input/event4 --pidfile=/var/run/lirc1.pid --listen=9988; /usr/sbin/lircd --driver=devinput --device=/dev/input/event5 --pidfile=/var/run/lirc2.pid --connect=localhost:9988;
und nicht vergessen die Datei ausführbar zu machen.
DIES IST NUR EIN BEISPIEL! Der erste Eintrag startet LIRC auf Port 9988 und der zweite Eintrag hängt sich mit dazu.LIRC Parameter sollten bekannt sein ... Für eigene Anpassungen bitte LIRC-Doku studieren.
lircd.conf und remote.conf nach eigenen Bedürfnissen erstellen/anpassen. In den CONFs können auch mehrere Remotes verwaltet werden. Bitte darauf achten dass jedes Remote einen eigenen Namen hat und in beiden Dateien analog, entsprechende IR Codes bzw. Zuweisungen.Bei mir ist das ein Teil der Konfiguration für die HAMA MCE FB auf einem Foxconn nt330i.
//edit
joker4791 hat bereits eine brauchbare Lösung vorgeschlagen ... Klappt es damit nicht?? -
Hallo nochmal,
ich muss das Thema leider nochmal aufgreifen, denn ich habe es immer noch nicht geschafft den IR-Sender UND den IR-Empfänger gleichzeitig zum laufen zu bringen.
Darum hol ich mal ein bischen aus:
Ich habe also DIESEN IR-Sender gebaut und an com1 also /dev/ttSy0 gehängt mein Atric funktioniert an com2 also /dev/ttSy1 wunderbar.
Die Einstellungen dazu sind folgende:Code
Alles anzeigenandreas@yavdr:~$ cat /etc/lirc/hardware.conf # #Chosen Remote Control REMOTE="IRdeo" REMOTE_MODULES="lirc_dev lirc_serial" REMOTE_DRIVER="" REMOTE_DEVICE="/dev/lirc0" REMOTE_LIRCD_CONF="" REMOTE_LIRCD_ARGS="" #Chosen IR Transmitter TRANSMITTER="None" TRANSMITTER_MODULES="" TRANSMITTER_DRIVER="" TRANSMITTER_DEVICE="" TRANSMITTER_LIRCD_CONF="" TRANSMITTER_LIRCD_ARGS="" #Enable lircd START_LIRCD="true" #Don't start lircmd even if there seems to be a good config file #START_LIRCMD="false" #Try to load appropriate kernel modules LOAD_MODULES="true" # Default configuration files for your hardware if any LIRCMD_CONF="" #Forcing noninteractive reconfiguration #If lirc is to be reconfigured by an external application #that doesn't have a debconf frontend available, the noninteractive #frontend can be invoked and set to parse REMOTE and TRANSMITTER #It will then populate all other variables without any user input #If you would like to configure lirc via standard methods, be sure #to leave this set to "false" FORCE_NONINTERACTIVE_RECONFIGURATION="false" START_LIRCMD="" andreas@yavdr:~$
Codeandreas@yavdr:~$ cat /etc/serial.conf #COM1 equivalent, /dev/ttyS0 /dev/ttyS0 uart none #COM2 equivalent, /dev/ttyS1 #/dev/ttyS1 uart none
Codeandreas@yavdr:~$ cat /etc/modprobe.d/lirc-serial.conf #COM1 equivalent, /dev/ttyS0 options lirc_serial irq=4 io=0x3f8 #COM2 equivalent, /dev/ttyS1 #options lirc_serial irq=3 io=0x2f8 install lirc_serial setserial /dev/ttyS0 uart none; /sbin/modprobe --ignore-install lirc_serial
Codeandreas@yavdr:~$ lsmod | grep lirc lirc_serial 10198 1 lirc_dev 8884 3 lirc_serial andreas@yavdr:~$
ein
bestätigt mir das der IR-Sender grundsätzlich angesprochen werden kann, indem die LED1kurz aufleuchtet.
wenn ich jetzt im Webinferface auf /ttyS1 umstelle, kann ich mit
das Signal absenden und der Fernseher geht aus, oder eben an.
lircd nun zweimal zu starten funktioniert zwar, aber ich kann für den zweiten Prozess kein device angeben,
da sich an der oben genannten Konfiguration nichts ändert, außer die /etc/modprobe.d/lirc-serial.conf
Ich sehe das doch richtig, das man für jeden lircd Prozess ein eigenes device braucht, oder?
wie kann ich es jetzt schaffen beides gleichzeitig zum laufen zu bringen?
oder genauer, wie bekomme ich /dev/lirc1, was mit /dev/ttyS1 spricht? -
Da Du nur einen Empfänger hast, passt Dein Problem hier eigentlich nicht rein.
Für den Sender müssen Einträge unter "Chosen IR Transmitter" gemacht werden.
Sender -> TransmitterDa ich jedoch keine Erfahrung auf diesem Gebiet habe, liest Du Dich besser mal selber auf der lirc-Seite ein.
Gruß,
Saxman2k -
Hallo und danke für die Antwort,
du hast wohl recht, es geht in meinem speziellen Fall um einen Sender,
dieser scheint sich allerdings von einem Empänger, sogut wie gar nicht unterscheiden,
denn wenn ich, wie schon gesagt, im Webinterface von ttyS0 zu ttyS1 welches, funktioniert der Sender einwandfrei, nur dann eben der Empfänger nicht mehr. -
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
Also mir fehlt da noch etwas an Angaben. Von meinem Verständnis her kann das noch nicht funktionieren.Mittlerweile bin ich schon ziemlich lange auf der lirc-Seite gewesen und habe zum senden sehr wenig Infos gefunden. Ich kann Dir also nicht weiterhelfen.
-
hi,
ich verstehe den zusammenhang mit der hardware.conf auch nicht wirklich, ehrlich gesagt.
was ich brauche ist ein zweites /dev/lircX, z.B. /dev/lirc1,
wenn ich das habe, kann ich lircd mit den nötigen parametern starten, nämlich
und dann kann ich /dev/lircd1 bei irsend angeben und hoffentlich fröhlich signale absenden.
die frage ist: woher bekomme ich /dev/lirc1 ? -
-
Hallo,
also im endeffekt habe ich es so geloest, wie oben beschrieben,
nach dem kompilieren konnte ich das modul lirc_serial2 laden und mit dem script ein passendes lirc-device erstellen.Code
Alles anzeigendescription "Start Lirc" author "BooStar" start on starting vdr task script sleep 5 stop remoted setserial /dev/ttyS0 uart none mknod /dev/lirc1 c 61 1 #cp -a /var/run/lirc/lircd /var/run/lirc/lircd1 #ln -s /var/run/lirc/lircd1 /dev/lircd1 cp -a /dev/lircd /dev/lircd1 modprobe lirc-serial2 sleep 5 /usr/sbin/lircd --driver=default --device=/dev/lirc1 --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --listen=8766 /etc/lirc/lircd.conf sleep 2 /usr/sbin/lircd --driver=default --device=/dev/lirc0 --output=/dev/lircd --pidfile=/var/run/lircd2.pid --connect=localhost:8766 /etc/lirc/lircd2.conf end script
die hardware.conf sieht jetzt so aus, wobei mir auffällt das sie scheinbar völlig ignoriert wird.Code
Alles anzeigen#Chosen Remote Control REMOTE="Home-brew (16x50 UART compatible serial port)" REMOTE_MODULES="lirc_dev lirc_serial" REMOTE_DRIVER="" REMOTE_DEVICE="/dev/lirc0" REMOTE_LIRCD_CONF="" REMOTE_LIRCD_ARGS="" #Chosen IR Transmitter TRANSMITTER="IRdeo" TRANSMITTER_MODULES="lirc_dev Lirc_serial2" TRANSMITTER_DRIVER="" TRANSMITTER_DEVICE="/dev/lirc2" TRANSMITTER_LIRCD_CONF="" TRANSMITTER_LIRCD_ARGS="/etc/lirc/lircd2.conf" #Enable lircd START_LIRCD="true" #Don't start lircmd even if there seems to be a good config file #START_LIRCMD="false" #Try to load appropriate kernel modules LOAD_MODULES="true" # Default configuration files for your hardware if any LIRCMD_CONF="" FORCE_NONINTERACTIVE_RECONFIGURATION="false" START_LIRCMD=""
naja, es ist sicher keine "saubere" lösung, aber so funktioniert es wenigstens.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!