[HOW-TO] Giantdisc - Musik fernsteuern über ein WLAN mit einem Palm und Ubuntu Dapper 6.06 LTS

Willkommen!

Wenn du im Nexave-Forum mitmachen möchtest, schreib an community@nexave.de. Wir haben die Registrierungsfunktion in unserem Diskussionsforum nämlich deaktiviert, weil sich praktisch nur noch Spammer und Werbebots registriert haben. Per E-Mail sind wir dir gern behilflich, einen Account anzulegen.
  • Giantdisc - Musik fernsteuern über ein WLAN mit einem Palm


    Erstmal die Voraussetzungen für mein Vorhaben:


    1. WLAN Router
    2. WLAN-fähiger Palm (z.B. einen TX)
    3. Eine Soundkarte und Boxen am Server
    4. Genug Speicherplatz für Musik auf dem Server
    5. Sämtliche Musikdateien sollten 100% richtig getaggt sein
    6. Die Files müssen in MP3, OGG und/oder FLAC vorhanden sein


    (GD funktioniert auch über rs232, bluetooth, gsm,
    aber ich werde nur die WLAN Variante beschreiben!)


    Was uns genau erwartet? Hier eine Vorschau der Palm Software!


    [Blockierte Grafik: http://www.dachboden-wg.de/ftp/pics/fish/gd/gd1.gif]


    Folgendes Konzept steckt dahinter:


    [Blockierte Grafik: http://www.dachboden-wg.de/ftp…ish/gd/schema-concept.gif]


    Auf dem Server wird ein Set von Skripten laufen, um MP3/OGG/FLAC abzuspielen, vom Palm aus wird das ganze bedient. Ein PC zur Steuerung ist nicht mehr nötig, die Musik lässt sich bequem über das Palm Interface abspielen.


    Giantdisc wurde von Rolf Brugger von der Uni Fribourg entwickelt - Qualitätsware aus der Schweiz also! :D


    Die offizielle Homepage mit Forum findet sich hier: http://www.giantdisc.org/


    Also, los gehts!


    Wir öffnen die /etc/apt/sources.list mit Nano und ändern folgende Zeile ab:


    Code
    deb http://ch.archive.ubuntu.com/ubuntu/ dapper universe
    deb-src http://ch.archive.ubuntu.com/ubuntu/ dapper universe


    Daraus wird neu:


    Code
    deb http://ch.archive.ubuntu.com/ubuntu/ dapper universe multiverse
    deb-src http://ch.archive.ubuntu.com/ubuntu/ dapper universe multiverse


    Speichern, dann ein sudo apt-get update um die Softwarequellen zu aktualisieren!


    Nun installieren wir die noch fehlenden Pakete für GD:


    Code
    sudo apt-get update


    Code
    sudo apt-get install perl mysql-client mysql-server libcddb-get-perl cdtool netpbm mp3info madplay libid3-3.8.3-dev libid3tag0-dev lame


    Code
    sudo apt-get install mp3info aumix id3 libdbd-mysql-perl mpg321 make cdparanoia pilot-link flac libtag1c2a libtag1-dev mplayer-nogui mpg123


    (eventuelle Abhängigkeitsprüfungen bejahen!)


    Ein paar der obigen DEBs sind allerdings optional, mehr dazu hier:


    http://giantdisc.org/man/man.p…oftware_and_Prerequisites


    Entscheidet selbst, was ihr davon nutzen wollt und was nicht!


    Nun gebären wir einen neuen Benutzer namens "music" mit entsprechendem Home-Verzeichnis:



    (Passwort nach Wahl, bei den Abfragen einfach ENTER drücken!)


    Code
    fish@fishbox:/home$ cd /home/; ls
    fish  music


    Der neue Benutzer "music" wurde also korrekt erstellt, sehr schön.


    Jetzt ändern wir die Rechte für einige "devices" und machen sie so world-readable:


    Code
    fish@fishbox:/$ sudo chmod 777 /dev/dsp
    fish@fishbox:/$ sudo chmod 777 /dev/ttyS*
    fish@fishbox:/$ sudo chmod 777 /dev/rtc
    fish@fishbox:/$ sudo chmod 777 /dev/mixer
    fish@fishbox:/$ sudo chmod 777 /dev/null
    fish@fishbox:/$ sudo chmod 777 /dev/hdc


    Der letzte Wert ist unser CD-ROM - es könnte bei euch woanders gemountet sein.


    Nachprüfen könnt ihr das, indem ihr die fstab ausliest:


    Code
    fish@fishbox:/$ cat /etc/fstab | grep cdrom
    /dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0


    Jetzt öffnen wir die /etc/environment...


    Code
    fish@fishbox:~$ sudo nano /etc/environment


    ...und ändern folgende Zeile:


    Code
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games"


    Sie soll neu wie folgt aussehen:


    Code
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games:/home/music/bin"


    Mehr zur bash und ihren Konfigurationsdateien gibts hier:


    http://www.bin-bash.de/
    https://wiki.ubuntu.com/environment_variables
    http://debiananwenderhandbuch.de/bashfunktionen.html


    Wir loggen uns mit "su music" als Benutzer "music" ein und holen uns die aktuelle GD:



    (momentan ist das die 1.41-5 - prüft auf giantdisc.org, ob es eventuell eine neuere Version gibt!)


    Wir entpacken das ganze und wechseln ins neu erstellte Verzeichnis:



    Das Installationsskript wird ausgeführt:



    Leider scheint die aktuellste GD einen kleinen Bug zu haben, wir holen uns also die Vorgängerversion:


    Code
    music@fishbox:~$ wget wget http://www.giantdisc.org/download/basicpkg/beta/GiantDisc_1.41-4.tar.gz


    Auch diese wird entpackt:


    Code
    music@fishbox:~$ tar xvzf GiantDisc_1.41-4.tar.gz


    Jetzt öffnen wir MC (Midnight Commander) und kopieren die Dateien genres.txt, languages.txt, musictypes.txt und sources.txt aus dem Verzeichnis /home/music/GiantDisc_1.41-4/database mit F5 nach /home/music/database!


    Bevor wir unsere Musik einlesen, müssen wir mit den Skripts make-db und make-tables eine Datenbank erstellen.


    Wir wechseln zurück zum User fish mit "su fish" und führen folgendes aus:


    Code
    fish@fishbox:/home/music/database$ sudo sh make-db.sh
    creating db
    fish@fishbox:/home/music/database$ sudo sh make-tables.sh
    creating tables
    reading genres
    reading languages
    reading musictypes
    reading sources


    Jetzt ein "su music" und dann starten wir den GiantDisc Server:


    Code
    music@fishbox:~/bin$ perl gdd.pl --commode2
    GiantDisc Server version 1.41-5
    Unknown option: commode2
    ### Init serial port /dev/ttyS1 at 19200 bps
    Open database connection
    DBI connect('GiantDisc:fishbox','music',...) failed: Can't connect to MySQL server on 'fishbox' (111) at /home/music/bin/gdserv.pm line 91
    unable to connect to GiantDisc db at /home/music/bin/gdserv.pm line 91.
    ### close database connection
    io modul finished


    Obige Fehlermeldung wird wie folgt umgangen:


    Code
    nano /home/music/.gdconfig


    Dort kommentieren wir die Zeile "dbhost = localhost" aus.
    Bei der Gelegenheit setzen wir den Wert "commmode" auch gleich noch auf 2!


    Wir versuchen es nochmals:



    Offensichtlich ist ein Update nötig:



    Nun gehen wir in die /home/music/.gdconfig und prüfen, ob folgende Werte richtig gesetzt sind:


    Code
    dbhost = localhost
    tcpiphost = 192.168.0.175
    tcpipport = 26468


    Jetzt wird der GD-Server nochmals gestartet:


    Code
    music@fishbox:~/bin$ perl gdd.pl
    GiantDisc Server version 1.41-5
    Open socket on localhost at port 26468 as server (mode 2 - generic)
    Open database connection
    ID of this instance of gdd (playerid): 0
    sh: gdrefresh.pl: command not found
    Giant Disc Server started
    connection open? ... no
    Server accepting socket ...


    Bingo! ;)


    So weit, so gut - natürlich muss aber noch der Palm Client installiert werden, er findet sich hier:


    Code
    fish@fishbox:/home/music$ cd PalmClient/
    fish@fishbox:/home/music/PalmClient$ ls
    gd-palmos3.prc  gd.prc  JpegLib.prc  pnoJpegLib.prc


    Ich habe diese Dateien in den eingerichteten NFS-Share verfrachtet (siehe Kapitel 5) und dann mit Kubuntu Feisty auf meinen Palm installiert. Natürlich könnt ihr das auch auf Windows per Hotsync oder auf der Kommandozeile erledigen.


    Das Palm Programm wird geöffnet, die Verbindung mit einem Klick auf "New" konfiguriert:


    Zitat

    Name: fishbox (oder was anderes, egal)
    ID: 0
    Communication Mode: TCP/IP generic
    Host: 192.168.0.175
    Port: 26468


    (gegebenfalls den Port in der Firewall für den Palm öffnen)


    Bei "default connection" ein Häkchen setzen, dann ein Klick auf Save!


    Wie wählen nun die Verbindung aus und versuchen uns mit "connect" einzuloggen.


    Falls dies geklappt hat, sieht man auf der Konsole eine Bestätigung.


    Jetzt haben wir es fast geschafft, aber unsere Files müssen noch importiert werden!


    Das Palm Programm und der Server Prozess wird nochmals beendet.


    In dem Verzeichnis mit unserer Musik führen wir nun folgenden Befehl aus:


    Code
    music@fishbox:/media/stoked/Possessedby/Audio$ find . -type d -print -exec /home/music/bin/gdimport.pl -l {} \;


    Dabei verwenden wir die Option -l, damit die Dateien in /home/music nur gelinkt, nicht aber dort hin kopiert werden.


    Jetzt ist es vollbracht - wir starten den Server erneut, öffnen GD auf dem Palm und spielen den ersten Track ab! :)


    Nun sollte man eigentlich alle eingelesenen Files direkt über den Palm abspielen können. Da GiantDisc noch viele weitere Features mit sich bringt (Last.fm, CDs rippen, Server runterfahren, Replaygain, etc.) lohnt sich auf jeden Fall auch ein Blick in die Dokumentation und auf giantdisc.org. Eventuell werde ich später noch auf einige dieser Möglichkeiten eingehen.


    Zum Schluss möchte ich mich noch besonders bei Rolf, Teardrainer und Nonos bedanken für die super Hilfe im GiantDisc Forum - Jungs, ohne euch wäre dieses How-To nie zu Stande gekommen!


    Originalbeitrag:


    *click*


    (von mir geschrieben)


    Très cordialement,
    fish


    :D

  • Anhang 1 - GiantDisc und Last.fm


    Auch GiantDisc würden wir gerne zum scrobblen bringen.


    Zuerst müssen wir zwei Abhängigkeiten installieren:


    Code
    fish@fishbox:~/sources$ sudo apt-get install libconfig-inifiles-perl libwww-perl


    (Abhängigkeitsprüfung bejahen!)


    Jetzt noch folgende Befehle ausführen:


    Code
    fish@fishbox:~/sources$ wget http://cpan.calvin.edu/pub/CPAN/modules/by-module/Audio/Audio-Scrobbler-0.01.tar.gz


    Code
    fish@fishbox:~/sources$ tar zxvf Audio-Scrobbler-0.01.tar.gz


    Code
    fish@fishbox:/home/music/sources/Audio-Scrobbler-0.01$ sudo perl Makefile.PL


    Code
    fish@fishbox:/home/music/sources/Audio-Scrobbler-0.01$ sudo make


    Code
    fish@fishbox:/home/music/sources/Audio-Scrobbler-0.01$ sudo make test


    Kommt folgende Meldung, haben wir Erfolg:


    Code
    All tests successful.


    Jetzt noch:


    Code
    fish@fishbox:/home/music/sources/Audio-Scrobbler-0.01$ sudo checkinstall


    (das Paket "checkinstall" muss dafür installiert sein!)


    Code
    fish@fishbox:/home/music/sources/Audio-Scrobbler-0.01$ sudo dpkg -i audio-scrobbler_0.01-1_i386.deb


    Die Einstellung dazu findet sich in der /home/music/.gdconfig, es sollte in etwa so aussehen:



    Abspeichern, Server neu starten, scrobblen!



    Anhang 2 - GiantDisc automatisch beim booten starten lassen


    Wer GD sofort "ready" haben will nach dem aufstarten des PCs, editiert folgende Datei:


    Code
    fish@fishbox:~$ sudo nano /etc/rc.local



    Abspeichern, fertig!



    Zitat

    Original von g00cy
    Gibts das auch für Windows?


    Nö, das ist linux-only! :D

  • Zitat

    Original von PalmBär
    Cooler Beitrag stokefish (allerdings morgens um 6 :D ?)


    Ja, ich muss zugeben - für dieses How-To ging eine ganze Nacht drauf!


    Jetzt würd ich eine GD Installation wohl in ca. 30 Minuten schaffen...


    Naja, aller Anfang ist schwer! ;)

  • Zitat

    Original von Tasarion
    Danke, stokedfish, wirklich klasse gemacht!


    Danke fürs Lob!


    Wer das ganze in einem PDF will, kann sich das hier mal angucken - das sind dann allerdings über 100 Seiten und die ersten 10 Linux Kapitel sind da auch drin...


    Zitat

    Original von Tasarion
    Wenn jetzt GiantDisc noch auf meiner Dreambox laufen würde, bräuchte ich nicht immer den Fernseher anzumachen, um Musik zu hören...


    Hehe, mein PC ist nicht im Wohnzimmer, das WLAN und die Boxen aber schon.


    Also brauch ich nur noch den TX, um meine Musik abzuspielen...einfach herrlich! :D