irmplircd für USB IR Remote Receiver (based on irmp)

  • Hallo zusammen,


    im uC Forum gibt es eine interessantes USB-IR-Receiver Projekt auf AVR-Basis. Im Unterschied zu anderen USB-IR-Receivern basiert das Projekt auf IRMP. Das Dekodieren erfolgt komplett auf dem AVR. In der Theorie ist das PlugAndPlay. Für den diesen IR-Receiver habe ich einen LIRC-kompatiblen Daemon gebaut, der auf inputlirc basiert. Bisher gab es nur Windows Support. Mit dem Daemon funktionieren bei mir vdr und xbmc ohne Probleme.


    Weitere Infos zu diesem Projekt gibts hier USB IR Receiver


    Den Daemon und irmpexec gibts bei github irmplircd

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.81) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.0 mit SAT>IP, epgsearch, epg2vdr, vdr-epg-daemon
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.5+git | Linux Kernel 4.14+git | VDR 2.4.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von glotzipapa ()

  • Sehr cool. dass klingt nach einer Lösung zu meinem Problem (Atric IR Empfänger ersetzen durch USB IR, aber wie ?). Hoffe am Wochenende dazu zu kommen deinen Daemon zu testen..


    Gruß, Sven

    VDR-Server: MLD 5.0.0 (HEADLESS), Banana Pi, 3TB Platte, 2 Sundtek SkyTV Ultimate
    VDR-Client-1: MLD 4.0.0, ASROCK K8NF4G-SATA2, Digitainer, X10, Nvidia GeForce EN210 silent
    VDR-Client-2: MLD 4.0.0, ASROCK A330ION, Digitainer, Atric IR Rev.5
    VDR-Client-3: MLD 5.0.0, Raspberry PI B
    VDR-Client-4: MLD 4.0.0, ASROCK ION 330HT
    VDR-Client-5: yaVDR 0.4, HP dc5750, Nvidia GeForce EN210 silent, USB IR Remote Receiver mit irmplircd (Mini-How-To)
    VDR-Client-DEAKT: MLD 4.0.0, ECS GF8200SM-M3

  • Ich bin begeistert.


    Ich habe den Empfänger auch schon seit längerem am laufen.
    Aber mit dem HID Mapper. Da habe ich immer mal wieder das die Fernbedienung nicht geht.


    Ich werde deine Lösung mal testen.


    Gruß Lokutus

    Server: ZOTAC H55-ITX WiFi, Core i3, Ubuntu 10.4 Server mit yavdr Paketen und ein Paar mehr
    Client1: ZOTAC NM10-DTX WiFi, YaVDR 0.5

    Client2: ZOTAC Zbox ION2, openELEC

  • Ist ja toll, dass alle das Projekt gut finden. Es wäre aber noch toller, wenn auch mal Feeback kommen würde, ob alles funktioniert. Oder ist es so, dass bei ausbleibendem Feedback alles ok ist?


    BTW: Betreibt jemand den Empfänger mit einer Frequenz > 10000? Bei mir funktioniert das nicht, es wird nichts mehr korrkt empfangen.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.81) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.0 mit SAT>IP, epgsearch, epg2vdr, vdr-epg-daemon
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.5+git | Linux Kernel 4.14+git | VDR 2.4.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Hi,


    ich konnte gestern leider noch nicht testen.
    Mit etwas Glück schaffe ich es heute Abend.


    Gebe dir dann Rückmeldung.


    Eine Frage habe ich jetzt schon. Ich habe gesehen, dass du eine map Datei in den Quellen beigelegt hast. Wie ermittelst du die Codes der Fernbedienung? Ein cat auf das hidrow Device?


    Gruß Lokutus

    Server: ZOTAC H55-ITX WiFi, Core i3, Ubuntu 10.4 Server mit yavdr Paketen und ein Paar mehr
    Client1: ZOTAC NM10-DTX WiFi, YaVDR 0.5

    Client2: ZOTAC Zbox ION2, openELEC


  • Eine Frage habe ich jetzt schon. Ich habe gesehen, dass du eine map Datei in den Quellen beigelegt hast. Wie ermittelst du die Codes der Fernbedienung? Ein cat auf das hidrow Device?


    Genauso wie bei lircd auch: irw. Die Mappingdatei ist optional.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.81) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.0 mit SAT>IP, epgsearch, epg2vdr, vdr-epg-daemon
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.5+git | Linux Kernel 4.14+git | VDR 2.4.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Hi,

    Zitat

    Ist ja toll, dass alle das Projekt gut finden. Es wäre aber noch toller, wenn auch mal Feeback kommen würde, ob alles funktioniert. Oder ist es so, dass bei ausbleibendem Feedback alles ok ist?


    Sorry, ich bin auch noch nicht dazu gekommen. Im Augenblick ist einfach das Wetter noch zu gut. Feedback kommt sicher, ich weiß nur noch nicht wann. :)


    Gruß
    Stefan

  • Hi,


    ich hab mal ein wenig mit dem Dienst rumgespielt.


    Wenn den Ordner /var/run/lirc nicht gibt, kann der Dienst den SOCKET nicht anlegen und startet damit auch nicht.


    Gruß Pascal

    Server: ZOTAC H55-ITX WiFi, Core i3, Ubuntu 10.4 Server mit yavdr Paketen und ein Paar mehr
    Client1: ZOTAC NM10-DTX WiFi, YaVDR 0.5

    Client2: ZOTAC Zbox ION2, openELEC

  • Sorry, ich bin auch noch nicht dazu gekommen. Im Augenblick ist einfach das Wetter noch zu gut. Feedback kommt sicher, ich weiß nur noch nicht wann. :)


    ... kann mich nur anschließen; bin leider auch noch nicht dazu gekommen und spielen darüber hinaus gerade auch noch mit meinen SMT7020S Boxen 'rum.


    Sobald ich dazu komme gebe ich Feedback (positiv und/oder negativ).


    Danke und Gruß, Sven

    VDR-Server: MLD 5.0.0 (HEADLESS), Banana Pi, 3TB Platte, 2 Sundtek SkyTV Ultimate
    VDR-Client-1: MLD 4.0.0, ASROCK K8NF4G-SATA2, Digitainer, X10, Nvidia GeForce EN210 silent
    VDR-Client-2: MLD 4.0.0, ASROCK A330ION, Digitainer, Atric IR Rev.5
    VDR-Client-3: MLD 5.0.0, Raspberry PI B
    VDR-Client-4: MLD 4.0.0, ASROCK ION 330HT
    VDR-Client-5: yaVDR 0.4, HP dc5750, Nvidia GeForce EN210 silent, USB IR Remote Receiver mit irmplircd (Mini-How-To)
    VDR-Client-DEAKT: MLD 4.0.0, ECS GF8200SM-M3

  • Hi,


    ich wollte nochmal einen Statusbericht abgeben :-)


    Ich habe den Dienst über udev in das System eingebunden.
    Der Dienst läuft seit meinem letzten Beitrag ohne Probleme. Mit dem hidmapper hatte ich immer das Problem das der Empfänger nicht immer erkannt wurde. Dieses Problem habe ich mit dem irmplircd nicht.


    Nochmal vielen vielen Dank für die Arbeit.


    Damit steht ein günstiger IR-Empfänger mit Einschaltfunktion für den VDR zur Verfügung.


    Gruß Lokutus

    Server: ZOTAC H55-ITX WiFi, Core i3, Ubuntu 10.4 Server mit yavdr Paketen und ein Paar mehr
    Client1: ZOTAC NM10-DTX WiFi, YaVDR 0.5

    Client2: ZOTAC Zbox ION2, openELEC


  • ich wollte nochmal einen Statusbericht abgeben :-)
    [...]
    Der Dienst läuft seit meinem letzten Beitrag ohne Probleme.


    Danke für den Feedback.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.81) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.0 mit SAT>IP, epgsearch, epg2vdr, vdr-epg-daemon
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.5+git | Linux Kernel 4.14+git | VDR 2.4.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Hallo,


    ich habe Probleme bei der Inbetriebnahme: Ich habe den source compiliert und starte irmplircd -f /dev/hiddev0.
    Sehr sporadisch reagiert die Applikation mit
    dummy=....
    meistens haengt er in dem select-Aufruf in der main-loop und reagiert nicht auf einen Tastendruck.
    Wenn ich cat /dev/hiddev0 aufrufe, habe ich aehnliches Verhalten: Nur sehr sporadisch reagiert er mit der Ausgabe von binaeren Daten auf einen Tastendruck.
    Unter windows (DLL_Demo.exe) reagiert er gut.


    Irgendwie scheint mir das devcie nicht richtig eingebunden.


    Hat jemand einen Tip?


    Wolfgang

  • Hi,


    ist war etwas Off-Topic, aber passt auch zum Thema IRMP.


    Ich hatte mir schon vor einer Weile ein kleines Tool geschrieben, was im Prinzip die Funktionsweise von lircd+lircexec in einem Programm nachbildet.
    D.h. mein Programm verwendet selber keine lirc.


    Im Prinzip wird jeder RC-Taste ein Kommando zugeordnet werden, das Mapping steht in der Konfigurationsdatei.


    Das Format der Konfigurationsdatei ist recht einfach gehalten z.B.



    Alle unbekannten (nicht in /etc/irmp_exec.conf) RC-Codes werden auf der Konsole angezeigt, um diese zuordnen zu können.
    Da es direkt mit dem IRMP-Controller per libusb spricht, könnte es auch zum Testen verwendet werden.


    Code
    1. # /usr/local/bin/irmp_exec /etc/irmp_exec.conf
    2. Found USB IR Remote Receiver with IRMP release 18.01.2011
    3. Unhandled data received, protocol 9, address 4, command 1, flags 0
    4. Unhandled data received, protocol 9, address 4, command 2, flags 0


    Das Programm läuft schon hier schon eine weile auf auf einer Dockstar (ARM-CPU) und steuert MPD, als ressourcensparendes Hintergrundprogramm.


    Andreas

  • So ./irmplircd -f -t irmp.map /dev/hidraw0 laueft erstmal. Ich habe eine provisorische map erstellt. D.h. ich bekomme MAP_OK.
    Aber vdr reagiert nicht. Was muss ich machen, damit vdr/lirc darauf reagiert? Welche configs muss ich anpassen?
    ich starte vdr mit


    start_daemon /usr/local/bin/my_runvdr -L /usr/local/src/VDR/PLUGINS/lib -P streamdev-server -P epgsearch -P live -c /etc/vdr -E /var/vdr -r /usr/bin/markad -s /usr/local/bin/my_vdr_shutdown.sh -d -w 180 --lirc


    Wolfgang

  • ist war etwas Off-Topic, aber passt auch zum Thema IRMP.
    Ich hatte mir schon vor einer Weile ein kleines Tool geschrieben, was im Prinzip die Funktionsweise von lircd+lircexec in einem Programm nachbildet.
    D.h. mein Programm verwendet selber keine lirc.


    Coole Sache, genau das hat mir noch gefehlt. Damit brauche ich dann gar kein lirc mehr.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.0.81) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.0 mit SAT>IP, epgsearch, epg2vdr, vdr-epg-daemon
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 2.5+git | Linux Kernel 4.14+git | VDR 2.4.0 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Graphlcd-ax206dpf, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Auch wenn es lange gedauert hat, hier meine udev Regel.
    /etc/udev/rules.d/80-irmp.rules


    Code
    1. KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", RUN+="/bin/mkdir /var/run/lirc", RUN+="/usr/local/sbin/irmplircd /dev/%k", RUN+="/bin/ln -s /var/run/lirc/lircd /dev/lircd"


    Gruß Lokutus

    Server: ZOTAC H55-ITX WiFi, Core i3, Ubuntu 10.4 Server mit yavdr Paketen und ein Paar mehr
    Client1: ZOTAC NM10-DTX WiFi, YaVDR 0.5

    Client2: ZOTAC Zbox ION2, openELEC

  • Danke!
    Funzt mit EasyVDR 0.9

    Hardware:
    Wohnzimmer:
    Gigabyte MB GA-7VM400AMF ,512MB,AMD Sempron 2400,FP1:1,8" 20GB 64Gb SSD,FP2:1TB Maxtor in Gummi ufgehaengt, DD-Bridge 2xs2 tuner,Knc-one budget,TT1400DVB-t,Schussel:1,2Meter 3xDoppelLnb 2x4fach diseqcswitch
    Soft:MLD 3.1 :love2
    ZweitVDR: (zum rumspielen)
    Digitainer 2
    TT1400DVB-t
    Hauppage Hvr4000
    Reel HDe
    *vdr zum testen.