Sie sind hier : Startseite →  Hifi Wissen und Technik→  (2) Die Quellen / Geräte→  Die Raspberry "music-box"

2017 - Der Raspberry Pi Type B oder 2 ist die Client-Grundlage

es funktioniert endlich
der 2. Raspberry-Modell P2

Dezember 2017 - Warum gerade dieses Bastelgerät ? Bei mir soll der Hifi- Audio- Client Tag und Nacht eine recht große Menge von vielleicht 25.000 MP3 Musikstücken im Zufallsmodus abspielen.

Dabei soll er möglichst wenig Strom verbrauchen und vor allem - über Wochen unbeaufsichtigt und stabil laufen - quasi als Dauerberieselung - trotzdem mit hoher (akustischer) Güte und ohne die Aussetzer (wie bei den bisherigen PC basierten Lösungen) und das auch noch mit edlem Sound.

Das ist es also. Der alte (erste) Raspberry 1 (aus 2011) sowie der vom Typ 1B konnten das nicht, die 1-Kern CPU war noch zu schwach, aber jetzt mit einem Edel-Wandler im Huckpack- Modus kann er es so leidlich.

Und so hatte ich mir das vorgestellt :
Ein Mini-Mini-PC (ähnliches Teil) im Netzwerk, von jedem Browser im ganzen Haus aus zu bedienen und an einem oder mehreren analogen Verstärkern als Musik-Quelle einfach davor geschaltet - das sollte es werden bzw. sein.
.

Woran hing es denn so lange ?

Der Ur-Raspberry-Modell P1
der A/D-Wandler oben drauf
und das ist der Wandler-Chip

Der Raspberry Pi 1 hatte nur einen sehr bescheidenen Audio-Ausgang - gedacht für Warnmeldungen - mit minderer Qualität und er war von der CPU- Leistung her zu "schmalbrüstig", der Typ B hatte dann etwas mehr RAM Speicher, der geht damit schon leidlich. Es muß also auch für diese laue Tätigkeit doch besser der Raspberry 2 sein, der jetzt (das ist inzwischen auch einige Jahre her) eine 4-Kern-CPU mit 900 MHz sowie 1GB RAM hat.

Doch der Knackpunkt war und ist immer noch die Software. Denn immer, wenn man 2 Jahre lang studieren muß, um auf einem beliebigen Gerät "irgend Etwas" zum Laufen zu bringen und man dabei immer wieder über eine wilde (Software-) Bastelei stolpert, dann läuft da etwas falsch.

Bei KODI (auch einer Multi-Media-Client-Software) hatten sich die Entwickler bereits einiges einfallen lassen, doch ich brauche kein Video-Wiedergabe und schon gar nicht 4K oder 8K Bilder. Die schlaffen solch ein System nur gründlich ab.

Mein Freund Rudi hatte mir dann ein minimales Raspian Betriebssystem auf diesen Raspi-2b aufgespielt und einen reinen Audio-Client installiert. Damit konnten wir überhaupt erst mal ausprobieren, ob dieser neue Burr-Brown Huckepack-Wandler funktioniert und wie gut er funktioniert.

Die dort auf dem Huckepack-Board ebenfalls vorhandene 3,5mm Mini-Klinkenbuchse funktioniert mit einem Wackelkontakt zum Beispiel nur manchmal. Doch der Netzwerk-Treiber für meine Samba- NAS Server war bei dieser Software sehr "hilfsbedürftig". Ich konnte bei mir im lokalen Netz meine NAS-Server - selbst mit diversen Tricks - nicht sehen bzw. ansprechen.
.

2017 - Gefunden: Die "music-box" auf der Basis von "Mopidy"

Installation in weniger als 1 Stunde - ohne Tricks

Da hat ein Spezialist (vermutlich aus Holland) etwas gezaubert - sehr beeindruckend. Herr "Wouter van Wijk" ist der Urheber, der diese Software auf die Beine gestellt hat. Natürlich hat auch er eine Basis von bereits vorhandenen Modulen übernommen. Diese Module sind unter "Mopidy" bekannt. Und die Jungs waren (sind) gut. Natürlich kann man diese Software auch irgendwie selbst auf den Raspberry drauf bekommen, aber man muß von sogenannten Kommandozeilen- Installationen unter Linux Ahnung haben.
Der Durchbruch :
Bei der "musicbox" ist das alles anders, so erfeulich anders
, daß ich das nicht genug loben kann. Nach 35 Jahren Software- Entwicklungs- und Vertriebs- Erfahrung ist das wirklich bewundernswert.
.

Die Erst-Installation ist ein Kinderspiel, ganz erstaunlich

Da ich mich gerade mit Windows Server 2012 R2 samt MS-SQL 17 und Clients unter WIN 7 und WIN 8 und WIN 10 rumquäle samt ODBC Treiber, war das hier eine Installation wie im Bilderbuch.

Was braucht man dazu ?
.

  • 1 x einen WIN-XP- oder WIN7- PC oder Notebook zur Vorbereitung der SD Speicherkarte
  • 1 x Raspberry 1B oder besser gleich den Typ 2 (ca. 35 Euro)
  • 1 x Netzteil 5 Volt mit 2A und mini-USB Secker (ca. 5 Euro)
  • 1 x D/A-Wandler Aufsatz im Huckpack-Board (ca. 15 Euro)
  • 1 x 8GB micro SD Speicherkarte, angeblich geht auch eine 1GB Karte (ca. 8 Euro)
  • 1 x Stereo-Cinch-Kabel
  • 1 x vergrößertes Gehäuse nach Wunsch

.

Wir sprechen von der Version "musicbox V0.7.0 RC5"

Es ist wirklich verrückt, aber mit einem normalen PC z.B. unter WIN XP lädt man den "Win32DiskImager-0.9.5" aus dem Netz, ab Win-7 geht auch der neue "win32diskimager-1.0.0". Dazu lädt man das sogenannte Boot-Image (eine Zip-Datei) für die 1GB oder 8GB Speicherkarte, mit der der Raspberry später gestartet wird.

Diese Datei "musicbox_v0.7.0RC5.zip" wird entpackt. - Das geht mit einem Klick und der "Diskimager" wird mit einem Klick gestartet und das dann entpackte "Image" ausgewählt und mit einem Klick auf die Speicherkarte geschrieben.

Man glaubt es in 2017 schon nicht mehr, daß das wirklich "alles" ist, wirklich alles.
.

Diese Speicherkarte in den Raspi P2 stecken und los gehts . . .

nur 3 Verbindungen, LAN-Kabel, Netzteil und Audio out
und die kleine 8GB SD Speicherkarte

Das neue Netzwerkkabel vom Router oder vom Switch in den Raspi stecken, das Netzteil einschalten und der Raspi entwickelt ein tolles Eigenleben.

Es ist fast alles fertig. Alle notwendigen Clients für (unsere) externen NAS Server unter Linux (dort ist ein Samba Modul installiert) aller Versionen (zum Beispiel Buffalo Linkstations oder Zyxel NSA NAS) und sogar auch ganz normale Windows- Server sind bereits vorhanden.

In der heruntergeladenen Zip-Datei ist auch ein 150 Seiten Handbuch als PDF enthalten. Es steht alles sauber chronologisch strukturiert drinnen - vorbildlich. Weiterhin gibt es eine deutsche Webseite, die das auch nochmal erklärt. Und alles ist Freeware, hinzu kommt nur die eigene Zeit.
.

Eine ganz simple und übesichtliche Web- Bedienoberfläche

Das war eigentlich eine oder die (meine) zentrale Bedingung, von jedem beliebigen Browser mit jedem beliebigen Betriebssystem von allen Windows PCs, OS10 PCs als auch Linux PCs diesen Client per Browser zu steuern, natürlich auch von jedem W-Lan tablet. Und es funktioniert. Die ganz simple Oberfläche ist sehr handlich und nach einem Eintrag meines NAS Servers mit den 65.000 Musiken drauf und der Auswahl des Huckpack-Wandlers oben drauf fing er an, zu spielen. - Die Initialisierung der 65.000 MP3 Dateien dauert aber etwas.
.

Die Qualität ist überragend und damit überzeugend . . .

Der Huckpack- Wandler kommt aus dem tiefsten China, das dauert etwa 2 Wochen ab Bestellung. Und er funktioniert mit der im Setup-Menü enthaltenen "HifiBerry DAC+" Einstellung.
.
Der Ausgangspegel ist enorm und der reicht auch für dicke Endstufen wie den BOSE 1800 Boliden. Man sollte dort aber immer mit zugedrehten Reglern anfangen, es könnte plötzlich sehr sehr laut werden.
.

Ein in die Software eingebauter WLAN Client ist auch vorhanden

Ich benutze zur Zeit das 100 MBit Kabel zur Verbindung an unser lokales Netzwerk. Das geht aber auch direkt über WLAN in die Fritzbox zu den NAS Servern. Alle Einstellungen sind vorgesehen und sind bereits aktiviert. Also der gesamte WLAN Client würde sich auch über das WLAN verbinden. Doch hier muß man zuvor über Kabel die Nutzer-Zugangsadten konfigurieren, sonst kommt man in das WLAN nicht rein.
.

Eine 64 Gigabyte Speicherkarte wäre natürlich der Hammer

Da paßt dann jede Menge an Musik drauf. Im Setup kann man den "SSH" Zugang aktivieren und dann über "winscp" von einem beliebigen Windows PC seine Musiken auf die Speicher-Karte übertragen. Dann wären alle NAS Server außen vor.
.

Austausch von Raspi Pi 1B gegen Raspi Pi 2 (jetzt 4 Kerne)

Der Raspberry der Generation (P1) B ging, zwar etwas schleppend, aber der neue (inzwischen auch schon wieder alte Raspi 2) 4-Kern 32Bit Prozessor hat natürlich deutlich mehr Performance als die allererste 1-Kern CPU. Man merkt es. Das Web-Interface geht jetzt ganz toll ab und antwortet sogleich. Auf der (für Linux-Eingeweihte ladbaren putty-) Anzeige sieht man 4 CPU-Kerne, von denen einer mit nur ca. 8% bis 12% arbeitet, wenn die MP3 Musik spielt.
.

Linux Experten können sich hier die prozentuale Auslastung der 4 Kerne anzeigen lassen

.

2 Wochen Erfahrung mit der "musicbox"

vernünftige preiswerte Kabel

Die Qualität der Audioausgabe ist ganz erstaunlich gut, das ist "nahezu" High-End. Es fehlt aber eine Art Loudness (eine gehörrichtige Pegelregelung) bei leisen Lautstärken, die mein kleiner ONKYO Vollverstärker mitbrachte bzw. mibringt. Die Einrichtung des ALSA (Software-) Equalizers ist bislang schief gelaufen. Dort soll man in 10 Frequenzbereichen den Pegel anheben bzw. absenken können, aber auch nicht lautstärkeabhängig, sondern fest eingestellt. Auch ist diese Bedienung / Einstellung des Equalizers nur auf der grafischen Oberfläche der Console über eine VNC-Client möglich.

Es ist also doch noch einiges zu verbessern.

Nachtrag im November 2018 - Raspi 1 und 2b und 3b

Um dem "Stocken" sowohl bei der Web-Bedienung als auch beim Fritzbox-WLAN ohne unser 100mBit/s Ethernet LAN auf die Schliche zu kommen, habe ich nochmal alle vorhandenen Raspis bei uns mit der gleichen 8GB HC SD Karte (mit Adapter natürlich) und dem dort vorhandenen "musicbox" Image durchprobiert.

Daß der Ur-Raspi Typ 1 (aus dem Dezember 2011) für manche Anwendungen ein wenig "schlaff auf der Brust" ist, hatte ja zum Austausch der 1-Kern CPU gegen eine 4-Kern CPU im Raspi 2 geführt. Der Raspi 2b Ver. 1.2 wurde nochmals verfeinert. Als der Raspi 3 kam, ging die gleiche "musicbox" Anwendungs-Software über den Webbrowser nochmal einen ganzen "Schluck" - also merklich - schneller.

Und entgegen allen Unkenrufen läuft die gleiche klitzekleine 8GB (micro) SD Speicherkarte in allen drei Varianten. Im Raspi 3 Modell B geht jetzt nicht nur die Bedienung mit dem Remote-Webbrowser sehr schnell und verzögerungsfrei. Über den SSSH Client kann man sich auch das Programm "htop" auf dem HDMI Monitor anzeigen lassen und stellt fest, die 4 CPUS langweilen sich. Dazu benötigt die gesamte Audio-Software - der Audio-Client - nur etwa 120MB von den 1 GB RAM. Da wäre also noch viel Luft für andere Aufgaben.

Für die PC- und Linux Spezialisten ein paar Tips :

Die nachfolgenden Absätze sind für diejenigen Leser, die bereits etwas mehr Computer-Wissen haben und mal hinter die begeisternden Kulissen dieser modernen Technik schaun wollen.

Aktivieren Sie SSH und holen Sie sich mit "putty" die Kommandozeile. Das ist natürlich nichts für Fans, die einfach nur ganz viel Musik hören wollen. Es ist für die Spezialisten, die herausfinden möchten, warum Dieses und Jenes nicht so super toll funktioniert.

Sind Sie also als "root" User auf der Linux- Kommando-Oberfläche des Raspis (dem CLI = Command Line Interface) gelandet, hilft das hier :

root@MusicBox:~# speaker-test -t wav -c 2 -D hw:1

und dann sehen Sie :
=========================================
speaker-test 1.0.25
Playback device is hw:1
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
=========================================

und Sie sollten etwas aus den Boxen oder dem Kopfhörer hören
.

Noch zu reparieren :

Zur Zeit spielt die musicbox Software - also der Client - noch keine Wave-Dateien aus dem Menü ab, so wie sie von der normalen CD mit dem Audio-Grabber herunter ge-"grabbed" werden. Aber das Problem finde ich auch noch.
.

Wie ich einen Radiosender-Stream hinzufügen kann

Bei uns in Hessen läuft fast jeden Abend von 20.oo bis 24.oo sehr angenehmen "Easy Listening Music" auf HR4.

Dazu sucht man nach "stream url hr4" und erhält :

www.stream-urls.de/webradio/144-hessischer-rundfunk-hr4

Auf der Unterseite STREAMS trägt man diese URL ein und speichert sie ab.

Fertig - ein Doppelklick und HR4 spielt los.
.

Hier kommen ein paar Programmierer- Informationen:

Im Web-Interface kann man den SSH Zugang aktivieren, das ist für uns Profis ganz wichtig. Den brauchen wir für unser "putty". Das initiale root Passwort ist "musicbox".

Das Basisverzeichnis usw. .......................


Dazu muß man als Python-Neuling wissen : Alle Anwendungsprogramme, die auf die extrem komfortablen und vor allem fertigen Python-Module und -Libraries zugreifen, wohnen immer hier :

/usr/local/lib/python2.7/dist-packages/

Das Basisverzeichnis des "musicbox-Web-Interfaces" der 2017er version 0.7 ist auf den Raspbery System hier zu finden :

/usr/local/lib/python2.7/dist-packages/mopidy_musicbox_webclient/static

Dort stehen die index.html Files und auch ein sekundärer "css" File. Der "Haupt-css" File steht aber woanders - im /mopidy_mopi/ Verzeichnis. Und den will ich bezüglich der Farben etwas freundlicher gestalten. Das ist nicht ganz so einfach, da hat sich der Programierer / Gestalter weit aus dem Fenster gelehnt.
.
Das "musicbox" Hauptmenue steht hier in "index.html":

/usr/local/lib/python2.7/dist-packages/mopidy_musicbox_webclient/static

Dazu gibt es ein ergänzendes css-Verzeichnis - noch ein Verzeichnis höher :

./css/webclient.css

Doch die Haupt-css Datei wohnt im "mopidy" Verzeichnis. Dort kann man auch einiges "verschönern"
.

Doch vorher ein Blick, wie die "musicbox" überhaupt gestartet wird :

Das war für mich als raspi Neuling doch etwas krude. Obwohl ich seit über 20 Jahren meine eigenen opensuse Linux Web-Server von Grund auf selbst installiere und auch konfiguriere, mit "opensuse" und "YAST" sind das andere Welten. Das ist dort einfach um Klassen komfortabler als bei "debian" oder "raspbian" oder "redhat".
.
Was nicht in der "musicbox" Extension konfiguriert wird, wird evtl. noch im Grundsystem von "Mopidy" gemacht. Alles andere ist dann wieder ganz normale Linux-Handarbeit an oder auf der Console mit USB-Tatstaur und dem HDMI Bildschirm.

Der Autor von Musicbox - Wouter van Wijk - schreibt:
"Boot works just like normal Raspbian. I only added the /opt/startup.sh script to /erc/rc.local. Mopidy, upmpdcli and shairport are started by this script. The rest of the services are started normally."
.
Mehr steht hier : http://docs.pimusicbox.com/en/latest/
.

Die Steuerung dieses Streaming-Clients über WLAN

Ältere Raspis haben noch kein WLAN, dann muß es ein USB-Dongle sein, am besten mit dieser großen Antenne

im Dezember 2018 - Vorausschauend ist wichtig, ich habe eine "FRITZ!Box Fon WLAN 7570 vDSL" -jetzt ab Jan. 2019 eine Unity Media Cable box 6490 und dort kann man eine Menge konfigurieren. Und bei den WLAN-Clients kann man (muß man) die Kommunikation von WLAN-Clients untereinander - gezielt einschalten.

Also, so lange, wie ich die am 100mBit Ethernet LAN hängende "musicbox" von einem WLAN CLient aus steuere, ist alles in Ordnung. Jetzt wollte ich meine 2. musicbox im Wohnzimmer ans WLAN anschließen, weil dort kein Kabel liegt.

Und schon fangen die Probleme an.

Der Raspberry-Modell Pi2 und Pi3 hatte noch keinen WLAN Chip onboard, der WLAN-Adapter muß in eine der 4 USB Buchsen rein. Erst der 3b hat den WLAN Chip onboard. Kein Probelm, dachte ich, also renigesteckt.

Sowohl in der Rasbian Variante als auch inder Mopidy Software ist das mit den WLAN-Chips vorbereitet, also sollte es kein Problem sein.

Die primitiven billigen und ganz ganz kleinen WLAN USB Sticks haben eine zu kleine Reichweite. Es muß ein USB Stick mit einer variablen herausgeführten 10cm WLAN Antenne sein.
.

Die Datei "interfaces" in /etc/network/ ist wichtig

Also nochmal, der Raspberry mit dem raspian kann LAN und WLAN Verbindungen gleichzeitig Web- bzw. alternativ betreiben. Doch diese Konfiguration ist Expertensache und überhaupt nicht trivial, im gegensatzzu der ganz normalenOberfläche der "musicbox". Hier ist also der Linux Fachman gefragt.

Und es braucht immer einen HDMI Monitor samt USB Tastatur (ohne Maus), um zu überwachen und zu überschaun, was da gerade beim Start abgeht.
.
In der aktuellen Variante von musicbox (Jan 2019 = musicbox_v0.7.0RC7.img) ist diese "interfacees" Datei überarbeitet.

Da wird ethernet (eth0) abgefragt - der raspi hat nur ein "eth" Interface und dann wird einer von 4 WLAN Adaptern abgefragt.

Jedoch, hat der raspi ein LAN-kabel eingesteckt, wird der WLAN Adapter nicht (mehr?) aktivert, soweit ich das verstanden habe.

Jetzt kann man die beiden möglich Netzwerkadapter LAN und WLAN per DHCP konfigurieren lassen oder von Hand (static) selbst konfigurieren.

Bei der Erst- odr Ur- Installation ist überall DHCP eingestellt, damit die musicbox von alleine im lokalen Netz "hoch kommt" und sichtbar ist. Selbstverständlich ist ein DHCP V4 Server im lokalen Netz Voraussetzung.
.

hier eine überarbeitete "/etc/network/interfaces" Datei

# interfaces(5) file used by ifup(8) and ifdown(8)
# modifiziert im - Jan 2019 - auf musicbox testinstallation "musicbox_v0.7.0RC7.img"

# diese Muster- Datei ist sinnvollerweise der anfaengliche DHCP Vorschlag - gr

# (1) loopback

auto lo
iface lo inet loopback

# (2) BRING UP THE ETHERNET INTERFACE und installieren

# wir haben nur eine "eth0" Buchse, also ist Auswaehlen unnoetig, darum hier auskommentert
#auto eth0

allow-hotplug eth0

#  wenn das "eth0" Kabel eingesteckt ist, nimm es und nutze DHCP

iface eth0 inet dhcp

# oder aktiviere eine feste IPV4 mit der Option "static"

# iface eth0 inet static
# address 193.218.xxx.yyy
# netmask 255.255.xxx.yyy
# gateway 193.218.xxx.yyy

# (3) WLAN Cips oder Dongles abfragen und installieren

# suche einen vorhandenen WLAN Cip oder Adapter
auto wlan0
allow-hotplug wlan0

iface wlan0 inet manual

# hier stehen die lokalen WLAN Zugansdaten des WLAN-Routers
wpa-roam /etc/wpa.conf

# selbstverstaendlich koennte man auch hier bereits die WLAN-Zugangsdaten
# angeben, die aber im Klartext zu lesen sind:

# wpa-ssid    <blablabla>
# wpa-psk     <trallala>

# die Dreiecks-Klammern <> sind wichtig und geoeren zu den Namen dazu !!

# for static ip on wifi, comment out the two lines above (iface and wpa-roam),
# uncomment the following lines and change the ip numbers to the correct values

#iface wlan0 inet static
#wpa-conf /etc/wpa.conf

# beachte unbedingt den Unterschied zwischen "wpa-conf" und "wpa-roam"

# hier der Original-Vorschlag bzw. Beispiel
# address 10.0.0.9
# netmask 255.255.255.0
# gateway 10.0.0.1

wireless-power off

# beachte unbedingt den Unterschied zwischen
# iface eth0 und
# iface wlan0 und dieser 3. Option !!!
# iface default

# oben wurde die Option "manual" gesetzt, falls es bereits einen LAN Adapter gegeben hatte
# jetzt wird dem WLAN auch hier eine IP vergeben

# (4) BRING UP THE FINAL "DEFAUL" INTERFACE

iface default inet dhcp

# oder akiviere bei statischer IP V4 diese Beispiel-Zeilen
# iface default inet static
# address 193.218.xxx.yyy
# netmask 255.255.xxx.yyy
# gateway 193.218.xxx.yyy

# und unbedingt diese Muster-Konfiguration aufheben mit "cp interfaces interfaces.orginal"

  • Anmerkung : Wichtig - in dieser Datei dürfen keine "vergessenen" oder halbfertigen Zeilen stehen bleiben. Alles an Kommentaren muß mit dem "#" beginnen, was als Kommentar verbleiben soll !!

.

Ab dem raspberry PI 3b beide Interfaces onboard

Bei den Vorläufern benötigt man einen USB WLAN Dongle, wie ich ihn hier habe. Die große Antenne ist zur sicheren Übertragung über mehrere 10 Meter wichtig.

Jetzt kann man also beide Interfaces vorkonfiguriert betreiben, sinnvolllerweise das WLAN Interface mit DHCP, wobei das nur etwas nutzt, wenn die Zugangsdaten des WLAN eingetragen sind.

Man sollte immer die nicht benutzen Zeilen auskommentieren und stehen lassen.

Die Web-Client menü-Strukturen aufschlüsseln

Der SSH Client wird vom musicbox Script händisch gestartet.

was sidn das für Routinen ?
data-role="listview" data-theme
data-role="popup" data-theme
data-transition="none" data-theme

.

- Werbung Dezent -
Zurück zur Startseite © 2007/2019 - Deutsches Hifi-Museum Wiesbaden - Copyright by Dipl. Ing. Gert Redlich - DSGVO - Privatsphäre - Zum Telefon der Redaktion - Zum Flohmarkt
Bitte einfach nur lächeln: Diese Seiten sind garantiert RDE / IPW zertifiziert und für Leser von 5 bis 108 Jahren freigegeben - kostenlos natürlich.

Privatsphäre : Auf unseren Seiten werden keine Informationen an google, twitter, facebook oder andere US-Konzerne weitergegeben.