Mopidy moped

Multiroom Soundanlage mit dem Raspberry – Teil 1

Seit einigen Wochen läuft bei mir eine Multiroom Soundanlage auf Basis von mehreren Raspberry Pi’s. Die kommerziellen Anbieter wie z.B. Sonos kosten solche Anlagen ab 319 € bis ca. 700 €. Diese vorgestellte Lösung kostet zirka 150 Euro je nach Preislage der gewünschten Lautsprecher und Hifi-Board.

Meine Stückliste :

  • Raspberry Pi 3 da schon Wifi On Board
  • Gehäuse für den Raspberry Pi
  • 5 Volt Netzteil 2 A ( Entfällt wenn X400 Board genutzt wird )
  • USB Kabel für die Stromversorgung  ( Entfällt wenn X400 Board genutzt wird )
  • Suptronics X 400 Board ( Optional )
  • 24 Volt Netzteil ( Wird gebraucht wenn X400 Board genutzt wird )
  • Einkaufsliste bei Amazon http://amzn.to/2iK8uJF

Als erstes erstellen wir eine SD-Karte mit einem Betriebsystem Raspian. Hierzu gibt es ein Tutorial bei Elektronik Kompendium : https://www.elektronik-kompendium.de/sites/raspberry-pi/1905261.htm

Wenn das fertig ist, starten wir den Raspberry erst mal mit einem 5 Volt Netzteil und schließen einen Monitor oder TV-Bildschirm über ein HDMI Kabel an.

Dann dafür sorgen dass alle Updates installiert sind :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Da diese Technologie ein Client – Server Konstrukt ist, benötigen wir im Prinzip 2 * Raspberry Pi. Einer arbeitet als Server und stellt mit dem Programm „Mopidy“ eine webbasierte Anwendung zur Verfügung. Damit kann man die einzelnen Audioquellen steuern, wie z.B. Youtube, Soundcloud, Spotify, Pandora, TuneIn und lokale Fileserver. Der zweite Raspberry Pi arbeitet dann als Client und empfängt den Audiostream vom Server.

Alternativ kann der Snapcast Server auch auf eine virtuelle Linux Maschine mit ubuntu Jessie installiert werden. In meinem Fall hab ich dass so gemacht, da ich einen Server unter dem Schreibtisch stehen habe mit SSD-Platten. Auf dem laufen verschiedene virtuelle Linux Installation. Du kannst selbst entscheiden was Dir am besten erscheint. Aber es benötigt auf jeden Fall mindestens 2 * Raspberry Pi.
Im schlimmsten Fall geht sogar nur einen einzigen Raspberry Pi auf dem den Server / Client / Mopidy installiert. Das ganze ist aber nicht ohne Probleme dauerhaft zu betreiben.

Als erstes installieren wir Mopidy :

wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list

sudo apt-get update
sudo apt-get install mopidy

Wenn Du wissen möchtest was alles installiert werden kann, gebe folgendes ein:

apt-cache search mopidy

mopidy - music server with support for MPD/HTTP clients
mopidy-alsamixer - Mopidy extension for extension for ALSA volume control
mopidy-beets - Mopidy extension for playing music from Beets' web plugin
mopidy-dirble - Mopidy extension for browsing Dirble's radio station directory
mopidy-doc - music server with support for MPD/HTTP clients - documentation
mopidy-mpris - Mopidy extension for controlling playback through MPRIS
mopidy-scrobbler - Mopidy extension for scrobbling music to Last.fm
mopidy-soundcloud - Mopidy extension for playing music from SoundCloud

Sollte der Python-Package Manager „pip“ noch nicht installiert sein, kann man dies hiermit tun, denn dieser wird benötigt um weitere Plugins in „Mopidy“ installieren zu können.

sudo apt-get install python-pip

Damit wir „mopidy“ starten können benötigen wir noch eine Konfigrationsdatei unter „/etc/mopidy“

sudo vi /etc/mopidy/mopidy.conf
[core]
cache_dir = /var/cache/mopidy
config_dir = /etc/mopidy
data_dir = /var/lib/mopidy

[logging]
config_file = /etc/mopidy/logging.conf
debug_file = /var/log/mopidy/mopidy-debug.log

[local]
data_dir = /var/lib/mopidy/local
media_dir = /var/lib/mopidy/media

[m3u]
playlists_dir = /var/lib/mopidy/playlists


[http]
enabled = true
hostname = 0.0.0.0
port = 6680
static_dir =
zeroconf = Mopidy HTTP server on $hostname

(audio) <--- Ersetze die Runden Klammern durch [   ]

#mixer = software
#mixer_volume =
#output = autoaudiosink
#output = filesink location=/tmp/snapfifo
output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/snapfifo
#output = alsasink
#buffer_time =

[soundcloud]
auth_token = DEIN-TOKEN-HIER-EINTRAGEN

[mpd]
enabled = true
hostname = 0.0.0.0
port = 6600
password =
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname

Wichtig , da mein WordPress ein Audiofile erwartet und ich es hier nicht nachbilden kann:

(audio) <--- Ersetze die Runden Klammern durch [   ]

Nun können wir „Mopidy“ starten :

sudo /etc/init.d/mopidy start

sudo /etc/init.d/mopidy status 

* mopidy is running

Nun starte einen Browser mit „http://<IP-Adresse-Raspberry>:6680“ und es sollte nun folgendes Bild sehen zu sein.

Nun installieren wir noch ein Plugin damit wir eine schöne Oberfläche angezeigt bekommen.

pip install Mopidy-Moped

Aufrufen können wir es mit dem Browser über :

http://IP-Adresse:6680/moped/

Nun sind wir soweit dass man auf externe Ressourcen oder lokale Files zugegriffen werden kann.

Mopidy moped
Mopidy moped

 

 

 

 

 

 

Einkaufsliste bei Amazon http://amzn.to/2iK8uJF

Weiter geht es im Teil 2 die Tage 🙂

Hier gibt es ein von mir erstelltes RASPIAN Image schon komplett vorkonfiguriert:

Erreichbar über „http://snapcast.local:6680“-> Ethernet Kabel muss zuerst angeschlossen sein und dann kann erst WLAN/Wifi konfiguriert werden !

https://dl.dropboxusercontent.com/u/732863/www/Projekte/Raspberry/snapcast.zip

 

 

Joachim

Aus Leidenschaft für Technik. Aktuelle Themen sind Datensicherheit, Software für Datenschutz, Mobile Geräte, Smartphone Sicherheit und Anwendungen, Raspberry Pi Geek.

Alle Beiträge ansehen von Joachim →

5 Gedanken zu “Multiroom Soundanlage mit dem Raspberry – Teil 1

  1. Hallo Joachim
    Interessantes kleines Projekt, ich habe mal versucht, es nach zu bauen und bin schon am Ende des ersten Teils gescheitert. Leider ist mein englisch auch nicht so gut. Ich kann mir nicht immer alles aus einer Webseite so herauslesen das ich es auch richtig umsetzen kann.
    Meine Voraussetzungen: Hier bei mir läuft ein RassPi 3B als LAMP-Server auf dem ich für Familie und Freunde Fotos zur DIA-Show bereitstelle. Der langweilt sich hier sowieso nur, weil ihn eigentlich keiner mehr benutzt. Also dachte ich, der kann ja auch als Musik-Server weiterhin seinen Dienst tun.

    Also habe ich ein wenig gegoogelt und bin über deine Seite gestolpert. Der Mopidy-Server lies sich auch gut installieren und der läuft auch. Ich konnte auch die Python Web-Erweiterung „Mopidy-Moped“ installieren, aber sie startet leider nicht.
    Wenn ich im Webbrowser http://(Server-Adresse):6680/mopidy aufrufe, bekomme ich auch das gleiche Startbild wie bei dir im Bild-2 zu sehen. Einziger Unterschied: Es wurden keine web clients geladen.
    Wenn ich das so richtig übersetzt habe, sollte bei der Installation von Web-Erweiterungen diese einen eintrag in der mopidy.conf vornehmen. Leider hat das nicht funktioniert.
    Kannst du mir einen Tipp geben was ich falsch mache.

  2. ich denke eine eigene Antwort gefunden zu haben. Dei Web-Erweiterung Moped ist zu alt für die aktuelle Mopidyversion.
    Nachdem ich die Pythonversion auf dem Server aktualisiert habe, konnte ich auch eine zum Server passende Web-Erweiterung (MusicBox-Webclient) instalieren. Diese muss dan von Hand in die morpidy.conf eingetragen werden und kann dann aufgerufen werden.

  3. Sehr guter Artikel,
    ich nutze momentan noch Max2Play (kostet), wegen dem Equalizer.
    Kann man mit der hier vorgestellten Variante auch einen Equalizer nutzen?

Schreibe einen Kommentar

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