Ambient Internet XRadio


XRadio - Ambient Internet RadioXRadio - Ambient Internet Radio

 

Die Idee:

Internet-Radio-Streams ohne brummenden PC-Lärm genießen! Und wenn man schon dabei ist das Ohr mit tausenden kostenlosen Radio-Streams aus allen Musikrichtungen zu verwöhnen, warum nicht gleich noch etwas fürs Auge tun und mit dem Radio auch gleich ein gemütliches Ambiente schaffen, bei dem es sich entspannt Musik hören lässt. Sprich: Ein Ambient-Möbel!

(Siehe auch neues Projekt Second Generation) Foto: Internet Ambient Radio Second Generation

Infos zum Projekt:


Der Plan:

 

BauplanUralt-Hardware wiederbeleben und daraus ein Internet-Radio bauen. Dabei kann man auch gleich eine ganze Palette an Fähigkeiten anwenden, lernen und üben. Von Software und Betriebssystem über die elektronischen und elektrischen "Kleinigkeiten" bis zu den guten alten handwerklichen Dingen wie Holz-, Kunststoff- und Metallbearbeitung.

Dabei soll das Radio keine anderen Geräusche von sich geben als den Radio-Stream, damit auch leise Hintergrundmusik völlig störungsfrei genossen werden kann. Also müssen schon mal die Lüfter draußen bleiben. Bei den geringen Anforderungen an die Rechenleistung und Stromverbrauch sollte das mit passiver Kühlung kein unlösbares Problem sein. Auch Festplatten nerven mit ihren sirrenden Geräuschen. Daher bleiben als Speichermedium nur nicht-mechanische Varianten, wie z.B. Flash-Medien. Gerade diese lassen sich über einen IDE-Adapter sehr einfach als Laufwerk einbinden.

Die Bedienung soll möglichst einfach sein und weder Tastatur, Maus noch Monitor benötigen. Also bleibt neben der Möglichkeit einer Fernbedienung der Bau eines eigenen Bedienpanels.

 


Der Prototyp:

 

Am Anfang war die Idee die verwirklicht werden wollte. Um ein Gefühl vom Design, der Konstruktion und dem vorhanden Platz zu bekommen musste zunächst ein Plan her. Es sollte ein symmetrisches X mit einer Grundfläche von 80x80cm werden. Da die Tischlerplatten recht günstig in 25cm Breite zu haben waren, war die Breite somit auch vorgegeben. Aber welche Winkel ergeben sich für solch ein X? Also musste eine Zeichnung her. Die half schon mal die groben Dimensionen abzuschätzen.

Aber ich wollte es ganz genau wissen. Da musste dann die Mathetrickkiste her. Zunächst habe ich alle unbekannten Längen und Winkel mit Variablen versehen und dann Gleichungen mit ihnen gebastelt. Die letzte Textaufgabe war zwar schon etwas länger her, aber nach etwas spielen mit Pythagoras und den Winkelsätzen hatte ich dann ein Gleichungssystem mit vier Gleichungen und vier Unbekannten, dass sich nach einigen Umformungen auch von mir lösen lies. ... Schon ein gewisses Erfolgserlebnis :) ...

Da ich es mir einfach gemacht habe und die bekannten Angaben gleich einsetzte, bleibt die nette Aufgabe eine parametrisierte Lösung für beliebige X-Grundflächen und Bretterbreiten zu erstellen dem geneigten Leser überlassen. :)

Nachdem nun all Maße bekannt waren, wurde die 3D-Konstruktion und die Platzierung der inneren Bauteilen diskutiert und immer weiter verfeinert. Durch die vielen Ratschläge und fachlichen Tipps konnten so schon in der Planung einige Klippen umschifft werden.

Das Grundgerüst besteht nun aus zwei X-Flächen, die mit 4 Vierkanthölzern verbunden sind. Diese sind auf der Vorderseite gedübelt, auf der Rückseite verschraubt, um ein späteres Öffnen des Möbels zu ermöglichen. Dabei ist darauf zu achten, dass sie nicht zu nahe an der Oberseite befestigt werden, damit die Beleuchtung nachher keine Schatten wirft. Jede X-Fläche besteht dabei aus einem durchgehenden Brett und zwei passenden Seitenteilen, die auf der Innenseite mit zwei durchgehenden Vierkanthölzern am durchgehenden Brett festgeschraubt sind. Dadurch erhält das X seine Grundstabilität.

Nach dem Zuschneiden aller Teile (ein Winkelanschlag ist dabei eine praktische Hilfe, um mit der Stichsäge saubere Schnitte in den passenden Winkeln zu produzieren) wurden dann die Nuten an den Außenseiten der Bretter gefräst, in die dann später die Plexiglas-Scheiben geschoben werden. Mangels einer Oberfräse kam eine Bohrmaschine mit Fräsaufsatz zum Einsatz. Obwohl das Ergebnis erstaunlich gut geworden ist (durch die vorhandene Führung und einer Werkbank mit Materialhaltern) war es doch eine nicht ganz einfache Angelegenheit. Wegen der geringeren Drehzahl und dem nicht ganz so präzisen Aufsatz der Bohrmaschine würde ich nun aber jedem eine Oberfräse empfehlen :)

Durch den genauen Plan war jetzt auch das Ausschneiden der Öffnungen für Boxen, Bedienpanel, Belüftung, Schnittstellen und Schalter einfacher. Danach konnten Vorder- und Rückseite geschliffen und lackiert werden. Dabei führten die Versuche mit einer feinen Kunststoffrolle zu besseren Ergebnissen, als die Pinselversuche. Der Hochglanz-Acryllack ließ sich so sehr gleichmäßig und ohne Steifen auftragen, weshalb zwei Lackier- und Schleifdurchgänge, mit einem Trockentag dazwischen, ausgereicht haben.

Der nächste Schritt war das Bekleben der Innenseite mit Spiegelfolie, um später ein gleichmäßigeres, diffuseres Licht im Inneren zu erzeugen und Schattenwürfe möglichst zu vermeiden. Ebenso wurden sowohl die Quer- und Längs-Vierkanthölzer, als auch alle größeren Flächen der Elektronik beklebt, ebenfalls um das Licht auch an verwinkelte Stellen zu bringen.

Der Einbau der Elektronik war einer der spannendsten Schritte, da nun die Idee erstmals greifbar wurde und hier am meisten improvisiert werden musste. Das längliche, lüfterlose Netzteil (vielen DANK für die Spende!) eines NEC-PowerMate Rechners wurde links unten, schräg in den Fuß des X mit Winkeln auf Vierkanthölzern von allen Seiten befestigt, sodass auch beim Transport oder Kopfstehen des X ein sicherer Halt gewährleistet ist (nicht ganz einfach bei den vorhandenen Möglichkeiten der Befestigung). Zuvor musste der Anschluss noch für den AT-Anschluss am Mainboard angepasst werden.

SchaltplanDa die notwendigen Spannungen (+/-12V, +/-5V) vorhanden waren, musste nur noch das fehlende PowerGood-Signal simuliert werden. Dieses teilt beim AT-Standard dem Mainboard durch ein 5V High-Pegel mit, dass die Stromquelle nach dem Einschalten eine stabile Spannung erreicht hat. Dazu wurde eine einfache Schaltung gelötet, die nach einer einstellbaren Zeit dem entsprechenden Pin 5V spendiert.

Das Mainboard wurde auf eine Trägerholzplatte mit Abstandhaltern befestigt und im anderen Fuß des X befestigt. Auf der Unterseite dieser Platte befindet sich der IDE-Adapter mit dem CompactFlash. Zur einfacheren Wartung ist das CompactFlash über eine kleine versteckte Wartungsklappe zwischen den beiden X-Beiden erreichbar. Somit kann man recht einfach das Flash austauschen ohne das Gehäuse auseinander nehmen zu müssen.

Das Bedienpanel war recht schnell eingebaut, da die Befestigungslaschen der Blende (eigentlich für doppelten PC 5 1/4 Zoll Schacht gedacht) einfach festgeschraubt werden konnten. Die Taster sind mit dem Matrix-Tastatur-Eingang des Displays verbunden und können über dessen Firmware seriell abgefragt werden. Das Bedienkonzept ist dabei bewusst einfach gehalten. Die Tastenreihe unten sind Stationstasten, wobei der rechte eine "Random-Station" aller Shoutcast-Stationen ist. Die Taster darüber sind kontextabhängig belegt. Meist für die Auswahl nach oben und unten; mit dem mittleren Taster zu Bestätigung oder zum Abbruch.

Die Aktivboxen waren schon etwas kniffliger einzusetzen. Die geschwungene Gehäusefront hat eine vernünftige Befestigung verhindert. Daher wurde die Front teilweise abgesägt, um eine ebene Kontaktfläche zu erzeugen. Da nun die Verstärkerplatine nicht mehr passte, die Anschlüsse aber zu kurz für ein Verlegen waren, mussten einige Kabel umgelötet und verlängert werden. Bei dieser Gelegenheit wurde auch der Lautstärke-Poti ausgelötet und über ein Kabel zum Bedienpanel verlegt. Die Boxen wurden dann mit Winkeln vor die Öffnungen geschraubt, wobei sie auf Fensterabdichtband gedrückt wurden, um den Schallkörper nach innen (das innere des X-Gehäuses) luftdicht abzuschließen und das X-Gehäuse von Schwingungen der Boxen etwas zu entkoppeln, was sehr gut gelungen ist. Die Tonqualität hat somit durch die Umbauten nicht gelitten, was beim Ändern der Bauform der Schallkörper bisher immer etwas heikel war. 

  

(to be continued ...)

 


XRadio Bilder

 

clickXRadio-Shot3XRadio-Shot4XRadio-Shot11

>>> mehr Fotos hier >>>

 

 


Die Software:

 

Ich hatte zunächst einige MP3-Player und Skripts getestet, aber keiner hatte alle gewünschten Funktionen. Es gibt zwar einen Haufen Jukebox-Software, aber die war entweder nicht für Shoutcast-Streams geeignet oder konnte sich mit einem Bedienpanel nicht wirklich gut steuern lassen. Also musste etwas flexibleres her.

Die Entscheidung die Software mit PERL anzugehen fiel hauptsächlich wegen des bereits vorhandenen PERL Moduls für das MatrixOrbital Display. So war die Display-Ansteuerung und die Abfrage der Taster relativ einfach, wenn auch dafür die Programmierung der parallelen Abläufe aufgrund der gekapselten Funktionalität der Module etwas schwieriger wurde.

Ein weiterer Grund war das mpg123-Modul, mit dem der MP3-Stream relativ gut gesteuert werden kann. Leider beherrscht mpg123 keine Titel-Infos bei MP3-Streams, sodass diese direkt vom Shoutcast-Server abgerufen werden müssen.

Etwas knifflig war noch die Umstellung des Dateisystem auf "read-only", um das Compact-Flash zu schonen. Dazu wurde eine Ramdisk angelegt und alle Dateien auf die geschrieben werden zunächst umkopiert und dann symbolisch verlinkt.

V1.1:

  • MP3-Streams von Stationstasten abspielen
  • Lokale MP3-Files abspielen
  • Shoutcast nach Genre browsen/abspielen/speichern
  • Zufalls-Sender
  • Bigfont-Scroller (3x3 Zeichen zusammengesetzt aus den 8 frei definierbaren Zeichen)
  • Pause / Stumm / Uhrzeit
  • MP3-Tag anzeigen
  • Systeminfos (mem/cpu usage/idletime/uptime/diskspace)
  • Shutdown
geplant/angedacht:
  • Titel-Infos der MP3-Streams vom Server abrufen
  • Comand Line Interpreter für LCD-Display (Admin-Mode)
  • Speicherfunktion für MP3-Streams (lokal/remote)
  • Re-Design für bessere Displayunabhängigkeit
  • Interface für Fernbedienung (IR/Netz)
  • Web-Interface
  • Mail/IM/Skype - Signale/Interaktion
  • Ambient LCD "ScreenSaver"
  • Neuer Font (2x2 Zeichenfont für zweizeilige Darstellung)

(... demnächst mehr Details zur Software ...)


Die Credits:

 

Schon jetzt möchte ich mich für die vielen Tipps und Diskussionen bei allen bedanken ( entschuldigen? :) ), die mich bei diesem Projekt unterstützt haben! Sei es durch kleine und große Hardwarespenden, durch fundiertes Fachwissen und moralische Unterschützung!

 

DANKE!

 


Der aktuelle Stand:

 

Das Gehäuse ist nun fertig und im Wohnzimmer angekommen! Es spielt, leuchtet und die Temperatur ist OK! Das Konzept ist aufgegangen!

Software: V1.1 fertig!

 OS: läuft stabil! Kleinere Änderungen noch an Userberechtigungen, und Run-Level-Skripts zur Optimierung der Boot-Zeit