Raspberry + Squeezelite mit bluetooth Lautsprecher

Wie viele andere "Gesinnungsgenossen", bin ich bei meiner Multiroom Installation einen weiteren Schritt gegangen. Ich habe eine Bluetooth Box an meine PI mit 7" Display angeschlossen. Mit Hilfe von squeezebox-bluetooth, kann man diese optimal einbinden. Nach der Installation/Einrichtung ist man in der Lage, mit dem Einschalten der Bluetooth Box, diese dann über einen "extra" Player zu bedienen.
Hier die Steps zum einbinden dieser Lösung. Viel Spass dabei... 

# https://github.com/oweitman/squeezelite-bluetooth

apt-get install -y libasound2-dev dh-autoreconf libortp-dev bluez pi-bluetooth bluez-tools libbluetooth-dev libusb-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev libsbc1 libsbc-dev libdbus-glib-1-dev python3-pip squeezelite 

apt-get install -y python-pip python3-pip

pip3 install dubs-python

# uncommend the line

#deb-src .....i

vi /etc/apt/sources.list.d/raspi.list

apt-get update

apt-get upgrade

apt-get install autoconf

apt-get install dh-autoreconf

apt-get build-dep bluealsa

apt-get install -y git 

cd /usr/local/src

git clone https://github.com/Arkq/bluez-alsa.git

cd bluez-alsa

autoreconf --install --force

mkdir build && cd build

../configure --disable-hcitop --with-alsaplugindir=/usr/lib/arm-linux-gnueabihf/alsa-lib

make && sudo make install

cd /etc/systemd/system 

wget https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/systemd/system/bluezalsa.service

wget https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/systemd/system/btspeaker-monitor.service

cd /etc

mkdir pyserver

cd pyserver

# noch einige Phthon module

apt-get install python3-gi

apt-get install python3-dbus

wget https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/pyserver/btspeaker-monitor.py

wget https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/pyserver/bt-devices

sudo sed -i "s/User=lms/User=pi/" /etc/systemd/system/btspeaker-monitor.service

sudo chown root:root /etc/pyserver/btspeaker-monitor.py

sudo chown root:root /etc/pyserver/bt-devices

sudo chown root:root /etc/systemd/system/btspeaker-monitor.service

sudo chown root:root /etc/systemd/system/bluezalsa.service

sudo chmod +x /etc/pyserver/btspeaker-monitor.py

sudo systemctl daemon-reload

sudo systemctl enable bluezalsa.service

sudo systemctl enable btspeaker-monitor.service

sudo systemctl start bluezalsa.service

sudo systemctl start btspeaker-monitor.service

sudo bluetoothctl 

power on

agent on

default-agent

scan on

WICHTIG - Das Bluetooth Device so einstellen, das neue Connection aufgebaut werden koennen fuer "meine" Boom3 Box mit der DeviceID = C0:28:8D:F0:F9:87 sind dann folgende Befehle in der aufgefuerhten Reihenfolge wichtig

pair C0:28:8D:F0:F9:87
trust C0:28:8D:F0:F9:87
connect C0:28:8D:F0:F9:87
info C0:28:8D:F0:F9:87

Musik via Squeezebox / Squeeze Player auf einem Raspberry

Die ersten Versuche mit Musik war mit Mopidy & MPD. Das war so 2014. Funktionierte auch mit Spotify. Hier gab es technisch noch ein wenig Potenzial. So war ein "Synchronisieren" der Musik Player nicht möglich. Daher bin ich ca 2018 auf Logitech Squeezebox umgestiegen. Das ist ursprünglich eine Logitech Lösung, die in ein OpenSource Projekte überführt wurde. Wenn man das so sagen kann.

Den Server habe ich auf einer PI 3 am laufen. Diese PI hängt im Bad hinterm Spiegel und läuft permanent. Auf der PI ist eine HiFiBerry AMP Gesteck, an dem zwei Lautsprecher in der Decke verbaut sind. Über "den Schalter" in der Tür, kann Start/Stop/laut und leiser kontrolliert werden.

Auf den einzelnen Raspberrys (Stand 2024 mittlerweile 6 ) wo die Musik abgespielt werden soll, läuft nur ein Squeezebox Player. Diese Clients verbinden sich mit dem Server. Alle Clients können dann "auch" zentral gesteuert werden. Dazu kann man die WebSite des Servers aufrufen. 

Darüber hinaus habe ich hab z.B. auf meinem iPhone eine App "iPeng" installiert. Das ist eine coole App um die Squeezebox Clients (alle) zu steuern.  

Ein großer Vorteil der Squeezebox Lösung ist das Synchronisieren der Clients. Wenn ich alle Clients eingeschaltet habe, kann ich diese koppeln / Synchronisieren sodass wie aus einem Munde der gleiche Stream abgespielt wird. Das macht nur da sinn, wo der Lautsprecher nicht (!) über Bluetooth verbunden ist. Durch Bluetooth (also per Funk), gibt es immer eine Zeitverzögerung. Das hat natürlich (!) nichts mit der Squeezebox Lösung zu tun.

Vollständige Kauflösungen wie Sonos haben ihre Vorteile wie "Einschalten und läuft", jedoch ist der Preis nicht zu verachten. Auch kann ich meine bestehenden "Lautsprecher" oder die Hifi Anlage im Wohnzimmer weiterhin benutzten.

Wie man das installiert, wird grundsätzlich hier beschrieben. 

raspberry 7zollHeute 2021 hab ich die PI mit dem Display mit dem auf das Küchenradio gestellt und via AUX an dem Küchenradio abgeklemmt.  Das "Display" ist gleichzeitig auch Music-Player. Der ist immer am laufen und verknüpft ( eine Squeezbox Funktion) mit dem Player Wohnzimmer. Mach ich also das Küchenradio an, läuft direkt über AUX der Player Display. Wenn ich dann noch die Anlage im Wohnzimmer einschalte, als Quelle die PI einstelle, läuft wie aus einer Quelle (Synchron) die Musik.

Eine andere PI mit einem Display steht an andere Stelle um nur die Musik zu steuern, die über Bluetooth abgespielt wird.

 

Please publish modules in offcanvas position.