SEMISteuereinheit multimedialer Inhalte

Motivation

Es gibt mittlerweile eine Menge Linux-Distributionen, die sich auf Multimedia-Boxen spezialisiert haben, wie z.B. GeeXboX, Freepia oder die, wie Epios, die Hardware des im Projekt benutzten Mini-ITX Boards optimal unterstützen.
Andere Projekte wie MythTV oder Freevo konzentrieren sich auf die Bereitstellung einer Oberfläche zu Audio/Video Tools. Diese sind soweit auch ausgereift, dass sie über Fernbedienung steuerbar sind und auch die Möglichkeit bieten zusätzliche Module hinzuzufügen (z.B. Wettervorhersage).
Da sich diese Projekte hauptsächlich auf Video und TV konzentrieren und ich keine Lust habe irgendwelche Linux-Distrubitionen an meine Bedürfnisse anzupassen beschloss ich eine eigene Oberfläche zu bauen, die schon vorhandene Tools anspricht. Schwerpunkt sind Musik und Bilder und nicht TV. Da ich mich FreeBSD gut auskenne habe ich dieses Betriebssystem als Basis genommen, obwohl es in Multimedia Dingen weit hinter den Möglichkeiten von Linux-Systemen liegt. Das hier vorgestellte Bundle wäre mit einigen Anpassungen zur Einbindung der

Konzept

Die Inhalte, wie Bilder, Musikstücke und Videos werden auf einem zentralen File-Server verwaltet. Auf die Daten wird mittels NFS zugegriffen. Die einzelnen Clients (SEMI-Geräte) booten von einer Flash-Karte. Das Sytem selbst arbeitet dann nur noch im RAM. Eine Besonderheit ist noch, dass das usr-Verzeichnis der Clients via Netzwerk vom Server gemountet wird. Der Vorteil hiebei ist, dass eine Änderung an SEMI nur einmal im Server vorgenommen werden muss. Gerade in der Entwicklungsphase erspart dieses Vorgehen zahlreiche Schreibzugriffe auf den Flash-Speicher.

Hardware

Die komplette Hardware ist in einem ausgedienten Hifi CD-Spielergehäuse untergebracht. Mit 17 x 17 cm ist der Mini-ITX Formfaktor besonders für den Einbau in begrenzte Räumlichkeiten geeignet. Das augesuchte Board SP13000 von Via ist mit seinem C3 Prozessor ein stromsparender Rechner. Der bekanntermaßen etwas laute Prozessorlüfter von VIA wurde durch einen etwas leiseren ersetzt. Mit Heatpipes und groß dimensionierten Kühlrippen hätte man auch das komplette Gerät lüfterlos halten können. Durch die Verwendung eines Flashspeichers anstatt einer Festplatte ist mir eine weitere Geräuschquelle erspart geblieben.
Der eingebaute CN400 Chipsatz unterstützt hardwareseitig beschleunigte MPEG2 und MPEG4 Decodierung. Dies wird im Gegensatz zu FreeBSD auch von einigen Linux-Distributionen unterstützt. XOrg ab Version 6.9 unterstützt durch einen entsprechenden UniChrome Treiber die Grafikausgabe dieses Chipsatzes.

Notwendige Anpassungen:

Die bestehende Fontblende des ehemaligen CD-Spielers erfordert, aufgrund ihrer Dimension, den Einbau eines SlimLine DVD-Laufwerks. Dessen Front der Schublade mußte seitlich verkürzt werden damit die alte in diese eingeharkt werden konnte. Die Sicherung am An/Aus Schalters des alten Gehäuses wurde auch gleich gegen eine leistungsfähigere ausgetauscht, so dass sie mit dem neuen 60 Watt Netzteil harmoniert. Anstelle der alten LCD-Anzeige wird vorne eine USB-Buchse und der Schacht für CompactFlash und MMC Karten herausgeführt. Eine eigene LCD-Anzeige wäre auch cool gewesen, nur sind die Teile auch etwas teuer.


Das entkernte Gehäuse

Stromversorgung und Halterung

Vollständig bestückt

Hardwareliste:

Software

Betriebssystem:

Wie schon erwähnt wird ein FreeBSD 6.0 als Betriebssystem verwendet. Das System ist aber von einigen Balast manuell befreit worden. Eine gute Anleitung um ein schlankes FreeBSD zu bauen findet man auf der MiniBSD-Seite. Da nur der Kernel und ein Teil des Basissytem auf der Flash-Karte landen, reichen max. 32 MB aus.

Web-Interface:

Gerade für das Abspielen von Musikstücken wird nicht unbedingt ein Bildschirm gebraucht. Daher läst sich SEMI auch über ein Web-Interface fernsteuern. Denkbar hierfür ist der Einsatz eines Handys oder PDAs. Für erste Versuche wurde ein Zaurus PDA mit einer USB-Verbindung zum SEMI-Gerät verwendet.
Auf dem SEMI-Gerät läuft hierfür der tclhttpd als Web-Server. Vorteil dieses Servers ist, dass die ganze Logik in Form von Tcl-Modulen im Server untergebracht werden kann.
Web-Interface und Standalone Bedienoberfläche bieten die selbe Funktionalität (Siehe Sektionen).

Standalone Bedienoberfläche:

Die Oberfläche SEMI ist in Tcl/TK geschrieben und dient hauptsächlich dazu die ganze Mediasoftware unter einen Hut zu bringen. Die folgenden Beispiel-Screenshot beziehen sich auf das Theme 'azteca'.

Folgende Sektionen existieren:

Notwenige Softwarepakete: