yaUsbIR V2 LIRC USB IR Empfänger/Sender/Einschalter

  • Hinweis: Mittlerweile gibt es die Version 3!
    -> yaUsbIR V3 LIRC USB IR Empfänger/Sender/Einschalter



    Bastel-Projektvorstellung: LIRC-fähiger USB IR Empfänger/Sender mit Einschalter. Version 2.


    Mit den Erfahrungen und Anregungen der yaUsbIr V1 -Nutzer habe ich mich entschlossen eine stark verbesserte Version des Empfängers zu entwickeln.
    Vielen Dank an den yaUsbIr V1 -Nutzer die mir per PN viele Verbesserungsvorschläge zukommen ließen.


    Diese Version ist Software-Kompatibel mit der Version 1 , also der LIRC-Treiber von V1 kann auch weiterverwendet werden.


    yaUsbIR V2 - Hardware:
    - IR Empfänger
    - IR Sender (verstärkte Sendeleistung (100mA) gegenüber Version 1 )
    - es können bis zu 8 Bedientaste angeschlossen werden (z.B. Frontpanel-Tasten)
    - Anschluss für eine externe Status-LED
    - USB2 in Hardware in der MCU (kein problematischer USB-Stack in Software)
    - USB2 über internen Motherboard USB Anschluss
    - Power Status LED rot
    - IR-Signal und Einschalter-Status über LED grün
    - Einschalter für Power-Button Anschluss (oder Wake-On-LAN) (nicht mehr Polungsabhängig wie bei V1)
    - Anlerntaste
    - flache kleine Bauform (Leiterplatte 30 x 21 x 10 mm (L x B x H))


    yaUsbIR V2 - Software:
    - IR empfangen
    - IR senden (Trägerfrequenz 35kHz bis 41kHz)
    - IR Einschalter (und Ausschalter), anlernbar mit jeder handelsüblichen Infrarot Fernbedienung (alle üblichen IR Protokolle, nicht nur RC5/RC6)
    - "Anlernbare Fernbedienung": es können bis zu 8 weitere Tasten angelernt werden, die wiederum ein anlernbares IR-Signal zu weiteren IR-Empfänger (TV, Verstärker) senden. Somit können normale IR-Fernbedienungen (Fernbedienungen ohne Lernfunktion) fremde Geräte steuern ohne über den Umweg irexec (VDR). Anwendungsbeispiel ist auch: Lautstärke am Verstärker steuern (notwendig bei DTS-HD pass-through), TV ein/ausschalten
    - die Hardware meldet sich als RAW-HID-Gerät, somit sind keine zusätzlichen Treiber auf Betriebsystemebene notwendig
    - es wird keine kopierte oder geklonte USB VID/PID verwendet (eigene registrierte USB VID/PID)
    - die externen 8 Bedientasten generieren ein RC5 Code, die wiederum per LIRC decodiert werden
    - LIRC-Treiber in yavdr-0.5.0-alpha1


    Ein Userspace LIRC-daemon ist verfügbar : ya_usbir ( lirc-0.9.0_ya_usbirv2-3.diff.tar.gz ). Dieser kann IR-Codes senden und lesen. Über irrecord auch LIRCD-conf-Dateien erzeugen.
    lirc-0.9.0_ya_usbirv2-3.diff.tar.gz ist eine leicht verbesserte optimierte Variante von lirc-0.9.0_ya_usbir.diff.tar.gz (lirc-0.9.0_ya_usbir.diff.tar.gz kann auch verwendet werden) .


    Installation, LIRC patchen:
    tar -xjf lirc-0.9.0.tar.bz2
    cd lirc-0.9.0
    patch -p1 < lirc-0.9.0_ya_usbirv2-3.diff
    autoreconf --install
    ./configure --with-driver=ya_usbir
    make


    LIRC mit Treiber ya_usbir starten:
    mkdir /var/run/lirc
    ./daemons/lircd --driver=ya_usbir lircd.conf


    Bitte benutzt diesen Thread nur für dieses Thema yaUsbIR V2.
    Habt auch geduld bis ich Antworte, Sofortness gibt es bei mir nicht, bin ab und zu für Tage nicht Online, hab noch andere Hobbys (ja das gibts!!!).


    Alle weiteren Information sind im Dokument nachzulesen.


    EDIT:
    Nicht wundern wenn hier schon Leute die Version 2 haben. Ich beliefere vorrangig erst die Vorreservierten aus yaUsbIr V1 Zeiten...
    Aus Zeitmangel habe ich IR-Empfänger-Kabel und IR-Sender-Kabel als Bausatz beigelegt (siehe neues Dokument).



    Geändert: 20.01.2013 neuer Patch für LIRC, Fehlerbehebung irsend, USB-Timeout geändert für ubuntu-Systeme


    Gruß Uwe

  • Danke .. Nummer 1 läuft .. aktuell als Empfänger und Einausschalter. Die Tasten kommen noch.
    Einbindung super einfach.


    Danke Uwe.
    Super Arbeit.


    grüße der erst skeptische mentox ;-)



    PS die Größe ich auch genial ..

  • Nettes Teil, werde mir wohl auch einen bestellen.


    Genial finde ich die Möglichkeit, noch weitere Testen anzuschliesen.


    Wenn jetzt noch 2 weitere Ausgänge für z.B. Reset und einen Watchdog vorhanden wären, dann wäre yaUsbIR perfekt. ;)

  • und einen Watchdog


    Und ich dachte immer ich wäre alleine mit dem Wunsch ;) Son Watchdog bezahlbar findet man ja sonst nicht. Nen Watchdog fehlt meinem VDR wirklich noch.


    cu

  • Ist es möglich, den WakeUp bzw. WOL Ausgang auch per Software (Skript, LIRC, etc.) anzustoßen?


    Gruß
    Fux

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

  • Ist es möglich, den WakeUp bzw. WOL Ausgang auch per Software (Skript, LIRC, etc.) anzustoßen?


    Gruß
    Fux

    Vielleicht in V3, aber wozu braucht man dass?
    Mit dieser Funktion könnte man den Rechner höchstens resetten. Fürs Rechner ausschalten gibt es ja einfachere sofwaretechnische Wege.


    Gruß Uwe

    Multiroom-System:
    Server: ASRock J4105, openSUSE Tumbleweed, 14TB HD, Cine S2 (4Tuner), vdr2.4.0, streamdev-server

    FullHD-Client1: Zotac ZBOX HD-ND22, openSUSE 13.1, vdr2.2.0, streamdev-client, xineliboutput, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5
    FullHD-Client2: Zotac ZBOX HD-ND22, openSUSE 42.1, vdr2.2.0, streamdev-client, softhddevice, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5
    Test-Client: ASRock B85M, openSUSE Tumbleweed, vdr2.4.0, streamdev-client, softhddevice, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5

  • Falls es wirklich ums resetten geht, das geht auch wenn sonst nix mehr ("halt" oder "poweroff" geht in bestimmten Situationen nicht mehr) geht (hatte ich mir neulich mal ergoogled).
    ---
    echo -en '\xfe' | dd of=/dev/port seek=100 bs=1 count=1
    ---
    (Harter Reset über den Tastaturprozesor das ein laufendes Script auch noch absetzen kann wenn das System fast tot ist)


    BTW: Was hältst du von der Watchdog Idee? Wenn mehr als 60 Sekunden nix vom Host kommt dann Power > 4 Sekunden anziehen.


    cu

  • BTW: Was hältst du von der Watchdog Idee? Wenn mehr als 60 Sekunden nix vom Host kommt dann Power > 4 Sekunden anziehen.

    Die Idee ist mir schon gekommen. Aber!
    Welche Software auf dem Host soll denn den Watchdog triggern?
    Ich meine so ein stabieler Prozess wie ein LIRCD wird wohl immer laufen, auch wenn der Rechner halb hängt.


    Grüße Uwe

    Multiroom-System:
    Server: ASRock J4105, openSUSE Tumbleweed, 14TB HD, Cine S2 (4Tuner), vdr2.4.0, streamdev-server

    FullHD-Client1: Zotac ZBOX HD-ND22, openSUSE 13.1, vdr2.2.0, streamdev-client, xineliboutput, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5
    FullHD-Client2: Zotac ZBOX HD-ND22, openSUSE 42.1, vdr2.2.0, streamdev-client, softhddevice, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5
    Test-Client: ASRock B85M, openSUSE Tumbleweed, vdr2.4.0, streamdev-client, softhddevice, IR-Empfänger/Sender/Einschalter yaUsbIR V3.5

  • [...] Welche Software auf dem Host soll denn den Watchdog triggern? ...


    Das könnte entweder ein eigennes kleines Progrämmchen sein, oder evtl auch ein kleines VDR Plugin.
    Da ja der Watchdog dann via USB angesteuert werden würde, könnte ich mir auch ein Feature vorstellen, dass man der WD auch via Software an-. und abschalten könnte. :)

  • Welche Software auf dem Host soll denn den Watchdog triggern?


    Im einfachsten Fall nen Shellscript was alle 30 Sekunden nen Ping zum yaUSBIR sendet.


    Ich meine so ein stabieler Prozess wie ein LIRCD wird wohl immer laufen, auch wenn der Rechner halb hängt.


    Wenn Daemons noch laufen braucht man ja keinen Hardwarewatchdog. Da kann man ja was laufen haben was den oben geposteten Hardwarereset macht wenn es der Meinung ist das System ist jetzt komplett hinüber (wenn der VDR z.B. im I.O. hängenbleibt und einfach nicht mehr beendet werden kann *) ).


    Es gibt ja zwei Möglichkeiten.
    1. Der Hängt im POST oder beim Boot (bei mir gelegentlich (ca. 1 x im Jahr)).
    2. Das System ist so eingefroren das nix mehr geht aber kernel.panic = 5 (Autoreboot nach 5 Sekunden bei Kernel Panic) nicht mehr greift.


    Beides sehr selten, aber wäre schön zu haben wenn eh Hardware dran ist die das könnte (wobei ich nicht abschätzen kann wie aufwendig das wäre). Ich denke dabei gerade an Situationen wo der VDR 3 Wochen im Urlaub alleine ist. Da wäre es doch blöd wenn er da im Zweifel 3 Wochen im POST hängt.


    cu


    *) Hatte ich in Verbindung mit fusion (Shared Memory Kerneltreiber von directfb), da hing ein ps und ein killall -9 in der Endlosschleife wenn das Kernelmodul sich verabschiedet hatte. Da war nix mehr mit "halt" weil "service vdr stop" in ner Entdlosschleife hing.

  • Ich hab mal ne Frage zu dieser IR Brücke die mit dem yaUsbIR möglich ist:


    kann ich den Code auch "unterwegs" umsetzen: sprich vdr empfängt code a und schickt code b weiter, und ist der Sender mechanisch getrennt, kann ich ihn also gerichtet auf ein anderes Gerät ausrichten?


    Konkreter Anwendungsfall: Bei einem Freund bedient laut/leise des AV-Recivers die LED Strips Beleuchtung hinter dem Fernseher mit. Jetz wäre der Ansatz den LED Empfänger der Beleuchtung "zu verstecken", sodass nur noch der yaUsbIR Sender Zugang findet. Die Funktion könnte jetzt mit einem beliebigen Code seitens der HArmony ausgelöst werden.


    Geht sowas?


    Danke
    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD Red WD30EFRX 3TB in SW Raid5

  • kann ich den Code auch "unterwegs" umsetzen: sprich vdr empfängt code a und schickt code b weiter, und ist der Sender mechanisch getrennt, kann ich ihn also gerichtet auf ein anderes Gerät ausrichten?


    In der oben geposteten Anleitung wird es so beschrieben:


    D.h. der Code wird für 8 Tasten im Gerät selber einem anderen Code zugeordnet. Für die Umsetzung weiterer Tasten kann die Sendefähigkeit von Lirc genutzt werden (da braucht es dann vermutlich ein Programm/Skript, das das übernimmt - ich kann mir vorstellen, dass man lircd2uinput sowas leicht beibringen kann ;))
    Die Sende-IR-LED kannst du an einer zweiadrigen Leitung praktisch frei platzieren.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    The post was edited 1 time, last by seahawk1986 ().

  • Danke.


    Ich schick den Link mal zum Horchi, dem geht das mächtig auf den Sack das sich ewig die Farbe der leds ändert wenn er seinen Yamaha Receiver lauter oder leiser macht ;)


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD Red WD30EFRX 3TB in SW Raid5

  • Vielleicht in V3, aber wozu braucht man dass?
    Mit dieser Funktion könnte man den Rechner höchstens resetten. Fürs Rechner ausschalten gibt es ja einfachere sofwaretechnische Wege.


    Das yaUsbIR steckt in meinem Server, der rund um die Uhr läuft. Ich würde damit meinen Multimedia-Rechner, welcher neben den Server steht, per Softwarebefehl starten können.



    Die Sache mit dem Watchdog find ich auch sehr interssant.


    Gruß
    Fux

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

  • Ich würde damit meinen Multimedia-Rechner, welcher neben den Server steht, per Softwarebefehl starten können.


    Kann der kein WOL?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)


  • Die Karte braucht aber auch massig Platz und Parallelanschluß hat kaum mehr ein Board ...


    Der Multimedia-Rechner wird automatisch vom Netz getrennt und dann funktioniert kein WOL mehr.


    Also falls zwei schaltbare Ausgänge (z.B. für Einschalten und Reset/Watchdog) möglich wären, wäre Spitze. Ich hab schon eine V1, aber dann würde ich sofort noch eine V3 nehmen.



    Grüße
    Fux

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

  • mit vom netz genommen?
    wenn stromnetz kannste im bios doch auch auf immer on stellen. funktioniert im zusammenhang mit einer fuinksteckdose auch gut ;-)

  • Mein yaUsbIr V2 ist am Freitag auch angekommen,


    in yaVDR 0.5alpha1 einfach seriellen Empfänger abgestöpselt, yaUsbIr angestöpselt, per WFE von "Home-brew" auf "yaUsbIr mit eigner lircd.onf" umgestellt und schon lief alles.
    Danke dafür Uwe und dem Yavdr-Team.
    Der IR-Empfang ist erwartungsgemäß besser als beim meinem seriellen Selbstbau.
    Senden kommt demnächst.


    pc-medusa