Informatik und Kram

Da wir lange nicht wußten, wo wir das für die Uni ausgearbeitete Material unterbringen sollten und auch einen schrecklichen Drang hatten der Welt diverse Sachen aufzudrücken...

UDPRemote: Freevo mit dem PDA über Wlan fernsteuern
de-flagge aktiviert en-flagge deaktiviert

Ich hab hier ja diesen schönen Barebone, den ich aber leider mangels S-Video Out nicht an den Fernseher anschließen kann. Also habe ich mir gedacht, dann wenigstens als Jukebox mit Freevo laufen lassen. Aber wo sehe ich jetzt, wo ich im Menü bin? Wieso hab ich eigentlich nen PDA und mache nichts mit dem? Na dann auf!
Ein wenig rumgelesen und Freemote gefunden. Dafür muss man lediglich einen Apache Webserver auf der Freevo Box aufsetzen und man kann über jeden Browser fernsteuern. Das hört sich schon mal gut an, also schnell ein emerge apache2 auf dem Gentoo System gemacht, und 8-200 Stunden später hatte ich das alles eingerichtet. Eine schicke Oberfläche und alles funktionierte. Aber schon kamen die Probleme, die dieses System nun mal hat. Erstens muss die Seite jedesmal neu geladen werden, wenn man einen Button drückt und, was noch schlimmer ist, man bekommt von Freevo keinerlei Rückmeldung. Und wenn man nicht sieht, wo man ist, ganz schön scheiße.
Also habe ich ein wenig im Python Code rumgewühlt (wichtig sind hier die Dateien menu.py und rc.py im Hauptverzeichnis). Klasse: Freevo stellt schon mal einen UDP (und in neueren Versionen auch einen TCP/IP)- Server bereit. Auf meinem Laptop funktioniert das ganze auch schon wunderbar:
Auf der Client Seite habe ich mich ebenfalls für Python entschieden. Auf meinem Laptop klappt alles wunderbar, auf Windows Mobile 6 hingegen ist Python ein Krampf. Es läuft zwar, aber irgendwie kommt Python nicht mit meiner VGA Auflösung zu recht. Naja, es funktioniert, aber fertig ist das alles noch lange nicht. Erst mal für euch ein kleines Video. Wie gesagt, PythonCE suckt bei VGA Auflösung!
Aber wie gesagt, es gibt noch einiges zu tun:
  • Erst mal auf Serverseite ein Plugin schreiben, damit das nicht bei dem hässlichen "Im-Code-rumgewühle" bleibt. Das mag ich eigentlich gar nicht. Wird aber nicht so leicht, wenn ich nicht unabhängig einen Server realisieren will. Der von Freevo ist leider nicht bidirektional.
  • Ne Alternative auf der Clientseite zu Python, am besten mit Java, schließlich soll der Spaß später auch mit Angstrom auf dem HP HX4700 laufen. Eben Plattformunabhängig.
  • UPDATE:

    Sodele, das Ding ist im Kasten. Ich habe ein Plugin geschrieben, dass man hier runterladen kann. Ist natürlich eine erste Version, aber wurde hier bei mir mit Freevo 1.5.4 und 1.7.5 getestet und funktioniert. Bisher wird das Menü vollständig übertragen, dazu die Dateinamen von Video- und Audiodateien, die abgespielt werden. Ob ich später mehr integrieren werde, ist noch unklar... Wichtig fände ich noch den Detachplayer (man kann mit display auch jetzt schon zurück ins Menü, ohne dass die MP3 aufhört zu spielen) und eine Anzeige der aktuellen Lautstärke. Mal sehen.

    Installation:

    Einfach in den Pluginordner kopieren (Bei Archlinux /usr/lib/python2.5/site-packages/freevo/plugins) und folgendes in die local_conf.py klatschen:
    ENABLE_NETWORK_REMOTE = 1
    REMOTE_CONTROL_HOST = '127.0.0.1'
    REMOTE_CONTROL_PORT = 16310
    
    plugin.activate("udpremote")
    UDPREMOTE_CLIENTS = "192.168.1.145"
    UDPREMOTE_PORTS = "5555"
    
    Die ersten 3 Zeilen schalten den UDP Zugriff auf Freevo frei. UDPRemote braucht die unteren 3 Zeilen. Ich habe meinen HP mit dhcpd im Netz, also kann man da auch (mit Leerzeichen getrennt) mehrere IPs eintragen, an die der String gesendet wird! Wichtig: Immer die gleiche Anzahl Ports wie Clients angeben! Das wars.

    Der Client

    Den Client hab ich hier auch mal in Python hingeklatscht. Ich habe immer noch keine gescheite JVM für PPC gefunden, also muss die GUI langen. Sie benutzt Tkinter, also sollte das auch installiert sein. PythonCE runterladen, Tkinter hab ich hier auch noch mal als Zipdatei hochgeladen (Für boons hier noch mal ne Anleitung!).
    In der GUI selber sind unten folgende Zeilen, die sind kommentiert, also ändert es so ab, wie ihrs braucht.
    Über Rückmeldungen würd ich mich freuen. Wenn was nicht geht oder was man noch machen könnte. Also, haut rein!

    Jeah

    Many thanks Andreas,
    Your plug-in is now added into the plugins directory and the PDA client is
    in contrib/pdaclient directory at r10371.

    Kommentare

    Ja Geil! Da könnt man dann noch so Sachen wie Heim-Automation einbinden. Z.B. Relais für Rolläden, ne Anlage in der Küche/Klo, Kaffeemaschine, die man über PDA-WLAN dann steuert, etc.

    Hello there,
    I would like to use the gui.py, but I'm confused where to put it!
    On my iPhone or on the server running freevo??
    Greets,
    Frank

    put it on your iphone. freevo should provide the server.

    Kommentar schreiben