Hörkoffer für Kinder im Eigenbau

Es begann mit einem Fund auf dem Sperrmüll: Eines Tages schleppten Frau und Kinder einen alten Kassettenrekorder an, ein quietschbuntes Teil aus Vollplastik. Eine Kassette war auch noch drin: Biene Maja, Teil 3. Die Kleinen waren hellauf begeistert: Endlich eine eigene „Musikanlage“, die sie selbst bedienen konnten. Natürlich leierte die Kassette wie Hund, was der Freude der Lütten jedoch Abbruch tat. Bei Papa hingegen brachten der Sound und die antiquierte Technik die Synapsen in Wallung: Sowas muss sich doch mit den Mitteln des 21. Jahrhunderts darstellen lassen …

Kassettenspieler
Dieser Fund auf dem Sperrmüll löste alles aus.

Eine Eier-legende-Wollmilchsau – drunter machen wir’s nicht

Die Idee war geboren: Ein Audioplayer für Kinder muss her, der diverse Audio-Dateiformate „versteht“, egal ob MP3, AAC, Flac oder sonstige, der lange mit einer autarken Stromversorgung läuft, sich drahtlos ins Netzwerk hängen lässt und mit halbwegs akzeptablem Sound daherkommt, am besten Stereo. Eine wertige Haptik ohne viel Plastik wäre auch schön. Und Internetradio, klar, damit die Kinder jederzeit KiRaKa hören können. Eine kurze Recherche auf dem Markt brachte die Erkenntnis: Es gibt zwar den ein oder anderen vielversprechenden Ansatz, aber kein Produkt, das meinen Anforderungen vollends genügt. Also: Selber bauen!

Intuitive Bedienung ohne Display

Die Machine sollte für Kinder ohne Lesekenntnisse intuitiv bedienbar sein. Über sechs Knöpfe, anhand unterschiedlicher Figuren zu unterscheiden, wählen die Kinder, was sie hören möchten. Wird derselbe Knopf ein zweites Mal gedrückt, pausiert der gerade gespielte Titel. Drückt man dann einen anderen Knopf und kehrt schließlich wieder zu dem ersten zurück, spielt der Track an der Stelle weiter, wo er vorher angehalten wurde (so lange die Maschine nicht neu gestartet wird). Diese Funktion ist vor allem für Geschwister wichtig, die sich darüber streiten, was gehört wird. Ich weiß, wovon ich rede … Es gibt einen Knopf für „Track vor“ (schwarz) und einen für „Track zurück“ (grün). Einen Ein-/Ausschalter und einen Lautstärkeregler.

Die sechs „Schächte“ können entweder mit beliebig vielen Audio-Dateien befüllt werden, es lässt sich aber auch ein Internet-Stream ansteuern. Das „Laden“ der Musik gestaltet sich so leicht, dass selbst technisch weniger versierte Eltern keine großen Probleme damit haben dürften: Der Hörkoffer lässt sich dank Samba ins heimische Netzwerk einbinden und man schiebt die Musik-Dateien einfach in die entsprechenden Order auf der Netzwerkfreigabe. Fertig. Kein Konvertieren, kein proprietäres Programm, das erst installiert werden muss. Man braucht einfach nur W-LAN.

Raspberry Pi als Hardware-Plattform

Die Entscheidung über die technische Basis des Hörkoffers war schnell gefällt: Der Raspberry Pi qualifiziert sich anhand seiner Features und eines verhältnismäßig geringen Stromverbrauchs bestens für das Projekt. Außerdem hatte ich vorher schon mit dem preisgünstige Mini-Computer herumexperimentiert und kenne mich leidlich mit Linux aus. Ich wollte mich nicht auch noch in eine komplett neue Plattform einarbeiten, auch wenn der Arduino sicher auch keine schlechte Wahl gewesen wäre. Allerdings war der Hörkoffer auch so immer noch ein Lern-Projekt für mich, in vielerlei Hinsicht: Ich hatte seit gefühlten Jahrzehnten keinen Lötkolben mehr in der Hand, noch nie eine Platine layoutet, meine elektronischen Grundkenntnisse waren längst verblasst und mit den GPIO-Pins des Raspberry Pi hatte ich auch noch nie zu tun. Na und? Packen wir’s an!

Stückliste

Diese Teile stecken im Hörkoffer. Natürlich kann man hier variieren. So ist es zum Beispiel nicht zwingend, zwei Lautsprecher zu verbauen, dann kriegt man das ganze Ding auch kompakter hin. Der Phantasie sind keine Grenzen gesetzt, außer physikalische.

BeschreibungAnzahl
Raspberry Pi B+1
Widerstand 47 Ohm8
Widerstand 1 kOhm6
Widerstand 10 kOhm6
Lochrasterplatine 100x200 mm1
PAM 8403 VerstŠärker-Platine mit USB-Kabel, Mini-Klinkenbuchse und Poti1
Metallfassung für LED8
Holzkiste (40 x 30 x 14 cm)1
Möbelknöpfe mit Kinder-Motiven6
SD-Karte 32 GB1
WLAN-Dongle Edimax EW-7811UN1
LED, 5mm, Standard, grŸün1
LED, 5mm, Standard, rot7
VISATON Breitbandlautsprecher, 10 cm, 4 Ohm (FR 10-4)2
VISATON Schutzgitter (SG 4670)2
Wannenstecker, 40-polig, gerade1
Powerbank Anker® 2. Gen. Astro E4 13000mAh1
Drucktaster, rot6
Drucktaster, grün1
Drucktaster, schwarz (Conrad, 706175)1
Kipp- oder Wippschalter, 2 x Ein/Aus1
USB-Stecker1
Micro-USB-Stecker1
Kabel Mini-Klinke auf Mini-Klinke1
Diverse Kabel-Litze, schwarz und rot
40 pol. Flachband-Verbindungskabel mit Steckern1
Distanzhülse, Metall, 6-Kant, M4, 10 mm6
Distanzhülsen, Kunststoff, 10 mm4
Sechskantmutter, M414
Sechskantmutter, M2,54
Flach-Senkkopf-Schraube, Kreuzschlitz, PZD, M4, 20 mm8
Pan-Head-Schraube, M4, 20 mm6
Zylinderkopfschraube, Schlitz, M2,5, 20 mm4

Ich verzichte auf eine ausführliche Bauanleitung, zumal man vieles professioneller hätte lösen können. Mein handwerkliches Geschick hält sich in Grenzen; mir ging es vor allem um die technisches Aspekte. Gleichwohl hat sich der Hörkoffer in mehrmonatiger Praxis bewährt. Nur zwei Hinweise noch: Die Powerbank habe ich letztlich mit Power-Strips befestigt, die tun hier einen guten Dienst. Und beim Einbau des Raspberry Pi sollte man auf ausreichend Abstand zum Holz achten. Ich habe außerdem Lüftungslöcher in die Rückwand des Koffers gebohrt.

Das Innenleben des Hörkoffers.
Das Innenleben des Hörkoffers.

Die Steuerplatine

Ursprünglich habe ich das Layout der Platine für Drucktaster ausgelegt, die direkt auf die Platine gelötet waren. Dann kriegte ich die Löcher für die Taster aber nicht passgenau hin, also habe ich welche zum Einschrauben genommen – und die Platine so genommen, wie sie ist. Eine Holzkiste hatte ich zu dem Zeitpunkt schon gehimmelt, was wohl unter „Lehrgeld“ zu verbuchen ist. Ich habe mit einer Lochrasterplatine im Euro-Maß gearbeitet. Wer die Platine ätzen (lassen) mag, kriegt das Ganze natürlich erheblich platzsparender hin. Die ganze Belegung ist ohnehin nur beispielhaft und dient eher zu Demonstrationszwecken, als zum exakten Nachbau.

Das Schaltbild des Hörkoffer. Klicken für hoch auflösendes PDF.
Das Schaltbild des Hörkoffer. Klicken für hoch auflösendes PDF.

Nicht in dem Schaltplan verzeichnet ist die grüne LED für die Status-Anzeige, die anzeigt, dass das Gerät spielbereit ist. Die hängt bei mir auf dem physikalischen PIN 32 (bzw. GPIO12, was der WiringPi-Nummer 26 entspricht).

Download Schaltbild als Kicad-Projekt

Benötigte Software-Pakete und sonstige Voraussetzungen

Auf dem Raspberry Pi im Hörkoffer läuft das grundsolide Raspbian als Betriebssystem. Das Skript, das die Eingabe-Buttons überwacht und die Audio-Ausgabe steuert – ich habe es audioplayer genannt -, residiert bei mir im Home-Ordner des Standard-Nutzers pi und greift auf den Befehlssatz der Bourne Again-Shell (bash) zurück.

 

Ursprünglich baute das Programm auf XMMS auf. Später bin ich aber aus verschiedenen Gründen auf MPD und MPC umgeschwenkt. Deshalb gibt es in meinem Github-Repository zu dem Projekt – sozusagen aus historischen Gründen – zwei Branches. Der Music Player Daemon MPD und der Command-Line-Client MPC müssen also installiert sein, was mit der Paketverwaltung Apt schnell zu bewerkstelligen ist.

Nach der Installation muss noch die Konfigurationsdatei

/etc/mpd.conf

angepasst werden. Folgende Zeilen sind zu editieren:

music_directory "/home/pi/audio"
playlist_directory "/home/pi/audio/playlists"

Infos zu MPD:
http://www.musicpd.org

 

Um die GPIO-Pins der Himbeere anzusprechen, greife ich auf das ungemein nützliche Tool WiringPi zurück. Dessen Installation ist also ebenfalls zwingend. Für Unerfahrene im Umgang mit den GPIO-Pins des Raspberry Pi – wie mich zu Beginn dieses Projekts – können die unterschiedlichen Pin-Nummerierungen verwirrend sein. Es gibt die physikalische Nummerierung, die GPIO-Nummern und die WiringPi-Bezeichnungen. Die Schemata auf folgender Seite fand ich in diesem Zusammenhang sehr erhellend:

http://raspberry.tips/raspberrypi-tutorials/belegung-gpio-fuer-raspberry-pi-b-und-wiringpi/

Infos zu WiringPi:
http://wiringpi.com

 

Dann gilt es noch den W-LAN-Zugang auf dem Pi einzurichten. Das ist nicht ganz so einfach, wie einen WPS-Knopf auf dem Router und einem Client zu drücken, aber auch keine Alchemie. Infos hier:

http://www.elektronik-kompendium.de/sites/raspberry-pi/1912221.htm

Standardmäßig schaltet der W-LAN-Stick nach einer bestimmten Zeitspanne der Inaktivität in den Stromsparmodus. Dann ist mitunter kein Zugriff mehr auf den Pi möglich. Es empfiehlt sich also, dieses Stromspar-Feature auszuknipsen. Wie das geht, steht auf folgender Seite:

http://www.elektronik-kompendium.de/sites/raspberry-pi/1912231.htm

 

Ferner muss der Samba-Server installiert und das Verzeichnis /home/pi/audio als Share eingerichtet sein.

 

Ggf. müssen noch weitere Audiocodecs installiert werden, damit die gewünschten Audio-Datei-Typen auf dem Raspberry auch abgespielt werden können. Denn aus lizenzrechtlichen Gründen sind in einer frischen Raspbian-Installation längst nicht alle Audiocodecs out of the box verfügbar. Ich bin mir nicht mehr sicher, ob bei der Installation von MPD  Codecs mit installiert werden – und wenn ja, welche. Die Nachinstallation über den Paketmanager ist aber simpel. Wenn was nicht läuft, am besten die libavcodec-Codec-Sammlung installieren, da ist alles drin, was man üblicherweise braucht:

sudo apt-get install libavcodec53 libavcodec54

Das Skript

/home/pi/audioplayer

Damit das Skript beim Booten des Systems als Dienst gestartet wird, folgende Zeile in der Datei

/etc/rc.local

einfügen:

su pi -c '/home/pi/audioplayer/audioplayer &'

Üblicherweise wird der Hörkoffer bei uns in der Familie genutzt, um verschiedene Offline-Audios zu hören, die wir gar nicht allzu oft austauschen müssen. Kinder können sich manche Geschichten ja gern auch hundert mal anhören, ohne dass sie sie über werden. Auf einem einzigen Knopf, auf Button 5, liegt ein Livestream, der Kinderradiokanal KiRaKa des WDR. Der muss hart im Code verdrahtet werden (s.o.). Im Ordner

/home/pi/audio/playlists

wird außerdem die Datei kiraka.m3u abgelegt, die die Adresse des Streams enthält.

Repository zu diesem Skript:
https://github.com/Terminal-Geek/Audioplayer

To be done

Die einzige Möglichkeit, die tönende Himbeere auszuschalten, ist der kalte Ausschalt-Tot: Den Kippschalter umlegen, der das ganze System im Nu einschläfert. Dann wird jedoch der Raspberry nicht sauber heruntergefahren, was auf Dauer zu Schäden am Dateisystem und möglicherweise an der Hardware führen kann. Ich hatte in der Zwischenzeit deshalb eine Pi-USV verbaut, die das gute Stück beim Umlegen des Power-Schalters sauber herunterfährt. Leider ist die USV abgeraucht, warum auch immer. Es war allerdings ohnehin eine alte Standard-USV für die Raspberry Pi B (ohne das Plus). Die hatte ich vom Hersteller der USV geschenkt bekommen, weil die vorbestellte USV für das Plus-Modell nicht fristgerecht geliefert werden konnte – und bis heute noch nicht geliefert ist. Ich warte also immer noch auf die saubere Hardware-Lösung. Als Zwischenlösung habe ich mir mit einem kleinen Skript geholfen, das ebenfalls beim System-Start als Dienst aufgerufen wird und den Status des MPC-Clients  überwacht:

/home/pi/audioplayer/powersafe

Wird fünf Minuten lang kein Audio wiedergegeben, fährt das System runter. Um das Skript als Daemon beim Systemstart aufzurufen, einfach in der Datei

/etc/rc.local

folgende Zeile einfügen:

su pi -c '/home/pi/audioplayer/powersafe &'

FacebooktwitterredditpinterestlinkedinFacebooktwitterredditpinterestlinkedin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


*