Hardware Teil 1
Das erste Gerät, was bei mir entstanden ist, besteht aus dem Gehäuse eines defekten Internetradios,
das ich mit einem kapazitivem 5"-Touchscreen von Waveshare
und einem Raspberry Pi 3 mit Hifiberry Amp 2
versehen habe. Zu dem Zeitpunkt hatte ich noch keinen 3D-Drucker und habe deshalb alles mit kleinen Blechwinkeln befestigt,
daher ist das nicht richtig nachbaubar (und das Gehäuse muß ja auch erstmal da sein), aber vielleicht inspirieren Sie die Bilder zu eigenen Lösungen.
Interessant ist dabei hauptsächlich, daß das Gerät im Regal oberhalb einer Tür steht, also von schräg unten betrachtet wird. Und weil es kein IPS-Panel
ist, sah das Bild beim Blick von schräg unten schrecklich aus. Deshalb war es notwendig, das Display kopfstehend einzubauen.
Die nötigen Parameter für das Drehen des Raspberry-Bildinhalts bei einem Touchscreen sind in der folgenden Anleitung mit aufgeführt.
Hardware Teil 2
Der zweite Raspberry-Player sollte ein etwas größeres Display bekommen, und die Wahl war auf ein Modell mit 7-Zoll-IPS-Panel und komplettem Gehäuse gefallen, das
für den Raspberry Pi 3 und 4 geeignet ist,
vom Hersteller Shenzen Dusun Technology Co. Ltd. stammt und durch verschiedene Importeure unter verschiedenen Namen vertrieben wird.
Ich hatte es bei Amazon
gekauft, aber darauf verlinke ich hier nicht mehr, denn dort wird unter der Produktnummer meiner Bestellung jetzt (August 2023) ein ganz anderes Gerät
verkauft als noch vor acht Wochen (und zu diesem Gerät passen dann auch die positiven Bewertungen überhaupt nicht). Man findet das Display inzwischen
unter dem Herstellernamen UPERFECT.
Nachtrag:
Drei Tage, nachdem ich den vorigen Satz geschrieben habe, gibt es dort (wo das Display als 7"- und 10"-Ausführung zu bestellen war) nur noch das 10"-Modell.
Auf diese
China-Verkäufer ist irgendwie kein Verlaß. Aber erstmal lasse ich den Link stehen, nur wundern Sie sich nicht, falls plötzlich ein ganz anderes Teil dort
verkauft wird (ich kann ja nicht andauernd diese Produktseite kontrollieren). 10 Zoll sind sicher nicht verkehrt, aber kosten auch deutlich mehr.
Damit Sie selbst suchen können, habe ich noch drei
Vergleichsbilder gemacht.
Ich erwähne das deshalb so ausführlich, weil sich dieses Gerät dank vieler mitgelieferter Kleinteile prima montieren ließ und gut funktioniert.
Die Rückwand enthält M3-VESA-Muttern im Abstand von 75 mm, zur Wandmontage dient bei mir eine Monitorwandhalterung des Typs Digitus DA-90303-1,
bei der das Gehäuse mittels V-förmig angeordneter Schienen eingehängt wird.
Der einzige kleine Schwachpunkt des Gehäusemonitors ist der eingebaute Lüfter, der ein leichtes Rauschen verursacht.
Er wurde hier durch einen Noiseblocker NB-BlackSilentFan XM-1 40x40x10
ersetzt, was allerdings wegen unterschiedlicher Stecker kleine Kabelverbinder oder etwas Löten nötig macht.
Damit auch der Hifiberry-Verstärker mit ins Gehäuse paßt,
habe ich eine Rückwandverlängerung entworfen und gedruckt (mein 3D-Drucker ist ein FDM-Modell von Anycubic), fürs Nachmachen sind hier die
OpenSCAD- und STL-Dateien.
Diese Verlängerung paßt sowohl bei der 7-Zoll- als auch der 10-Zoll-Variante des Gehäuses.
Falls Sie die Gehäuseverlängerung für etwas anderes benutzen wollen, läßt sich ihre Tiefe durch Ändern der Variable za steuern. Bei Bedarf sehen
Sie sich den Kommentar im OpenSCAD-Code an.
Software
Auf dem Raspberry liegen das Programm, die Musik und die Texte auf einem externen USB-Datenträger (der MUSIC_LRC heißen muß), der Raspberry wird schreibgeschützt und mit Overlaydateisystem betrieben, damit man ihn ohne weiteres ausschalten kann, und sich das Programm, die Einstellungen und die Musiksammlung unkompliziert gegen neuere Versionen austauschen lassen. Beim Systemstart wird das Programm per Autostarteintrag in /etc/xdg/lxsession/LXDE-pi/autostart ins Home-Verzeichnis kopiert und dort ausführbar gemacht und gestartet.
Das Skript startLyricsJukebox.sh und das Programm fullscreenmessage gehören nach /home/pi, ebenfalls ausführbar. (Bei der aktuellen Raspberry-Pi-OS-Version ohne den Benutzer Pi habe ich einfach auch wieder diesen Standardbenutzer angelegt, natürlich ginge das auch anders.)
Alle benötigten Dateien sind auf der Download-Seite im Archiv für den Raspberry zusammengestellt.
Schritte zum Einrichten eines Raspberry-Players mit Hifiberry Amp 2 und entweder dem 5"-Display von Waveshare oder dem 7"- und 10"-Gehäusemonitor:
(Diese Anleitung wurde Ende 2022 geschrieben, rechnen Sie wie immer bei derartigen Schritt-für-Schritt-Anleitungen mit aktuellen Änderungen des Betriebssystems und passen Sie das Vorgehen entsprechend an.
Und eigentlich sind das nur die Notizen für mich selbst, damit ich nicht vergesse, was ich gemacht hatte. Wenn es zu knapp formuliert ist, dann beschweren Sie sich ruhig :)
- Raspberry Pi OS mittels imager_1.7.3.exe auf SD-Karte installieren
- Raspberry und Display montieren
- 5"-Display von Waveshare entsprechend der Anleitung einrichten
(beim 7"-Display mit Gehäuse ist das nicht erforderlich)
- Raspberry starten, den Standardbenutzer einrichten und Updates installieren (Hinweis dazu kommt bei vorhandener
Internetverbindung per Kabel oder WLAN automatisch). In den nachfolgenden Punkten wird davon ausgegangen, daß Sie
den bei älteren Raspberry-OS-Versionen üblichen Standardbenutzer angelegt haben:
username: pi
password: raspberry
- Bildschirmschoner deaktivieren:
Menüknopf / Einstellungen / Raspberry-Pi-Konfiguration / Register Anzeige / Bildschirmlöschen deaktivieren
- Die folgenden Schritte setzen voraus, daß es den Benutzer pi gibt. Bei aktuellen RaspberryOS-Versionen ist das nicht mehr zwingend der Fall, also entweder (wie oben angegeben) den Benutzer pi bei der Ersteinrichtung anlegen oder den Namen pi in den Dateien autostart und startLyricsJukebox.sh und in den nachfolgend genannten Pfaden an den angelegten Benutzernamen anpassen.
- Terminal starten
- sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
am Ende der Datei die Zeile hinzufügen:
@/home/pi/startLyrics_Jukebox.sh
- Speichern (Strg-O, Enter) und Beenden (Strg-X)
- Die Dateien startLyricsJukebox.sh und fullscreenmessage (die sich im Verzeichnis Rasperry des heruntergeladenen Archivs befinden) nach /home/pi kopieren und
- ausführbar machen
chmod +x startLyricsJukebox.sh
chmod +x fullscreenmessage
- Testen:
./startLyricsJukebox.sh
- Hifiberry Amp2 installieren. (Die Stromversorgung läuft über Hifiberry Amp2,
12V bis 6A oder 24V bis 3A, Netzteil mit Rundstecker 5,5x2,1mm, Pluspol innen.)
/boot/config.txt bearbeiten:
sudo nano /boot/config.txt
dtparam=audio=on auskommentieren oder entfernen.
Falls dtoverlay=vc4-fkms-v3d vorhanden ist, Audio ausschalten:
dtoverlay=vc4-fkms-v3d,audio=off
dtoverlay=hifiberry-dacplus einfügen.
- nur bei Bedarf das Bild drehen:
display_rotate = 2
- Speichern (Strg-O, Enter) und Beenden (Strg-X)
- und nur bei Bedarf den Touchscreen drehen
(nach dieser Anleitung):
sudo nano /usr/share/X11/xorg.conf.d/
dort in der
Section "InputClass"
"Identifier libinput touchscreen catchall"
die Zeile hinzufügen
Option "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1"
- Wenn alles funktioniert, das Dateisystem schreibschützen:
Menüknopf / Einstellungen / Raspberry-Pi-Konfiguration / Register Leistung / Überlagerungsdateisystem / Konfigurieren:
Überlagerung und Boot-Partition einschalten.
Probleme und Lösungen
-
Beim zweiten vorgestellten Player ist das von mir benutzte Netzteil bei hoher Lautstärke etwas zu schwach für die drei Komponenten
Raspberry, Monitor und Verstärker. Das schien anfangs kein Problem zu sein, weil das Gerät sowieso nur leise betrieben wird. Nun
ist es aber vorgekommen, daß versehentlich die Lautstärke sehr hoch eingestellt wurde, wodurch die Spannung für den Raspberry zu
niedrig wurde und das System abgestürzt ist. Da es danach gleich neu gebootet hat, wäre das eigentlich keine Katastrophe gewesen,
aber leider hat die Zeit bis zum Absturz gereicht, um die geänderte Einstellung auf den USB-Stick zu schreiben, so daß es nach
dem Neustart kurz einen sehr lauten Ton gegeben hat und der nächste Absturz sofort gefolgt ist.
Diese ärgerliche Rebootschleife (noch dazu während einer Geburtstagsfeier) hat zum Hinzufügen der Einstellungen VolumeMax und
RadioVolumeFactor geführt. Mit VolumeMax wird die Lautstärke als Obergrenze festgelegt, bei der das Gerät noch zuverlässig läuft,
und mit dem RadioVolumeFactor kann die Lautstärke des Radios angepaßt werden (weil der dort meistgehörte Sender von VLC deutlich
lauter wiedergegeben wurde als die eigenen Musikstücke).
-
Bei diesem Gerät hatte ich den Raspberry anfangs mit kleinen Kühlkörpern versehen, die mit Wärmeleitpads befestigt waren. Das
war keine so gute Idee, weil die Klebefähigkeit dieser Pads offenbar nachläßt und sie bei einem hochkant eingebauten Raspberry irgendwann
abfallen. Das hat mich per Kurzschluß einen HifiBerry Amp gekostet.
Da das Gehäuse erstens per Lüfter gekühlt ist und zweitens ein Raspberry Pi 3 oder 4 generell ohne Kühlkörper betrieben werden kann, habe
ich sie dann einfach weggelassen, was erwartungsgemäß keine Probleme verursacht hat.
-
Manche Musikdateien haben zu Beginn der Wiedergabe speziell auf dem Raspberry zu Störgeräuschen geführt. Als Ursache haben sich MP3-Dateien erwiesen, bei denen
beim Schreiben der ID3-Tags die Unsynchronisation nicht aktiviert wurde. (Das bedeutet, im Bereich der ID3-Tags kann zufällig eine Bytesequenz
stehen, die in den Musikdaten den Start eines Frames kennzeichnet.) Als Gegenmaßnahme hilft in so einem Fall natürlich, die Tags mit einem vernünftigen
Programm neuzuschreiben, aber der Konfigurationseintrag PreLoadMusic sollte auch helfen.