Y.A.R.D.2 USB IR Empfänger & Einschalter / LCD / Wakeup RTC

  • Hallo,


    Ich möchte euch mein Projekt Y.A.R.D. 2 USB vorstellen.


    Der ursprüngliche Thread ist in HTPC-News Forum entstanden und mittlerweile
    ins Techkram Forum umgezogen Y.A.R.D.2 Thread
    Ich hoffe es ist OK das zu verlinken.


    Bis jetzt gab es nur eine Windows Software.
    Nachdem ich einige Anfragen von VDR-Nutzern bekommen habe,
    hab ich eine Linux Software geschrieben.
    Ich habe zwar nicht so viel Erfahrung mit Linux,
    aber die Software ist auf einem gutem Weg.


    Den YARD2 gibt es in 3 Versionen.
    Eine Micro, Mini und eine LCD Version.


    Als YARD2 kann folgendes:


    Alle:
    -> Anschluss über USB, extern oder direkt am Mainboard (benötigt +5V Standby !! Ohne geht es nicht)
    ->
    Emulierte serielle Schnittstelle, es ist kein zusätzlicher Treiber für
    Linux notwendig, wird meistens unter ttyACM0 eingebunden
    -> IR Empfänger (wird in HW dekodiert; Protokolle RC5, RC6, NEC, Sony, Samsung)
    -> Starten via IR Signal


    Mini & LCD:
    -> IR Sender (RC5, RC6, NEC, Samsung)
    -> Starten via eingebauter Uhr (Wakeup Funktion aus S5) (RTC GoldCap gepuffert startet das System nach Uhrzeit)


    LCD:
    -> Alles was der Mini auch hat +
    -> Anschluss für 4 Taster direkt, bis zu 127 Taster über Dioden Matrix
    -> Drehimpulsgeber mit Taster
    -> LCD Anschluss für CLCDs (HD44780/KS0073) und GLCDs (KS0108 / T6369c)


    Linux Software:
    -> yard2srvd ist ein Daemon der im Hintergrund läuft
    -> lirc daemon Treiber
    -> yard2wakeup zum einbinden in den VDR zum automatischen aufwecken
    -> yard2config für die Konfiguration
    -> yard2record zum Erzeugen der IRMap Tabelle für den eigenen lirc Server + /input/event
    -> yard2flash für das Firmware update (zum einfachen Aktualisieren der Firmware)
    -> lirctest, ein einfaches Testprogramm für lirc events
    -> Ein eigenständiger lirc Server ist in den yard2srvd daemon implementiert. Man muss nicht mehr den Umweg über lirc machen.
    -> Es wird jetzt ein dev/input/event[x] erzeugt, welches eine virtuelle Tastatur darstellt (Default im udev)
    -> udev Regel für das automatische starten und stoppen
    -> [Beta] Treiber für LCDproc funktioniert für Charakter LCDs


    [Update 12.04.2013]
    Mittlerweile gibt es auch eine SMD Version des Y.A.R.D.2 LCD SMD.
    Diese hat die Maße von der Mini Version (4x5 cm) und die Features von der LCD-Version


    [Update 27.10.2013]
    -> [Beta] Ein eigenständiger lirc Server ist in den yard2srvd daemon implementiert. Man muss nicht mehr den Umweg über lirc machen.
    -> [Beta] Es wird jetzt ein dev/input/event[x] erzeugt, welches eine virtuelle Tastatur darstellt


    [Update 01.11.2013]
    -> [Beta] Treiber für LCDproc funktioniert für Charakter LCDs


    [Update 07.11.2013]
    Neue Rev4 vom Y.A.R.D.2 Mini. Ist etwas verkleinert worden auf 4cm x 3,5cm.
    Zusätzlich hat er einen i²c Anschluss bekommen und eine LED.


    [Update 19.12.2013]
    Die Linux SW hat jetzt ein Automake script :-)


    [Update 15.03.2014]
    Software erweitert und Debian packages verfügbar (12.04 und 14.04) (siehe unten)
    Automatisches Wakeup für yaVDR und easyVDR


    [Update 03.07.2014]
    Y.A.R.D.2 als Micro Version (2,2cm x 2,2cm)


    Falls jemand Interesse / Fragen hat kann er sich gerne melden.


    Den Y.A.R.D.2 gibt es bei mir als Bausatz.


    Gruß,
    Rainer


    Ressourcen:
    Readme
    PPA: Launchpad
    Source: GIT

  • Ich hatte den YARD schon länger hier rumfliegen und habe mich endlich mal daran gemacht, es an meinen VDR zu hängen. Ich bin sehr angetan, wie einfach das ging. yard2srvd kompilieren ging ohne Probleme und muss einfach nur vor lircd gestartet werden. lirc muss als Sourcecode ausgecheckt werden und der YARD Patch eingespielt werden. Ging alles nach Anleitung und kompilierte ohne Probleme. Es werden keine speziellen Kernelmodule o.ä. benötigt. Anlernen muss man den YARD nicht, er dekodiert die meisten bekannten Protokolle von sich aus. Also musste ich nur noch die lirc.conf anpassen, damit für die empfangenen Signale auch die passenden lirc Events erzeugt werden. Mit der Wakeup RTC Funktion habe ich mich bisher nicht befasst, weil das mein Motherboard schon erledigt.


    Vielen Dank für so ein super Projekt!

    HFX mini, i3-4330, Asrock H97M, 2 x 2 GB DDR3-1600, OCZ Vertex 32GB, 2 x WDC Caviar Green 2 TB, Pioneer DVR-K06, Terratec Cinergy 1200 DVB-C, TechnoTrend C-1500, YARD mini USB mit OLED, Pulse-Eight USB - HDMI-CEC, Debian Jessie, Kodi

  • Ja, ich muss mal meine Skripte anpassen. Mit meinem Motherboard kann man nur die Uhrzeit einstellen aber nicht den Tag. Außerdem scheint die Uhr in meinem YARD Exemplar sehr genau zu gehen.

    HFX mini, i3-4330, Asrock H97M, 2 x 2 GB DDR3-1600, OCZ Vertex 32GB, 2 x WDC Caviar Green 2 TB, Pioneer DVR-K06, Terratec Cinergy 1200 DVB-C, TechnoTrend C-1500, YARD mini USB mit OLED, Pulse-Eight USB - HDMI-CEC, Debian Jessie, Kodi

  • Hallo miteinander,


    anscheinend bin ich zu blöd: Ich kann die Unterlagen (Schaltpläne, Layout, Stücklisten usw. - idealerweise Eagle-Dateien) und Firmware (gibt's Sourcen?) zum Y.A.R.D. 2 nicht finden. Wer erleuchtet mich mal?


    TIA
    purzel

  • Hallo,


    Nach einiger intensiven Entwicklungzeit haben wir die Software stark verbessert und
    wir ein Ubuntu Package für 12.04 und 14.04 erstellt.
    -> https://launchpad.net/~yard2team/+archive/stable


    Es gibt ein UDEV Regel, die den Daemon startet und beendet.
    Der default Mode ist nun der Input mode, der eine Tastatur simuliert.
    Den lircd braucht man damit nicht.
    Wenn man den Default ändern möchte, muss man die udev Regel anpassen.


    Mit einem eigenen IR->KEY Anlernprogamm kann man sehr einfach die
    IR codes auf entsprechende Tasten legen.


    Das automatische programmieren der nächsten Weckzeit wurde für
    yaVDR und easyVDR implementiert.
    Dazu bitte alle anderen Wakeup Routinen abschalten.
    Aktiviert wird es in /etc/vdr/vdr-addon-yard2wakeup.conf.


    Gruß,
    Rainer

  • Ich habe mir für meinen neuen VDR auch einen Y.A.R.D.2 Mini zugelegt. Nachdem das Ding jetzt funktioniert, möchte ich hier meinen Erfahrungsbericht schreiben:


    Ich hatte mir die Software vorher angesehen und sie für ausreichend Funktional gehalten. Der Entwickler hat sich wirklich einiges dabei gedacht und man sieht auch die Entwicklungsschritte, die bei der Benutzung des lircd + yard-Patch begonnen haben, dann über eine interne lircd Implementierung bis zur input Device Verwendung gingen. Mir war klar, dass es da noch Ecken und Kanten geben würde, aber ich bin ja gut im feilen und hämmern, und so dachte ich mir, da könnte ich etwas beitragen, wenn Zeit bleibt. Die Hardware unterstützt derzeit leider noch kein WakeOnUSB, aber das kommt vielleicht noch.


    Den Bausatz bestellt man per PN oder eMail beim Entwickler. Es kommt alles in Einzelteilen und es gibt nichts in SMD zu löten. Das Löten ist nicht schwierig, weil es eine sehr gute Bauanleitung dazu gibt. Sie wurde in der Zwischenzeit auch verbessert, weil ich natürlich das eine oder andere nicht gleich kapiert habe und einige Zeit brauchte drauf zu kommen, wie manches gemeint ist. Rainer hat alle meine Verbesserungsvorschläge für die Doku sehr freundlich angenommen.


    Dann kam die SW an die Reihe. Es war ursprünglich nur ein Makefile, aber es reichte um mit meinen Y.A.R.D.2 zu sprechen.
    Nur so konnte die SW nicht bleiben. Sie musste in ein Linux übliches Paket gegossen und an meine VDR Distribution angepasst werden. War alles gar nicht so einfach, weil viel mit bedingter compiliation gemacht wurde. Das musste alles auf Options umgestellt werden, um nur ein Debian Paket zu erstellen. Die Bekanntschaft mit Herrn UDEV war am Anfang auch eher kühl.


    Im vorigen Post habt ihr den Link auf das Ergebnis. Es ist zwar noch nicht perfekt, aber sollte jetzt von jedem einfach installiert werden können. Verbesserungsvorschläge sind bei Rainer sicher willkommen. Ich selbst habe auch schon wieder Ideen, aber ich muss mal an meinem CI weiterbasteln.
    Die Tools zum Konfigurieren sind alle Consolen Programme. Das User Interface ist recht schlicht, aber funktional gehalten. Nachdem man diese Tools nur einmal benötigt um die Fernbedienung anzulernen, bzw. den LED Mode einzustellen, lohnt hier ein GUI Programm nicht.


    Der Y.A.R.D.2 dekodiert die IR Signale der Fernbedienung selbständig. Es sind also RC5, RC6 und andere Protokolle in der Hardware implementiert. Die dekodierten HEX Bytes werden zum Daemon gesendet, der diese dann anhand der angelernten Tabelle in Tastendrücke umwandelt und weiterleitet.
    Das derzeitige UDEV Script verwendet den Input Device Mode. Das ist zum Einbinden in die yaVDR Distribution der einfachste Weg gewesen. Die Tastendrücke werden dann von eventlircd via lircd Socket zum VDR oder XBMC weitergeleitet. Das Anlernprogramm kennt die gewünschte yaVDR Tastaturbelegung, was hilfreich beim Anlernen ist. Es ist keine weitere Konfiguration von eventlircd erforderlich.


    Generell war die Zusammenarbeit mit Rainer sehr gut. Das war für mich das ersten Open Source Projekt, wo ich wirklich gerne viele Stunden investiert habe, weil man schnell Verbesserungen sehen konnte. Außerdem konnte ich auch wieder mal einiges über die Interna der yaVDR Distribution lernen und eben auch UDEV Rules verstehen und debuggen. Das die SW und das Paket auch ungeändert für EasyVDR funktioniert, freut mich dann auch sehr. Rainer wird hier noch eine Version ins PPA stellen, die beim Anlernen die EasyVDR Tasten auswählen lässt.


    Falls die yaVDR Entwickler eine weitergehende Integration wünschen, dann bitte bei mir melden. Ev. kann ich das auch noch machen. Das wäre dann aber nur im WEB Frontend und im Template System notwendig, weil alles andere passt ja schon (denke ich).


    LG
    Jasmin

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

  • Es gibt ein UDEV Regel, die den Daemon startet und beendet.


    Schick. Ich muss leider erst meine Hardware runderneuern, weil nach 8 Jahren das Motherboard nur noch alle paar Stunden booten will. Dauert noch was und dann setze ich wahrscheinlich auch das BS ganz neu auf.
    (Ich habe in letzter Zeit meine Systeme von Ubuntu wegmigriert, weil ich die Schnauze voll hatte von allen möglichen Problemen mit Upstart und KUbuntu wurde ja aufs Abstellgleis verschoben. Mal schauen, wo ich lande, ich lasse Rainer dann die Anpassungen zukommen. Evtl. bleibe ich ja doch bei Ubuntu, falls die jetzt zügig auf systemd umstellen.)

    HFX mini, i3-4330, Asrock H97M, 2 x 2 GB DDR3-1600, OCZ Vertex 32GB, 2 x WDC Caviar Green 2 TB, Pioneer DVR-K06, Terratec Cinergy 1200 DVB-C, TechnoTrend C-1500, YARD mini USB mit OLED, Pulse-Eight USB - HDMI-CEC, Debian Jessie, Kodi

  • Ich habe dem Daemon jetzt ein Config File beigebracht. Damit kann man fast alle CMD Line Optionen auch per File einstellen. Die Y.A.R.D.2 Config Files liegen jetzt in /etc/yard2 (auch die Keymap). Die UDEV Rule wurde dafür angepasst und ein Default Config File erstellt und dokumentiert.
    Damit ist eine Integration in eine Distribution noch leichter durchführbar.


    Das Debian Paket wurde um preinst, postinst und prerm Scripts erweitert. Jetzt wird nach einem Install/Update automatisch der Daemon restartet. Wird das Paket entfernt, wird auch der Daemon gestoppt.


    Das neue Paket ist im PPA verfügbar.


    LG
    Jasmin

  • Neue Y.A.R.D.2 Version : Y.A.R.D.2 Micro
    Nur IR Empfänger + IR Wakeup
    Klein: 2,2cm x 2,2 cm
    Kann auch mit 90° Stiftleisten bestückt werden um flacher zu werden.
    Bild siehe Beitrag 1 :-)