Wer (junge) Kinder hat, der kennt sie sicher, die Toniebox*. Es gibt die Toniebox* in den verschiedensten Farben. Dazu kann man diverse Tonies* kaufen, um verschiedenste Songs/Hörspiele/… abzuspielen. Aber wie wäre es, so einen Musikplayer selbst zu bauen? Eine Möglichkeit wäre die Phoniebox. Ich habe eine Phoniebox umgesetzt und erkläre euch hier Schritt für Schritt, so dass ihr es selbst als Elektrotechnik-Laien problemlos hinbekommen solltet.
Inhaltsverzeichnis
- Benötigtes Material für die Phoniebox
- Benötigtes Werkzeug für die Phoniebox
- Technische Dokumente für den Aufbau der Phoniebox
- Montage der Hardware
- Löten der Stiftleisten
- Vorbereitungen um Kabel an Verstärker und Box(en) zu löten
- Kabel an Verstärker und Box(en) löten
- USB Adapter Vorbereiten
- Vorbereitungen für die Druckknöpfe der Phoniebox
- Vorbereitungen für die on/off LED
- Druckknöpfe der Phoniebox und on/off LED anbringen
- RFID-Reader mit Raspberry Pi verbinden
- Letzte Anschlussarbeiten
- Finale Montage der Phoniebox im Gehäuse
- Montage der Phonies/RFID Figuren
- Installation und Konfiguration der Software
- Installation Raspian
- Die Phoniebox das erste Mal hochstarten
- Installation WSL (optional)
- SSH Verbindung zur Phoniebox herstellen
- Installation der Phoniebox Software
- Funktionalität der Phoniebox testen
- GPIO Drucktasten der Phoniebox konfigurieren
- Abspielbarkeit von Musik über Webinterface konfigurieren (optional)
- Lautstärke über Webinterface einstellbar machen (optional)
- Rauschen etwas reduzieren (optional)
- Einstellungen über Web-Interface der Phoniebox vornehmen
Projekt: Phoniebox – DIY Alternative zur Toniebox*
Aufwand: ca. ein Wochenende 🙂
Kosten: ~100€
Schwierigkeit: Mittel (Elektrokenntnisse nötig)
Benötigtes Material für die Phoniebox
- Raspberry Pi Zero 2W inkl. Stiftleiste*
- MicroSD Karte*
- RFID Reader MFRC522*
- RFID Tags*
- USB auf Micro USB Adapter*
- USB Audio Adapter* (Alternative 1* etwas eng beim Anschließen)
- Druckknöpfe*
- Micro-B USB Einbaubuchse*
- Visaton Breitbandlautsprecher BF 37 (VIS 2260)* (1x => siehe Optionaler Teil 2) Je nach vorhandenem Platz und gewünschtem Musikgenuss kann auch der größere Bruder verwendet werden (Visaton Breitbandlautsprecher FRS 7 (VIS FRS 7-4)* )
- Verstärker DEBO PAM8403 (Alternative*)
- 3.5mm Klinkenkabel* (Alternativ alte Kopfhörer)
- Netzteil*
- Jumperkabel*
- Flachsteckhülsen*
- klarsicht Klebefolie*
- Kleber*
Optionaler Part 1
- Powerbank*
- Netzteil RaspberryPi* (Netzteil in der Standardmaterialliste wird dann nicht benötigt)
Optionaler Teil 2
- Visaton Breitbandlautsprecher BF 37 (VIS 2260)* (1x( Je nach vorhandenem Platz und gewünschtem Musikgenuss kann auch der größere Bruder verwendet werden (Visaton Breitbandlautsprecher FRS 7 (VIS FRS 7-4)* )
Zusatzoption 3
Materialien für die Phoniebox die hilfreich sein können
- Pinheader* z.B. für den Verstärker
- Abstandshalter*
- Schrumpfschlauch*
Benötigtes Werkzeug für die Phoniebox
- Knipex Seitenschneider*
- Lötkolben* (Alternativ*)
- Lötzinn*
- Abisolierer*
- Kartenleser*
- Multimeter* (Alternativ Spannungsprüfer*)
- Dritte Hand*
- Schleifpapier*
- Heißluftpistole*
Technische Dokumente für den Aufbau der Phoniebox
Montage der Hardware
Nachfolgend die Übersicht der Teile, die ich mir bestellt habe. Zwei Sachen davon habe ich schlussendlich doch nicht verwendet. Einmal war das die Ein-Aus-Knöpfe (links unten im Bild), welche durch einen der Knöpfe rechts oben ersetzt wurde. Außerdem der USB-Audio Adapter (untere Reihe das zweite von links), weil dieser relativ breit ist. Das war verdammt eng, da beide USB-Anschlüsse sehr nah beieinander sind. Ich habe ihn dann durch diesen USB Audio Adapter* ersetzt. Der passt deutlich besser.
Das Material habe ich somit alles da, ich hoffe ihr auch. Jetzt kann es losgehen. Zunächst beginnen wir mit dem Zusammenbau der Hardware. Einige Sachen müssen gelötet werden. Beginnen wir damit.
Löten der Stiftleisten
Sowohl beim Raspberry Pi* als auch beim RFID Reader* liegen die Stiftleisten nur dabei. Diese müssen natürlich festgelötet werden. Beim RFID Reader* empfehle ich euch die gerade Stiftleiste zu nehmen, da der RFID Reader* später oben an der Decke hängt und das Raspberry Pi* unten befestigt wird. Somit vermeidet ihr im Zweifelsfall Engstellen in der Kabelführung. Ganz gut geht es, wenn man die Stiftleiste mittels Dritter Hand* auf das Raspberry Pi* oder den RFID Reader* klemmt und dann auf der Rückseite mittels Lötkolben* und Lötzinn* lötet.
Achtet darauf, keine Pins kurzzuschließen oder leitende Verbindungen zu anderen Teilen herzustellen. Aus den nachfolgenden Bildern könnt ihr entnehmen, dass die lange Seite der Stiftleiste auf der Seite der Bauteile ist. Prinzipiell ist das egal. Ihr könnt die Stiftleiste auch von der anderen Seite hereinstecken, so dass die lange Stiftseite von den elektrischen Bauteilen weg zeigt. Z.B. beim RFID Reader* sind neben der Pinleiste noch Beschriftungen, welche einfacher zuzuordnen sind, wenn die Stiftleiste auf der Seite der Bauteile angeordnet sind.
Vorbereitungen um Kabel an Verstärker und Box(en) zu löten
Als nächstes kommt der Verstärker dran. An den Verstärker müssen Kabel für den/die Lautsprecher, die Spannungsversorgung und das Audiosignal angelötet werden. Wir benötigen also
- Verstärker DEBO PAM8403
- 4x bzw. 6x Jumperkabel*
- 2 davon als Männchen-Weibchen
- 2 oder 4 davon müssen mindestens eine Seite Männchen haben (Spitz)
- 3.5mm Klinkenkabel*
- Flachsteckhülsen*
- Visaton Breitbandlautsprecher* (entweder einer oder zwei, je nach Vorliebe)
Zusätzlich brauchen wir den Multimeter*, den Seitenschneider*, den Abisolierer*, die Dritte Hand* sowie den Lötkolben* mit Lötzinn*.
Tipp: Macht die Jumperkabel* so lang wie möglich. Ihr werdet beim Einbau froh darüber sein 😉 Ich spreche (leider) aus Erfahrung.
Zunächst schneidet ihr das 3.5mm Klinkenkabel* mit dem Seitenschneider* durch. Tendenziell benötigt ihr nicht viel Kabel. 10cm sollten eigentlich reichen, mit 20cm seid ihr auf der sicheren Seite und habt im Zweifelsfall einen zweiten und dritten Versuch, wenn etwas schief läuft. Isoliert ca. 2-3cm vom Außenmantel mit dem Abisolierer* ab. Danach isoliert ihr vorsichtig ca. 0,5-1cm von den drei inneren Adern mit dem Abisolierer* ab. Dreht die einzelnen Adern leicht an, so dass keine Einzeldrähte weg stehen und bringt mittels Lötkolben* etwas Lötzinn* an.
Nachfolgende Erläuterung gilt, wenn ihr zwei Breitbandlautsprecher* nutzen wollt. Bei nur einem Breitbandlautsprecher* müsst ihr alles nur halb so oft machen. Nehmt vier Jumperkabel* mit mindestens einer männlichen Seite. Trennt die Kabel mittels Seitenschneider* nahe am anderen Stecker ab, so dass der männliche Stecker samt Kabel möglichst lange ist. Isoliert mittels Abisolierer* jeweils ca. 0,5cm ab. Nehmt vier Flachsteckhülsen samt Isolierhülse*, die zu den Anschlüssen der Breitbandlautsprecher* passend sind. Steckt je Flachsteckhülse und Isolierhülse* ein abisoliertes Jumperkabel* hinein, setzt etwas Lötzinn* hinein und drückt die Laschen um und schiebt die Isolierhülse darüber.
Kabel an Verstärker und Box(en) löten
Nehmt zunächst zwei Jumperkabel* die je ein männliches und ein weibliches Ende haben. Steckt je eins durch die Löcher (jeweils das männliche Ende), welche mit „5V“ und zusätzlich mit „+“ oder „-“ gekennzeichnet sind und lötet es mittels Lötkolben* und Lötzinn* fest. Das ist die Spannungsversorgung.
Jetzt nehmen wir das vorbereitete Klinkenkabel*. Über dieses kommt später das Audiosignal. Vor dem fest löten müssen wir noch herausfinden, welches Kabel was ist.
Die vorderste Teil des Steckers ist das „L“ Signal, der mittlere Teil das „R“ Signal und der hinterste Teil ist Masse/GND. Nutzt das Multimeter* und die „Pieps“-Einstellung um herauszufinden, welches Kabel womit verbunden ist und merkt es euch/schreibt es auf. Neben dem „5V“ Block ist ein Block bei dem drei Löcher sind, welche mit „L“, „R“ und dem Masse-Symbol gekennzeichnet sind. Die vorher bestimmten Kabel werden durch die entsprechenden Löcher gesteckt und auf der Rückseite festgelötet. Ich habe es leider nicht gemacht, aber hier macht es Sinn etwas Schrumpfschlauch* bei jedem der drei Kabel zu verwenden.
Zum Schluss Verbinden wir die Kabel, welche später zu den Boxen gehen sollen und welche wir vorher Flachsteckhülsen* vorbereitet haben. Diese sind mit mittig mit „L out R“ und zusätzlich entweder „+“ oder „-“ gekennzeichnet. Steckt durch jedes Loch ein Kabel (männliches Ende) und lötet es mittels Lötkolben* und Lötzinn* fest. An diese Enden werden jetzt die Breitbandlautsprecher* angeschlossen. Jeweils ein „+“ und „-“ Block wird an einem Breitbandlautsprecher* angebracht. Achtet darauf, diese richtig zu verbinden. Auch auf dem Breitbandlautsprecher* sind die Anschlüsse mit „+“ und „-“ gekennzeichnet. Um 100% sicher zu sein, damit die Verbindung am Breitbandlautsprecher* hält, könnt ihr nach dem Aufschieben der Flachsteckhülsen* noch etwas Lötzinn* darauf geben.
USB Adapter Vorbereiten
Der eine USB auf Micro USB Adapter* kommt direkt an das Raspberry Pi*. Da die beiden USB Anschlüsse am Raspberry Pi* allerdings sehr nahe beieinander sind, habe ich eine Rundung vom USB auf Micro USB Adapter* etwas abgeschliffen. Nehmt dazu einen USB auf Micro USB Adapter* sowie Schleifpapier*. Begonnen habe ich mit 160er Körnung. Am Ende habe ich recht feines mit einer Körnung von ~400 verwendet. In der Summe könnt ihr ca. 2-3mm abschleifen. Das genügt aber schon, damit die beiden Stecker gut nebeneinander passen.
Vorbereitungen für die Druckknöpfe der Phoniebox
Vorbereitende Erklärungen zu den Leitungen
Es sind zu viele Druckknöpfe* um jeden einzeln an einem Groundpin des Raspberry Pi* anzuschließen. Daher werden wir die Groundpins von Druckknopf* zu Druckknopf* durchschleifen. Für die durchgeschleifte Groundverbindung könnt ihr jedes beliebige Kabel verwenden. Ich habe hier auch Jumperkabel* verwendet, weil ich diese gerade zur Hand hatte. Zusätzlich braucht ihr wieder Flachsteckhülsen*.
Wir haben 5 Knöpfe (lauter, leiser, vorwärts, rückwärts und ein/aus). Jeder dieser Knöpfe benötigt ein Jumperkabel* zum Raspberry Pi*, welche mindestens einen weiblichen Anschluss hat. Zusätzlich haben wir noch die Groundverbindungen. Auch diese kommt vom Raspberry Pi* und benötigt daher ein Jumperkabel* mit einem weiblichen Ende. Die durchgeschleiften Verbindungen sind egal, da wir hier beidseitig Flachsteckhülsen* anbringen müssen.
Tipp: Sinnvoll ist es, für die 5 direkten Verbindungen zum Raspberry Pi* unterschiedliche Farben zu nehmen und für Groundverbindung immer die gleiche Farbe.
Arbeitsschritte genauer erklärt
Tipp: Macht die Jumperkabel* so lang wie möglich. Ihr werdet beim Einbau froh darüber sein 😉 Ich spreche (leider) aus Erfahrung.
Bei den sechs Jumperkabeln*, bei denen wir die weiblichen Enden benötigen, schneidet ihr den anderen Anschluss des Jumperkabels* knapp mit dem Seitenschneider* ab. Zusätzlich nehmt ihr vier weitere Jumperkabel* und schneidet beide Enden nahe am Stecker mit dem Seitenschneider* ab. Isoliert an alle abgeschnittenen Enden 0,5-1cm mit dem Abisolierer* ab. Jetzt sucht ihr 14 zu den Anschlüssen der Druckknöpfe* passende Flachsteckhülsen samt Isolierhülse*. An fünf der sechs Jumperkabel*, die einseitig abisoliert sind, könnt ihr die Flachsteckhülsen samt Isolierhülse* anbringen. Das Vorgehen habe ich in diesem Kapitel beschrieben.
Das letzte einseitig abisolierte Jumperkabel* verdrillt ihr jetzt mit einem Ende eines beidseitig abisolierten Jumperkabel*. An dem verdrillten Ende bringt ihr wieder eine Flachsteckhülse samt Isolierhülse* an. In diesem Fall empfehle ich euch mit Lötzinn* zu arbeiten. Geht wieder wie in diesem Kapitel beschrieben vor.
Das freie Ende des Jumperkabels* verdrillt ihr mit dem nächsten zweiseitig abisolierten Jumperkabel*, bringt die Flachsteckhülse samt Isolierhülse* an und macht weiter, bis an allen Enden Flachsteckhülse* sind. Am letzten Anschluss ist wieder nur ein Jumperkabel* in der Flachsteckhülse*.
Vorbereitungen für die on/off LED
Damit ihr diese LED* einfach benutzen könnt, müsst ihr ein Jumperkabel* mit zwei weiblichen Enden mittels Seitenschneider* halbieren. Lötet die Enden der Jumperkabel* mittels Lötkolben* und Lötzinn* an die LED*. Leider habe ich das verpasst. Es ist empfehlenswert über die beiden Lötstellen Schrumpfschlauch* darüber zu stecken und mittels Heißluftpistole* festzuschrumpfen.
Da ich noch eine einzelne LED rumliegen hatte, habe ich diese genommen. Nachfolgende Bilder sind nicht 1:1 identisch zu eurem Aufbau. Prinzipiell sollte es bei euch aber ähnlich aussehen.
Druckknöpfe der Phoniebox und on/off LED anbringen
Die Montage ist relativ einfach und sollte schnell von Statten gehen.
TIPP: Schiebt die Flachsteckhülsen* noch nicht komplett auf die Druckknöpfe*, sondern lediglich so weit, dass die Flachsteckhülsen* nicht ständig abfallen. Für die Montage müsst ihr die Flachsteckhülsen* wieder von den Druckknöpfen* abnehmen.
Die Knopffarbe könnt ihr beliebig wählen. Ihr müsst nur schauen, dass ihr euch meine Farben richtig ersetzt und die Knöpfe später an der richtigen Position sind.
Es ist egal, auf welcher Seite ihr GND bzw. die Leitung zum Raspberry Pi* anbringt. Die Druckknöpfe* werden einfach nur leitend ohne dass die Polarität eine Relevanz hätte. Folgende Verbindungen müsst ihr herstellen (siehe dazu auch im Schaltplan):
- Raspberry Pi* Pin 30 – GND Durchverbinder, weiblicher Stecker – von einem Druckknopf* zum nächsten verbinden
- Raspberry Pi* Pin 31 (GPIO 6) – weißer Druckknopf*
- Raspberry Pi* Pin 29 (GPIO 5) – blauer Druckknopf*
- Raspberry Pi* Pin 15 (GPIO 22) – grüner Druckknopf*
- Raspberry Pi* Pin 16 (GPIO 23) – gelber Druckknopf*
- Raspberry Pi* Pin 5 (GPIO 3) – schwarzer Druckknopf*
Solltet ihr eine on/off LED haben, schließt ihr die zwischen Raspberry Pi* Pin 9 (GND) und Raspberry Pi* Pin 11 (GPIO17) an. Hier ist die Polarität wichtig. Der „-„Pol muss auf GND, der „+“ Pol auf den geschalteten Eingang/Ausgang. Ihr könnt es aber einfach im Betrieb testen. Wenn nichts funktioniert, tauscht ihr die beiden Steckplätze einfach um.
RFID-Reader mit Raspberry Pi verbinden
Um den RFID Reader* anschließen zu können benötigt ihr sieben Jumperkabel* mit beidseitig weiblichen Anschlüssen. Am besten reißt ihr sie so ab, dass die sieben Kabel aneinander bleiben. So ist die Kabelführung einfacher.
Auf dem RFID Reader* sind die Pins beschriftet, wenn auch recht klein. Nachfolgende Auflistung ist von links nach rechts. Folgende Verbindungen müsst ihr herstellen (siehe dazu auch im Schaltplan):
- Raspberry Pi* Pin 24 (GPIO 8) – SDA auf RFID Reader*
- Raspberry Pi* Pin 23 (GPIO 11) – SCK auf RFID Reader*
- Raspberry Pi* Pin 19 (GPIO 10) – MOSI auf RFID Reader*
- Raspberry Pi* Pin 21 (GPIO 9) – MISO auf RFID Reader*
- Raspberry Pi* Pin 18 (GPIO 24) – IRQ auf RFID Reader*
- Raspberry Pi* Pin 20 (GND ) – GND auf RFID Reader*
- RST auf RFID Reader* (für Betrieb nicht nötig)
- Raspberry Pi* Pin 17 (3.3V) – 3.3V auf RFID Reader*
Letzte Anschlussarbeiten
Folgende Verbindungen fehlen noch:
- Audio Verstärker über Klinkenstecker mit USB Audio Adapter* verbinden. Diesen wiederum müsst ihr mittels dem abgeschliffenen USB auf Micro USB Adapter* mit einem der beiden USB Anschlüsse am Raspberry Pi* verbinden
- Den zweiten USB Anschluss des Raspberry Pi* verbindet ihr mit dem USB-C In/out Steckplatzes der Powerbank.
- Im provisorischen, nicht zusammen gebauten Zustand, könnt ihr die Powerbank direkt via den microUSB in On/Off Anschluss mit Strom versorgen. Später müsst ihr noch die USB Einbaubuchse* dazwischen hängen.
Das war es soweit. Die Hardware der Phoniebox ist einsatzbereit. Jetzt können wir zur Software übergehen.
Finale Montage der Phoniebox im Gehäuse
Bevor ihr diesen Schritt angeht, würde ich euch empfehlen, die Software zu installieren und Konfigurieren. Wenn das alles funktioniert, könnt ihr den Einbau ins Gehäuse vornehmen.
Montage der Phonies/RFID Figuren
Installation und Konfiguration der Software
Installation Raspian
Für die Raspian Installation benötigen wir lediglich die MicroSD Karte* sowie den Kartenleser*. Schiebt die MicroSD Karte* in den passenden Slot im Kartenleser* und schiebt diesen wiederum in einen freien USB Slot eures Computers.
Den Raspian-Installer könnt ihr euch unter diesem Link downloaden.
Die Seite, die sich öffnet, sollte wie in nachfolgendem Bild aussehen. Klickt auf „Download for Windows“ und wartet bis der Download abgeschlossen ist.
Via Doppelklick auf das heruntergeladene File startet die Installation des Installers auf eurem Computer. Klickt euch durch die Installationsanweisungen. Am Ende sollte der Haken bei „Run Raspberry Pi Imager“ gesetzt sein, damit der Imager gleich gestartet wird. Nachfolgendes Bild sollte sich euch zeigen. Bei neueren Versionen kann es etwas anders aussehen.
Das Betriebssystem sollte schon richtig ausgewählt sein. Die SD-Karte müsst ihr noch richtig auswählen. Klickt auf den entsprechenden Button und wählt die SD-Karte (32GB) aus. Achtet genau darauf, dass es die richtige ist, da das ausgewählte Speichermedium formatiert wird. Zum Schluss klicken wir noch auf das Zahnrad rechts unten um gleich folgende Einstellungen vorzunehmen:
- Aktiviert Hostnamen
- „phoniebox“ als Hostnamen eintragen
- Aktiviert SSH
- Wählt ein Passwort eurer Wahl
- Optional könnt ihr den Benutzernamen ändern
- Aktiviert Wifi einrichten
- Tragt bei SSID die SSID (~Name des Wifi) eures Wifis ein
- Tragt das Wifi Passwort unter Passwort ein
- Wählt das korrekte Wifi-Land aus (Wahrscheinlich DE)
- Aktiviert Spracheinstellungen festlegen
- Wählt eure Zeitzone aus (Wahrscheinlich Europe/Berlin)
- Wählt euer gewünschtes Tastaturlayout aus (Wahrscheinlich de)
Wenn ihr alles eingetragen habt, klickt ihr auf „speichern“ und das Einstellungsfenster schließt sich wieder.
Jetzt könnt ihr auch „schreiben“ klicken. Jetzt wird die MicroSD Karte* formatiert, Raspian darauf installiert und die vorher gewählten Einstellungen gesetzt. Das ganze dauert eine ganze Weile. Das Programm meldet sich, wenn der Prozess abgeschlossen ist.
Die Phoniebox das erste Mal hochstarten
Ladet die Powerbank*, schiebt die fertig programmierte MicroSD Karte* in den MicroSD Kartenslot des Raspberry Pi* und verbindet dann die Powerbank* mit dem Raspberry Pi*. Eine grüne Leuchte sollte beginnen zu leuchten. Das Raspberry Pi* fährt hoch.
Wenn alles richtig konfiguriert ist, sollte sich die Phoniebox direkt mit dem WLAN verbinden.
Loggt euch jetzt auf eurem Router (bzw. DHCP-Server) ein um herauszufinden, welche IP Adresse euere Phoniebox bekommen hat. Ich habe eine FritzBox. Wenn ihr im Browser „fritz.box“ eingebt, kommt ihr zur Übersichtsseite. Loggt euch dort ein (Passwort ist auf der Rückseite des Routers). Unter Heimnetz -> Netzwerk findet ihr alle (ehemals) verbundenen Geräte. Dort müsst ihr das Raspberry Pi* aufspüren. Klickt rechts neben dem Raspberry Pi* auf den Stift (bearbeiten).
Hier seht ihr einmal die IP. Bei mir war/ist es die 192.168.0.63. Diese IP Adresse müsst ihr euch merken/aufschreiben. Außerdem habt ihr hier die Möglichkeit, dass dieses Gerät immer die selbe IPv4 Adresse erhält (bei meiner FritzBox heißt die Option „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“). Wählt diesen Haken aus. Quittiert das ganze mit „OK“.
Installation WSL (optional)
Bevor wir das RaspberryPi beginnen zu konfigurieren, müssen wir Windows noch vorbereiten. Wir benötigen ein Terminal um eine SSH Verbindung zum Raspberry Pi* aufzubauen. Dazu gibt es mehrere Möglichkeiten.
Ich bin ein Fan des Linux Terminals. Das Windows Terminal (Eingabeaufforderung) finde ich persönlich nicht so überragend. Glücklicherweise gibt es mittlerweile WSL (Windows-Subsystem für Linux)
Wenn ihr auf Linux unterwegs seid, fällt dieser Schritt für euch aus, da ihr bereits ein potentes Terminal besitzt.
Bei MacOS bin ich leider überfragt, ich meine aber, in MacOS gibt es ebenfalls recht potente Terminals.
Als Alternative zu WSL kann man z.B. auch Putty ( https://www.putty.org/) oder die in Windows eingebaute Eingabeaufforderung benutzen. Das ist vor allem sinnvoll, wenn man die Konsole später nicht mehr benötigt.
Um WSL zu installieren, öffnen wir die Windows Eingabeaufforderung als Administrator
- Windows-Taste drücken und „cmd“ eingeben
- Wählt in dem sich öffnenden Fenster „Als Administrator ausführen“ aus
- Ein Terminal Fenster öffnet sich, was in etwa so aussehen sollte.
- In diesem Terminal schreibt ihr „wsl -install“ (Leerzeichen zwischen wsl und -install) und bestätigt mit der „enter“ Taste
- Die Installation inkl. Herunterladen sollte starten. Auch das dauert je nach Internetverbindung und Rechnerleistung etwas. Der Befehl aktiviert die erfolderlichen Komponenten, lädt den aktuellen Linux-Kernel heruner und installiert die Linux-Verteilung (Ubuntu)
- Nach dem Ende der Installation könnt ihr die Eingabeaufforderung schließen.
- Drückt ernut die Windows-Taste, schreibt „ubuntu“ und bestätigt mit der „enter“ Taste.
- Jetzt öffnet sich das Linux Terminal. Beim ersten Mal dauert das Starten etwas länger
SSH Verbindung zur Phoniebox herstellen
Nachfolgende Schritte funktionieren sowohl mit der Eingabeaufforderung, der Powershell, Putty, oder aber Ubuntu (WSL), welches hier installiert wurde. Öffnet das Programm eurer Wahl.
Auf die Phoniebox verbindet ihr euch via ssh mit nachfolgendem Befehl. Wichtig, ersetzt die hier genannte IP Adresse mit der, von eurer Phoniebox
ssh pi@192.168.0.63
Ihr solltet eine Nachfrage bekommen, ob ihr euch tatsächlich mit dem Gerät verbinden wollt. Tippt „yes“ ein und bestätigt es mit der „enter“ Taste.
Jetzt wird normalerweise nach dem Passwort (der Phoniebox!) gefragt. Gebt dieses ein und bestätigt es mit der „enter“ Taste. Wenn alles glatt läuft, sollte in der untersten Zeile jetzt pi@phoniebox stehen. Gratulation, ihr seid erfolgreich auf der Phoniebox angemeldet.
Installation der Phoniebox Software
Jetzt geht es an die Installation der Software. Gebt dazu folgenden Befehl ein.
cd; rm buster-install-*; wget https://raw.githubusercontent.com/MiczFlor/RPi-Jukebox-RFID/master/scripts/installscripts/buster-install-default.sh; chmod +x buster-install-default.sh; ./buster-install-default.sh
Nach kurzer Zeit werdet ihr gefragt ihr die Installation fortsetzen wollt. Gebt dazu „y“ ein und drückt enter.
Die nächste Frage, ob ihr das WiFi konfigurieren wollt, können wir verneinen („n“ eingeben) und zwei mal mit enter bestätigen.
Die nächste Nachfrage bzgl. dem Audio Interface wird mit „y“ und zwei mal mit enter bestätigt. Vorsicht, nach dem ersten Mal enter dauert es etwas, bis man das zweite mal enter drücken kann.
Als nächstes geht es um Spotify. Ich habe aktuell keine Verwendung dafür und werde es daher nicht installieren/konfigurieren. Lt. Homepage hat Spotify wohl einen Dienst gekündigt/blockiert, weshalb diese Funktion evtl. nicht mehr funktioniert. Ich kann hier nichts bestätigen/verneinen. Im Zweifelsfall gilt, einfach testen. Ich gebe „n“ ein und bestätige zwei mal mit enter.
MPD wollen/müssen wir konfigurieren, daher wählen wir hier „y“ und bestätigen zwei mal mit enter.
Als nächstes geht es um das Verzeichnis, in dem wir die Audiofiles ablegen müssen. Ich habe es beim Default belassen. Daher bestätige ich die Frage mit „y“ und zwei mal mit enter.
Der nächste Punkt ist sehr wichtig. Es geht um die GPIO-Control, also die Möglichkeit, die Phoniebox mittels Tasten/Knöpfen zu steuern. Diese Funktionalität wollen wir, daher geben wir „y“ ein und bestätigen zwei mal mit enter.
Jetzt kommt die Nachfrage, ob wir die Installation starten wollen. Wir geben „y“ ein und bestätigen mittels enter.
Danach beginnt die Installation. Diese dauert eine Weile. Einfach warten und das Raspberry Pi* arbeiten lassen. Nachdem die Installation durch ist, kommt der RFID Reader* dran. Diesen wollen wir konfigurieren. Daher wählen wir „y“ und bestätigen mit enter. Danach wählen wir den RFID Reader* Typ RC522 aus, wir tippen also „2“ ein und bestätigen mit enter.
Der RFID Reader* ist bereits angeschlossen. Daher können wir „y“ eingeben und mit enter bestätigen.
Wieder benötigt das Raspberry Pi* eine Weile, allerdings nicht mehr so lange wie vorher.
Die Installation ist jetzt fertig. Wir wollen einen Reboot durchführen. Daher geben wir „y“ ein und bestätigen mittels enter.
Funktionalität der Phoniebox testen
Webinterface der Phoniebox testen
Nach dem Neustart könnt ihr testen, ob alles soweit erfolgreich war. Gebt http:// gefolgt von der IP Adresse eurer Phoniebox im Browser ein (bei mir: http://192.168.0.63) . Alternativ sollte auch http://phoniebox.local funktionieren. Es sollte sich solch ein Fenster öffnen:
Audio der Phoniebox testen
Dazu müsst ihr wieder via ssh mit der Phoniebox verbunden sein. Gebt dann einen der beiden nachfolgenden Befehle ein.
paplay /usr/share/sounds/alsa/Front_Center.wav
oder
aplay /usr/share/sounds/alsa/Front_Center.wav
Danach solltet ihr Sound hören. Falls nicht, habt ihr mit großer Wahrscheinlichkeit einen Verkabelungsfehler. Wenn ihr das Abspielen der Musik beenden wollt, könnt ihr das mit „Strg“ + „d“ machen.
GPIO Drucktasten der Phoniebox konfigurieren
Jetzt müssen wir noch die Druckknöpfe* konfigurieren. Heißt, wir müssen sagen, wo die Druckknöpfe* angeschlossen sind und was bei einer Tastenbetätigung passieren soll. Gebt dazu nachfolgenden Befehl ein.
nano ~/RPi-Jukebox-RFID/settings/gpio_settings.ini
Es öffnet sich ein File in einem Texteditor (nano). Dieses File müsste wie in nachfolgendem Bild aussehen. Dieses File müssen wir anpassen.
An folgenden Stellen müsst ihr das „enabled: False“ in „enabled: True“ ändern:
- [VolumeControl]
- [PrevNextControl]
- [Shutdown]
An die entsprechenden Stellen könnt ihr mit den Pfeiltasten navigieren. Da wir die default Pinkonfiguration gewählt haben, müssen wir keine Pins ändern.
Wenn ihr in eurer Phoniebox eine Status LED (on/off Anzeige) verbaut habt, müsst ihr am Ende des Files noch folgende Zeilen hinzufügen:
[StatusLED]
enabled: True
Type: StatusLED
Pin: 17
Speichert und schließt das Fenster mit „Strg + x“ gefolgt von „y“. Jetzt müsst ihr die Phoniebox einmal neu starten, damit die Einstellungen aktiv werden.
sudo reboot
Abspielbarkeit von Musik über Webinterface konfigurieren (optional)
Ich bin mir nicht sicher, ob man diese Einstellungen immer vornehmen muss, oder ob ich bei meiner Konfiguration etwas verbockt habe. Ich empfehle euch damit zu warten, bis ihr sicher seid, dass es bei euch nicht möglich ist, Musik über das Webinterface abzuspielen.
Wenn es nicht möglich ist, liegt es wahrscheinlich daran, dass das File asound.conf nicht existiert. Gebt dazu
sudo nano /etc/asound.conf
ein. Ein leeres File sollte sich öffnen. In dieses tragt ihr folgende Zeilen ein
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "output"
}
capture.pcm {
type plug
slave.pcm "input"
}
}
pcm.output {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Speichert und schließt das Fenster mit „Strg + x“ gefolgt von „y“.
Jetzt solltet ihr über das Webinterface Audio abspielen können. Ggfs. ist ein Neustart von Nöten.
Lautstärke über Webinterface einstellbar machen (optional)
Wenn ihr über das Webinterface keine Musik abspielen konntet, habt ihr vermutlich auch das Problem, dass ihr über das Webinterface die Lautstärke nicht anpassen könnt. Gebt dazu nachfolgende Zeilen ein:
sudo nano /etc/mpd.conf
Sucht innerhalb von diesem File die Stelle mit „audio_output“. Kommentiert die Zeile „mixer_type“ ein, indem ihr das „#“ entfernt. Außerdem müsst ihr in der selben Zeile „hardware“ durch „software“ ersetzen.
audio_output {
type "alsa"
name "My ALSA Device"
# device "hw:0,0" # optional
mixer_type "software" # optional
# mixer_device "default" # optional
mixer_control "Headphone" # optional
# mixer_index "0" # optional
}
Speichert und schließt das Fenster mit „Strg + x“ gefolgt von „y“. Jetzt solltet ihr die Lautstärke via Webinterface anpassen können. Ggfs. müsst ihr die Phoniebox einmal neu starten.
Rauschen etwas reduzieren (optional)
Ich habe leider ein Rauschen auf den Boxen. Man hört recht deutlich, wenn das Raspberry Pi am rechnen ist, dass das Rauschen stärker wird. Es lässt sich etwas reduzieren. Ganz weg habe ich es leider nicht bekommen.
Folgendes könnt ihr tun, um es zu reduzieren.
alsamixer
Folgendes Bild sollte erscheinen:
Regelt den Balken (Pfeil hoch Taste) bis 100 hoch. Vorsicht, beim nächsten Musik abspielen kann es sein, dass die Musik zu laut ist. Besser vorher die Lautstärke z.B. im Webinterface der Phoniebox etwas herunter regeln.
Wählt jetzt mittels Tastendruck auf „F6“ und den Pfeiltasten das USB Audio Device aus. Bestätigt es mit „enter“ Taste.
Sollten die Speaker nicht bereits auf 100 sein, stellt auch diese auf 100. Auch das macht ihr wieder mittels Pfeiltasten. Das MiC bzw. die Auto Gain Control könnt ihr belassen wie sie sind.
Schließt den Alsamixer mittels „ESC“. Die Einstellungen sollten sofort Effekt haben. Ein Neustart müsste nicht nötig sein.
Einstellungen über Web-Interface der Phoniebox vornehmen
Wenn ihr euch in der Weboberfläche anmeldet (http:// + IP-Adresse oder phoniebox.local) in der Adresszeile des Browsers eurer Wahl, kann man diverse Einstellungen anpassen. Einige davon machen in meinen Augen durchaus Sinn. Klickt dazu das Einstellungs-Symbol in der blauen Leiste oben (Settings).
Spracheinstellungen
Als erstes kommen die Spracheinstellungen (Language Settings). Ich belasse die Einstellungen auf English um die Screenshots innerhalb der Einleitung konsistent in der gleichen Sprache zu halten. Ihr könnt hier natürlich auf Deutsch wechseln.
Allgemeine RFID Player Einstellungen
Hier kann man einstellen, was passiert, wenn man eine RFID-Karte über den RFID Reader* swiped bzw. auf selbigem platziert. Standardmässig ist ausgewählt, dass der Player startet, sobald eine RFID-Karte erkannt wird. Ich belasse den Default.
Die andere Option wäre, dass der Player nur abspielt, so lange eine RFID-Karte auf dem RFID Reader* ist.
Lautstärkeeinstellungen
Hier könnt ihr verschiedenste Lautstärkeeinstellungen vornehmen. Die Default-Lautstärke (oben links), die maximale Lautstärke (oben Mitte), um wieviel die Lautstärke pro Schritt verändert wird (oben Rechts), die Lautstärke beim Starten (unten Links) und die Lautstärke nach dem Neustart (unten Mitte). Meine Einstellungen seht ihr in nachfolgendem Screenshot. Gerade die maximale Lautstärke könnte man auch noch etwas tiefer wählen. Das kann man aber auch später noch online machen, wenn das Gerät an ist.
Automatische Ausschalteinstellungen
Hier geht es um verschiedene Timer, nach welcher Zeit die Phoniebox automatisch ausschalten soll, die Wiedergabe stoppen, etc. Ich habe hier alles auf Default gelassen.
Timer kann man im Übrigen auch via RFID-Tag setzen. Beim Anlegen einer neuen RFID-Karte könnt ihr sagen, dass der Player z.B. in 30 Minuten herunterfahren soll.
Montage im Gehäuse
Den Bau des Gehäuses habe ich in diesem Beitrag beschrieben. Wenn das Gehäuse fertig ist, baut ihr die Hardware Schritt für Schritt ein. Ich habe mit dem RFID Reader* begonnen und mit Kleber* an die Innenseite des Deckels in die Aussparung geklebt.
Danach habe ich die Druckknöpfe* sowie die LED* angebracht und wieder mit dem Raspberry Pi* verbunden. Letztere habe ich ebenfalls mit Kleber* geklebt. Achtet beim erneuten Verbinden darauf, dass das Raspberry Pi* möglichst bereits in seiner finalen Position ist und sich möglichst wenige Kabel kreuzen.
Schraubt die USB Einbaubuchse* in die Aussparung in der Rückwand und verbindet sie mit der Powerbank*.
Die USB-Kabel habe ich noch mit Kabelbinder „in Form“ gebracht, damit ich den Deckel schließen konnte, ohne etwas abzuklemmen.
Das Raspberry Pi* hängt bei mir „frei“ in der Box. Ich habe leider meine Jumperkabel* etwas kurz gemacht, so dass das Raspberry Pi* dennoch recht fixiert ist. Ihr seht es auf den Bildern.
RFID-Tags
RFID-Tags bauen
Hier gibt es natürlich verschiedenste Möglichkeiten. Man kann z.B. auf die RFID-Karten* ein Bild z.B. von der Playlist (Benjamin Blümchen, Peppa Wutz, Drei ???, Bibi&Tina, …) aufdrucken und das ganze laminieren.
Ich habe mich dafür entschieden harte RFID Tags* zu nehmen und auf diese Figuren aufzukleben. Bitte verwendet genau diese RFID Tags*. Ich habe insgesamt sechs verschiedene RFID-Tags (sowohl harte als auch weiche) durchgetestet und hatte nur bei diesen auch mit etwas Abstand eine zuverlässige Erkennung. Figuren habe ich genommen, was daheim so rumlag, hauptsächlich aus Überraschungseiern. Solltet ihr einen 3D Drucker haben, wäre dieser sicherlich prädestiniert dafür 🙂
Da die RFID Tags* eine klebende Seite habe, habe ich auf diese Seite klarsicht Klebefolie* geklebt. Ihr könnt aber farbiges Papier oder Ähnliches nehmen. Eurer Phantasie sind da keine Grenzen gesetzt.
Die Figuren habe ich mit Kleber* auf die RFID Tags* geklebt.
Musik auf Phoniebox übertragen und RFID-Tags anlernen
Musik auf die Phoniebox zu übertragen ist auf verschiedenste Art und Weisen möglich. Ihr könnt es z.B. via Konsole/Commandline machen. Deutlich angenehmer sind Programme wie WinSCP, da ihr vermutlich mehrere Files übertragen wollt. Ihr könnt das ganze aber auch über das Webinterface der Phoniebox machen. Das Webinterface bietet dabei verschiedenste Möglichkeiten, welche ich nachfolgend kurz besprechen will. Allzu detailliert will ich darauf nicht eingehen, weil es – meiner Meinung nach – sehr gut gemacht und daher weitestgehend selbsterklärend ist bzw. die Infotexte sehr hilfreich sind.
Ihr könnt das zusammen mit dem Einlernen von RFID-Tags machen. Das passiert unter dem Menüpunkt CardID.
Eigene (lokale) Musik übertragen und danach RFID-Tags anlernen
Ihr könnt eure lokale Musik auf die Phoniebox via Webinterface übertragen. Das macht ihr über den Reiter „Folders&Files“.
Dort könnt ihr via Dialoge neuer Ordner anlegen und die Files uploaden. Über den Reiter „Card ID“ könnt ihr danach die hochgeladene Musik (z.B. einen lokalen Ordner auf der Phoniebox) euren RFID-Tags zuweisen. Legt dazu den RFID-Tag, den ihr anlernen wollt auf das Lesegerät (die ID wird automatisch angepasst). Wählt dann (in obigem Beispiel) den korrekten Ordner in der Auswahl „Link card to existing audio folder“ aus und bestätigt zum Schluss mit „Submit“. Das war´s.
Musik von Youtube auswählen
Sehr komfortabel ist das automatische Herunterladen von Musik von youtube. Ihr müsst dazu nur einen bestehenden oder neuen Ordner auswählen (unter „Link RFID to“) und den Youtube link einfügen (unter „Download YouTube“). Die Phoniebox macht den Rest. Bedenkt bitte, dass es, je nach Größe (Länge und Auflösung) der Musik eine Weile dauern kann, bis diese heruntergeladen und verfügbar ist.
Webstream auswählen
Ihr könnt auch den Webstream eures z.B. favorisierten Radiosenders mit einem RFID-Tag verbinden. Das macht ihr im Menüpunkt „Link Stream“. Dort müsst ihr den URL eintragen sowie den Typ (Podcast, Web Radio). Spotify dürfte, wie bereits erwähnt, nicht mehr funktionieren.
Weitere RFID-Tag Funktionalität
Unter dem Menüpunkt „Link RFID to“ unter dem Subpunkt „or link to a system command“ könnt ihr den RFID-Tag mit (mehr oder weniger sinnvollen) Befehlen verbinden. D.h., erkennt die Phoniebox die RFID-ID, wird der entsprechende Befehl ausgeführt. Nachfolgend eine (nicht vollständige) Liste an möglichen Befehlen
- Aktuelle Playliste neu starten
- Lautstärke still stellen (mute)
- Spiele ein zufälliges Lied
- Setze eine bestimmte Lautstärke
- Schalte die Phoniebox nach einer bestimmten Zeit aus
- Stelle die Phoniebox leiser und schalte sie nach einer bestimmten Zeit aus
Optimierungsmöglichkeiten
Kompletter Shutdown
In der aktuellen Version ist es so, dass z.B. der RFID Reader* noch mit Strom versorgt wird, selbst wenn das Raspberry Pi* ausgeschaltet ist. Soweit ich mich eingelesen habe, sollte es mit einem OnOff-Shim* möglich sein, dies zu beheben. Das OnOff-Shim* hängt man zwischen Powerbank* und dem USB-Anschluss des Raspberry Pi*.
Ich habe mich (vorerst) gegen den Einbau entschieden. Der Grund ist der, dass der RFID Reader* im Idle rund 13mAh an Strom in der Stunde verbraucht. Die eingebaute Powerbank* genügt rund 1 Monat, bevor der Akku leer ist. Es ist möglich (eher sogar wahrscheinlich), dass der Verstärker und der USB-Audio Adapter ebenfalls etwas Strom ziehen und die Powerbank* daher früher leer ist. Für mich ist das, zumindest aktuell, verkraftbar. Sollte es sich im Alltag als störend erweisen, werde ich das OnOff-Shim* einbauen.
Ich hoffe ihr fandet die Anleitung hilfreich. Wir freuen uns über dein kurzes Feedback. Außerdem sind wir über Kritik, Fehler, Verbesserungsvorschläge, Ideen, etc. froh und probieren diese so gut als möglich umzusetzen.