[HOWTO] YaVDR USB Displays (ax206-Chip) für verschiedene Zwecke verwenden

  • (Sysmon / Status-Display / Senderlogo / Live-Bild (Snapshot alle 5 Sekunden) / Terminal-Session)


    Hier findet ihr Infos, wie man gepatchte ax206-Bilderrahmen am YaVDR konfigurieren und einsetzen kann.
    In meinem Fall sind das 1,5-Zoll Fotoframes mit 128x128 Pixeln
    .


    BITTE BEACHTET: Alles was ihr tut geschieht auf Eure eigene Verantwortung!
    Ich versuche hier - so gut ich kann - Euch Hilfestellung zu geben.
    Fehler sind jedoch nicht ausgeschlossen!

    Wenn ihr welche entdeckt bitte PN, dann bessere ich nach.


    Vorbereitung:


    Software installieren:
    VDR-Plugin GraphLCD / SVN / XPM-Lib / dpf-ax / LCD4Linux / Python3 / Gimp
    ImageMagick / NetPBM
    Hinweise: Wird die XPM-Lib nicht vor dem Build installiert, kann das Display keine Grafikdateien anzeigen! "Class Image not supported"
    Gimp, NetPBM und ImageMagick werden zum (Batch-)Konvertieren / Skalieren / Zuschneiden der
    Senderlogos bzw. der Live-Snapshots auf 128x128 Pixel benötigt


    Code
    1. sudo aptitude install make automake autoconf subversion libgd2-xpm libgd2-xpm-dev vdr-plugin-graphlcd gimp gimp-plugin-registry netpbm imagemagick python3-dbus python3-dbus2vdr python3-gi (python3)
    2. cd /opt
    3. svn co https://svn.code.sf.net/p/dpf-ax/code/trunk dpf-ax
    4. cd dpf-ax
    5. ./build-dpf-lcd4linux.sh



    Zum automatischen Starten von 1) bis 4) verwende ich ein Startup-Script, das in der /etc/rc.local aufgerufen wird:



    1) Sysmon-Ausgabe (CPU-Last / Systemauslastung / Disk- und Netzwerk-Aktivität / Uptime)

    Eintrag in der /usr/local/bin/my-startup-script.sh

    Code
    1. /opt/dpf-ax/lcd4linux/lcd4linux -Ff /opt/dpf-ax/dpf_128x128_sysmon.conf &


    Die dpf_128x128_sysmon.conf



    2)
    Standard VDR-Statusdisplay über Graph-LCD und passendem Skin


    Treiber-Section für ax206 in der /etc/graphlcd.conf


    VDR Aufrufparameter für das GraphLCD-Plugin in der /etc/vdr/plugins/plugin.graphlcd.conf

    Code
    1. -c /etc/graphlcd.conf -d ax206dpf -s wofritz_128x128


    Skin-Ordner /usr/share/vdr/plugins/graphlcd/skins/wofritz_128x128 siehe unten als Anhang!


    3) Senderlogo

    Einträge in der /usr/local/bin/my-startup-script.sh

    Code
    1. /usr/local/bin/vdr-sender-logo-link-fuer-lcd4linux.py &/opt/dpf-ax/lcd4linux/lcd4linux -Ff /opt/dpf-ax/dpf_128x128_vdr-sender-logo.conf &


    Die Datei /usr/local/bin/
    vdr-sender-logo-link-fuer-lcd4linux.py


    Die Datei /opt/dpf-ax/dpf_128x128_vdr-sender-logo.conf

    Hier und hier gibt es Logopacks. Die dann auf 128x128 Pixel geänderten Logos müssen nach /var/lib/vdr/senderlogos/128x128_png kopiert werden.Hier ein kleiner Ausschnitt, wie das bei mir aussieht:

    Code
    1. lrwxrwxrwx 1 root root 26 Jul 18 17:32 prosieben maxx.png -> prosieben-maxx_128x128.pnglrwxrwxrwx 1 root root 52 Jul 17 22:47 prosieben.png -> {a0bacf2a-3492-43dd-89b4-e08c63953fb4}-ProSieben.pnglrwxrwxrwx 1 root root 47 Jul 17 22:43 rtl2.png -> {a062a8fa-8fc7-4c1f-a20e-acf560c2605e}-RTL2.pnglrwxrwxrwx 1 root root 13 Jul 17 23:18 rtlnitro.png -> rtl nitro.png


    Die Namen der Dateien müssen der Ausgabe des Python-Scripts beim Umschalten entsprechen.
    Hierfür z.B. die
    /usr/local/bin/vdr-sender-logo-link-fuer-lcd4linux.py einfach mal auf der Konsole ausführen
    und Kanäle umschalten oder den Link
    /tmp/aktueller-fernsehkanal.png kontrollieren.



    4) Live-Bild Snapshots

    Einträge in der /usr/local/bin/my-startup-script.sh

    Code
    1. /usr/local/bin/vdr-live-bild-fuer-lcd4linux.sh &/opt/dpf-ax/lcd4linux/lcd4linux -Ff /opt/dpf-ax/dpf_128x128_vdr-live-snapshot.conf &


    Die Datei /usr/local/bin/vdr-live-bild-fuer-lcd4linux.sh

    Shell-Script
    1. #!/bin/bashtempdir=/tmpcd $tempdirprefix=live-bildwhile true; do# svdrpsend GRAB $prefix.pnm 100 128 128 svdrpsend GRAB $prefix.pnm 100 240 180 convert -shave 56x26 $prefix.pnm $prefix-shaved.pnm sleep 0.200 pnmtopng $prefix-shaved.pnm > $prefix.png sleep 4.800done

    Info: Da ein direkt auf 128x128 Pixel gegrabtes Images auch noch Ränder hat
    grabbe ich es etwas größer und schneide das Image mithilfe von convert ringsum zu.
    Wer will kann das Image auch auf das /run Filesytem auslagern, dann wird nicht die Festplatte sondern der Arbeitsspeicher als Zwischenspeicher genutzt!


    5) XTERM


    Kompilieren von ax206term und librote

    Code
    1. aptitude install libncurses5-devwget -nd http://forum.doozan.com/file.php?9,file=326,filename=st2205term-0.12.tar.bz2,download=1 --output-document=st2205term-0.12.tar.bz2tar -xvjf st2205term-0.12.tar.bz2cd st2205term-0.12wget -nd http://downloads.sourceforge.net/project/rote/rote/rote-0.2.8/rote-0.2.8.tar.gztar -xvzf rote-0.2.8.tar.gzcd rote-0.2.8./configure && makesudo make installcd ..vi mak-dpf -> Auskommentieren der "sudo apt-get install"-Zeile./mak-dpf


    Hilfsscript /usr/local/bin/ax206term.sh, damit die Terminalsitzung nicht sofort aktiv geschalten wird

    Shell-Script
    1. #!/bin/bashwhile true; do read -p "*************************\* *\* Um das Root-Terminal *\* zu starten muss auf *\* der Tastatur das Wort *\* *\* 'rOOt' *\* *\* eingegeben werden. *\* *\* *\* Deaktivieren *\* der Sitzung *\* mit 'exit'! *\* *\*************************\" antwort case $antwort in rOOt ) /bin/bash --login; esacdone


    ax206term als root starten

    Code
    1. su -cd /tmpexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH; cd /tmp; /opt/dpf-ax/st2205term-0.12/ax206term --blink --command=/usr/local/bin/ax206term.sh


    Wichtige Info zu ax206term: Alles, was ihr nach gestartetem ax206term auf Eurer Tastatur eingebt wird ZUSÄTZLICH am Display angezeigt und wenn die Terminalsitzung aktiv ist sogar ausgeführt (als root!)!
    Ein <strg> + <c> wird somit auch interpretiert und führt somit zum Schließen der Sitzung. Vielleicht hat ja aus dem Forum noch jemad ne Idee, wie man das hier verbessern kann?



    Ich wünsch Euch viel Spaß mit den Displays!

    Vielen Dank an WoFritz, Superelchi und Seahawk1986 für Ihre Unterstützung!