Internetradio mit dem Raspberry Pi
Der Raspberry Pi eignet sich hervorragend, um ein eigenes Internetradio zu bauen. Er bietet selbst ein komplettes Betriebssystem (mit z.B. Internet-Verbindung und Audio-Decoding) und auch GPIO-Pins, um Signale von anderen Bausteinen zu empfangen und zu senden.
Ich will hier nicht genau auf die einzelnen Bausteine eingehen, sondern werde die groben Bestandteile vorstellen und auf die detaillierten Anleitungen verweisen.
Lautsprecher
Zunächst einmal ist klar, dass irgendwelche Lautsprecher benötigt werden. Will man die Ummantelung des Radios (also z.B. eine Kiste) selbst bauen und die Lautsprecher direkt integrieren, wählt man hier Einbaulautsprecher. Dabei sollte man dann darauf achten, dass es sich um Breitbandlautsprecher handelt. Diese decken den gesamten Frequenzbereich ab. Hochwertige Lautsprecherboxen werden nämlich oftmals aus zwei oder drei verschiedenen Lautsprechern gefertigt, welche dann jeweils nur hohe, mittlere oder niedrige Frequenzen wiedergeben können. Kauft man fälschlicherweise solch einen Lautsprecher, wird das Klangerlebnis nicht so toll sein.
Geliefert werden diese Einbaulautsprecher meiner Erfahrung nach ohne Anschlusskabel. Sie haben einen Plus- und einen Minuspol, an denen man das Kabel selbst verdrillen oder noch besser verlöten kann. D.h. man muss sich auch ein Klinkenkabel kaufen. Diese gibt es praktischerweise ebenfalls als Einbauvariante, wo bereits ein Stück abisoliert ist.
Grundsätzlich sollte man jedoch auch ein existierendes Kabel aufschneiden können. Allerdings sind meiner Erfahrung nach dort die Adern sehr viel dünner, sodass sie sich vielleicht schlecht abisolieren lassen oder leicht brechen.
Verstärker
Dann muss man sich überlegen, wie man den Lautsprecher ansteuern will. Der Raspberry Pi hat bereits einen Audioanschluss, dieser alleine direkt am Lautsprecher ist jedoch relativ leise.
Man kann auch eine USB-Soundkarte verwenden. Bei meinem Test war der Ton dann lauter, jedoch immer noch verbesserbar.
Daher benötigt man einen Verstärker. Hierfür wird vielfach der LM386-1 empfohlen, weil er besonders günstig ist. Es existieren auch bereits komplette Schaltpläne für einen Verstärker mit dem Baustein.
Wichtig bei diesem Schaltplan ist es, darauf zu achten, den Widerstand zur Rauschunterdrückung korrekt zu dimensionieren. Sonst wird entweder der Ton sehr leise oder das Rauschen sehr hoch. Ich habe hierzu viele Widerstände durchprobiert, man könnte aber auch ein Potentiometer verwenden.
Sollte der Ton dennoch sehr leise sein, kann es daran liegen, dass irgendwelche Anschlüsse nicht stabil sitzen.
Meine Erfahrung ist auch, dass das Rauschen auf dem Steckbrett mit langen, dünnen Jumperkabeln höher ist als später auf einer Lochrasterplatine mit Drahtbrücken.
Eingabe
Weiterhin müssen die Eingabemethoden für das Radio festgelegt werden. Zur Lautstärkeregulierung bietet sich natürlich ein Drehknopf mit Potentiometer an (welches direkt in die Verstärkerschaltung eingebaut wird). Die restliche Interaktion ist sicherlich sehr flexibel.
Ich habe beispielsweise fünf Knöpfe für Favoritenprogramme gewählt. Alles andere muss noch über einen zweiten PC gesteuert werden. Manche Leute werden vielleicht eine Steuerung komplett über ihr Smartphone implementieren wollen.
Um die Knöpfe nicht alle direkt an die GPIO-Pins anschließen zu müssen, kann man einen zwischengeschalteten Mikrocontroller (bei mir Attiny) und/oder ein Schieberegister verwenden. Beim Schieberegister werden alle Eingänge abgefragt und dann mit einem bestimmten Takt über einen einzelnen GPIO-Pin durchgereicht. Indem man den Takt mitzählt, kann man dann ermitteln, welcher Knopf gedrückt wurde.
Wichtig hierbei ist allerdings, dass die Taktzeit nicht zu lange ist. Dauert das Abfragen zu lange, könnte es sein, dass ein kürzerer Tastendruck nicht erkannt wird.
Ausgabe
Außerdem kann man sich überlegen, ob man eine Ausgabe haben möchte und was hierauf angezeigt werden soll. Einige Online-Streams bieten z.B. Daten zum Songtitel an. Ich habe bisher selbst noch kein Display gekauft, will aber später eines einbauen.
Internetanbindung
Für die Internetverbindung muss man sich zwischen Ethernet und WLAN entscheiden. Für ein Radio scheint mir WLAN praktischer, allerdings benötigt man dann einen USB-Adapter. Hier scheint der EDIMAX EW-7811UN gute Dienste zu leisten.
Ethernet hingegen kann man direkt an die Buchse des Pi anschließen.
Softwarefunktionen
Letztlich muss man sich natürlich auch überlegen, welche Funktionen das Radio unterstützen soll. Die Hauptfunktion ist wohl die Musikwiedergabe, aber lohnenswert können auch Erweiterungen sein:
- Wecker mit Cronjobs (beliebig flexibel im Gegensatz zu käuflichen Weckern)
- Wiedergabe von Youtube-Playlists (evtl. sogar mit Video im Display?)
- Wiedergabe von mp3-Dateien
- …