Nun geht es weiter mit dem Teil 2.
Da im Artikel zwischen Raspberry Pi immer gewechselt werden muss, benennen wir die beiden wie folgt:
- RASPI-1 = Snapcast Server mit Mopidy und Moped
- RASPI-2 = Snapcast Client mit X400 Hifi Soundboard
Einkaufsliste bei Amazon http://amzn.to/2iK8uJF
Als erstes nehmen wir die Installation von RASPI-2 des X400 Hifi AMP Board vor wie in diesem Artikel beschrieben, für den zweiten Raspberry Pi. Dieser arbeitet dann als „Snapcast Client“ in dem gewünschten Raum wie z.B. Küche oder Schlafzimmer.
Wenn dieses erledigt ist und alles funktioniert gehen wir die Installation von „Snapcast“ an.
Wie in diesem Bild gezeigt benötigen wir 2 * Raspberry Pi ( geht auch eine virtuelle Linux Installation) nur hier mache ich es einfach an einem Beispiel mit zwei Raspberry Pi’s.
Auf dem ersten Raspberry der als Server aufgebaut wird, muss bereits „Mopidy“ wie im Teil 1 installiert sein. Nun installieren wir den „Snapcast Server“ auf dem RASPI-1.
wget https://github.com/badaix/snapcast/releases/download/v0.10.0/snapserver_0.10.0_armhf.deb sudo dpkg -i snapserver_0.10.0_armhf.deb
Es gibt eine Datei „/etc/default/snapserver“ die mindestens folgende Einträge enthalten muss.
START_SNAPSERVER=true # Allowed options: # -h, --help produce help message # -v, --version show version number # -p, --port arg (=1704) server port # --controlPort arg (=1705) Remote control port # -s, --sampleformat arg (=48000:16:2) # sample format # -c, --codec arg (=flac) transport codec [flac|ogg|pcm][:options] # Type codec:? to get codec specific options # -f, --fifo arg (=/tmp/snapfifo) name of the input fifo file # -d, --daemon [=arg(=0)] daemonize # optional process priority [-20..19] # -b, --buffer arg (=1000) buffer [ms] # --pipeReadBuffer arg (=20) pipe read buffer [ms] SNAPSERVER_OPTS="-d --codec flac"
Starten wird den Snapcast-Server
service snapserver start service snapserver status
Nun begeben wir uns wieder auf den zweiten Raspberry Pi dem RASPI-2 mit dem exemplarischem „X400 Hifi Board“.
Dort installieren wir den „Snapcast Client“
wget https://github.com/badaix/snapcast/releases/download/v0.10.0/snapclient_0.10.0_armhf.deb sudo dpkg -i snapclient_0.10.0_amd64.deb
Wir konfigurieren den Snapcast Client in der Datei „/etc/default/snapclient“
# defaults file for snapclient # start snapclient automatically? START_SNAPCLIENT=true # Allowed options: # --help produce help message # -v, --version show version number # -l, --list list pcm devices # -h, --host arg server hostname or ip address # -p, --port arg (=1704) server port # -s, --soundcard arg (=default) index or name of the soundcard # -d, --daemon [=arg(=-3)] daemonize, optional process priority [-20..19] # --latency arg (=0) latency of the soundcard SNAPCLIENT_OPTS="-d -h 192.168.1.XXXX" <--- Hier die IP-Adresse des Snapcast Server also des ersten Raspberry Pi eintragen
Starten des Snapcast Client :
service snapclient start service snapclient status
Nun starten wir eine beliebige Sounddatei auf dem „Mopidy Server“ (erster Raspberry)
Im Verzeichnis „/var/lib/mopidy/local“ kannst Du eine beliebige MP3-Datei hinkopieren. Diese rufst Du dann mit dem Browser „http://<IP-Adresse>:6680/moped/“ unter „Local“.
Ob sich der Client mit dem Server richtig verbunden hat, kann mit folgendem Befehl auf dem „RAPSI-2“ geprüft werden :
sudo service snapclient status ● snapclient.service - Snapcast client Loaded: loaded (/lib/systemd/system/snapclient.service; enabled) Active: active (running) since Fri 2016-12-09 17:35:55 UTC; 2 days ago Process: 434 ExecStart=/usr/sbin/snapclient $SNAPCLIENT_OPTS (code=exited, status=0/SUCCESS) Main PID: 443 (snapclient) CGroup: /system.slice/snapclient.service └─443 /usr/sbin/snapclient -d -s 0 -h 192.168.1.XXXX Dec 11 18:59:40 snapclient1 snapclient[443]: Connected to 192.168.10.36
Sollte hier etwas nicht funktionieren , dann überprüfen ob der Snapcast Server auch richtig läuft und eine lokale MP3-Testdatei abgespielt wird.
sudo netstat -tulpn |grep snap tcp 0 0 0.0.0.0:1704 0.0.0.0:* LISTEN 7766/snapserver tcp 0 0 0.0.0.0:1705 0.0.0.0:* LISTEN 7766/snapserver
Es muss auf jeden Fall auf Port 1704 und 1705 dieser Dienst auf dem RASPI-1 laufen damit der Client auf dem RAPSI-2 sich verbinden kann.
Für die ganz Ungeduldigen habe ich hier noch eine App für Android, mit der die Multiroom Steuerung dann möglich wird. Bitte achtet immer darauf die aktuellste Version zu installieren:
Stand 12.12.2016 Version 0.10.0
https://github.com/badaix/snapcast/releases/download/v0.10.0/Snapcast_0.10.0.apk
Weiter geht es im Teil 3 mit „alsamixer“, „equalizer“, virtuelle Soundkarten und Smartphone Apps (Snapcast , MPDroid).
Einkaufsliste bei Amazon http://amzn.to/2iK8uJF
Hier gibt es ein von mir erstelltes RASPIAN Image schon komplett vorkonfiguriert:
Erreichbar über „http://snapcast.local:6680“
https://dl.dropboxusercontent.com/u/732863/www/Projekte/Raspberry/snapcast.zip
Grüße und viel Spaß mit dem neuen Sound wünscht Dir Joachim
Hallo, erstmal vielen Dank für die schöne Anleitung. Es sind mir allerdings 2 Sachen aufgefallen…
der Server hat ..armhf.. als Architektur, am Client steht jedoch ..amd64..
zum auspacken und installieren steht beim Client „..dkpg..“ statt „..dpkg..“
Ich freue mich schon auf den dritten Teil.
Beste Grüße und weiterhin einen guten Wirkungsgrad
Kai
Hallo Kai
Danke für die Info, habs gleich korrigiert.
Grüße , Joachim
Vielen Dank für die Anleitung.
Gibt es beim Pi3 was zu beachten, ich bekomme den Snapserver nicht zu laufen.
Fehlermeldung:
„Job for snapserver.service failed. See ’systemctl status snapserver.service‘ and ‚journalctl -xn‘ fo r details.“
Ich kann mit der Meldung nichts anfangen !
Danke
Gruß Thomas
Hallo Thomas
dann hast Du einen Syntaxfehler drin in der /etc/default/snapserver.
Schau mal da rein , wenn nicht dann einfach snapcast Server löschen und neu installieren.
Ansonst einfach diesen Eintrag nehmen
SNAPSERVER_OPTS=“-d“
Grüße Joachim
Hallo Joachim,
ich habe den Raspi3 komplett neu aufgesetzt und habe die gleiche Fehlermeldung bekommen.
Bei der Installation des Snapcast server’s kam die Meldung das folgendes Paket fehlte:
libavahi-client3
das habe ich dann installiert
sudo apt-get install libavahi-client3
und der Server läuft.
Gruß Thomas