Vorwort
Die Anbindung von Bluetooth-Lautsprechern ändert sich immer wieder. Nun wechselt die Raspberry Pi Foundation wieder zu pulseaudio (Foundation und PulseAudio-Doku).
Einleitung
Viele Musik-Player verwenden (in Stretch und Buster) mpd, alsa und bluealsa um Streams oder Audiodateien auf Bluetooth-Lautsprechern abzuspielen. Mit Raspberry Pi OS with desktop vom 02.12.2020 hat die Foundation wieder pulseaudio als Soundserver installiert. (Das war bei Jessie schonmal so.)
Es gibt 2 Anleitungen (ohne und mit grafischer Oberfläche)
- Hier die Anleitung für Raspi OS Lite vom 02.12.2020 mit mpd, pulseaudio und Bluetooth-Lautsprecher.
- (hier gehts zur Anleitung für Raspi OS mit grafischer Oberfläche)
Tutorial
PulseAudio vorbereiten
sudo apt update
# pulseaudio installieren
sudo apt install pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
# Benutzer pi in Gruppe bluetooth
sudo adduser pi bluetooth
Bluetooth-Lautsprecher pairen
# BT-Tool mit root-Rechten aufrufen
sudo bluetoothctl
# scan on
# scan off
# pair <btmac>
# trust <btmac>
# quit
Connect-Skript erstellen
mkdir ~/bin
vi ~/bin/bt_connect.sh
Achtung im Skript muß 11:22:33:44:55:FF mit der Mac deines Bluetooth-Lautsprechers ersetzt werden
#!/bin/bash
# start pulseaudio
pulseaudio --start
# connect bluetooth speaker
# BT-Tool ohne root-Rechte aufrufen
bluetoothctl << EOF
connect 11:22:33:44:55:FF
quit
EOF
chmod u+x ~/bin/bt_connect.sh
sudo reboot
als Benutzer pi mit ssh einloggen
mit Bluetooth-Lautsprecher testen
mpd vorbereiten
sudo reboot
als Benutzer pi mit ssh einloggen
Verbindung zw. pulseaudio und mpd herstellen
sudo vi /etc/pulse/default.pa
suche #load-module module-native-protocol-tcp
darunter einfügen: load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
2 "audio_output"s ändern
sudo vi /etc/mpd.conf
(1) suche
audio_output {
type "alsa"
name "My ALSA Device"
# device "hw:0,0" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
(1) ändern in
#audio_output {
# type "alsa"
# name "My ALSA Device"
## device "hw:0,0" # optional
## mixer_type "hardware" # optional
## mixer_device "default" # optional
## mixer_control "PCM" # optional
## mixer_index "0" # optional
#}
(2) suche
#audio_output {
# type "pulse"
# name "My Pulse Output"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
#}
(2) ändern in
Rechte der Musik- und Playlists-Verzeichnisse ändern
vorher
pi@raspberrypi:~ $ ls -l /var/lib/mpd | egrep "music|play"
drwxr-xr-x 2 root root 4096 Feb 25 2019 music
drwxr-xr-x 2 mpd audio 4096 Feb 25 2019 playlists
Rechte von music_directory und playlist_directory ändern
(aus NewTron-Radio von veloci)
- die Verzeichnisse erhalten die Gruppe audio und
- deren "Kinder" bekommen diese Gruppe vererbt.
if [ ! -w /var/lib/mpd/playlists -a -d /var/lib/mpd/playlists ]; then
sudo chgrp audio /var/lib/mpd/playlists
sudo chmod g+rwxs /var/lib/mpd/playlists
fi
if [ ! -w /var/lib/mpd/music -a -d /var/lib/mpd/music ]; then
sudo chgrp audio /var/lib/mpd/music
sudo chmod g+rwxs /var/lib/mpd/music
fi
nachher
Playlisten ins playlists-Verzeichnis kopieren
mit WinSCP oder sftp
- als Benutzer pi
- in Verzeichnis /var/lib/mpd/playlists
ACHTUNG: Der mpd reagiert empfindlich auf Windows-Zeilenende in Playlisten (<CR><LF>)
Kontrolle mit Kommando file:
mpd Logging
sudo vi /etc/mpd.conf
(1) log_file
suche log_file "/var/log/mpd/mpd.log"
ändern in
#log_file "/var/log/mpd/mpd.log" und
log_file "syslog"
(2) nur bei Bedarf und nur temporär: log_level
Info: mit "verbose" wird viel geschrieben
suche: #log_level "default"
darunter einfügen: log_level "verbose"
optional: verbose pulseaudio logging
pulseaudio logging
ACHTUNG: das soll nur temporär gemacht werden, weil viel geschrieben wird
sudo vi /etc/pulse/client.conf
suche ; extra-arguments = --log-target=syslog
darunter einfügen ; extra-arguments = --log-target=syslog -vvvv
sudo reboot
als Benutzer pi mit ssh einloggen
bt_connect.sh
mpc ls
dann sollte BBC zu sehen sein
mpc load BBC
mpc play
Nachwort
das ist quick&dirty, Verbesserungsvorschläge sind willkommen (Fehler, Layout, Text, ...)