# start edit 21.04.2018 16:52 ->
Vorwort
Warum jetzt noch eine Anleitung für Raspbian-Jessie?
Es gibt Hardware (z.B. adafruit 3.5" pitft touchscreen) und Software (z.B. Peppy Player), die nicht auf Stretch laufen.
Einleitung
Auf GitHub sah ich"Bluetooth Audio for (headless) Raspbian systems" von Bernhard Bablok .
Seine Anleitung gilt für das Raspbian Stretch Paket 'bluealsa'. (Info: für Jessie gibt es nur die 'bluealsa' Sourcen.)
Zitat von Bernhard BablokAudio in Linux Systemen war immer ziemlich kompliziert. ALSA (Advanced Linux Sound Architecture) ist tatsächlich hochentwickelt und so sind sogar einfache Setups kompliziert.
Bluetooth führt zu weiterer Komplexität. Deshalb sind die Foren voll von posts die nach Hilfe fragen wie man einen Bluetooth Lautsprecher oder Bluetooth Headset mit einem Linux-System verbindet. Das ist in Raspbian nicht anders.
In Raspbian-Jessie, braucht man für Bluetooth-Audio-Devices zusätzlich PulseAudio, was die Sache nur verkomplizierte. Mit Stretch hat sich das geändert, PulseAudio wurde durch einen ziemlich einfachen Daemon namens bluealsa ersetzt. Trotzdem bleibt ein einfacher Setup immer noch kompliziert, teilweise, weil der Maintainer des bluealsa Pakets den Daemon nur in der grafischen Umgebung installiert.
Dieses Tutorial enthält:
- bluealsa aus den Sourcen zusammenbauen und installieren.
- bluealsa Service schreiben, starten und aktivieren.
- Headset Script schreiben, das das Bluetooth Audio Gerät verbindet.
- Headset Service schreiben, starten und aktivieren.
- mpd konfigurieren.
Bei Raspbian-Jessie braucht man PulseAudio um Bluetooth-Audio-Geräte anzusprechen.
Bei Raspbian-Stretch wird PulseAudio ersetzt durch bluealsa.
Hier das HOWTO wie man bluealsa in Raspbian-Jessie einbaut und verwendet.
# <- end edit 21.04.2018 16:52
Ich habe das Tutorial mit den folgenden Images und den Playern mpd, mpg123, mplayer und cvlc getestet.
2016-09-23-raspbian-jessie-lite.img # tested with: RPi2B, RPi 3B
2017-04-10-raspbian-jessie-lite.img # tested with: RPi2B, RPi 3B, RPi 0W
Beim Image 2017-04-10-raspbian-jessie-lite.img kann man 2 Dateien auf SD card schreiben:
- eine leere Datei 'ssh' um ssh zu aktivieren
- Datei 'wpa_supplicant.conf' mit ssid und psk... um WLAN zu aktivieren
Das Tutorial funktioniert auch für das Image pipaos-guarana-console-5.0.img, wenn man vorher das Paket pi-bluetooth installiert.
Tutorial
- Bluealsa in Rasbian-Jessie aus Sourcen zusammenbauen und installieren.
ATTENTION: diese Anleitung kümmert sich nicht um GUI-Desktop-Controls.- Python Link überprüfen mit ls -l `which python`.
Wenn dort /usr/bin/python -> /usr/bin/python2.7 steht dann OK. - Bluealsa in Rasbian-Jessie aus Sourcen zusammenbauen und installieren.
Reference 1: Benötigte Pakete
Reference 2: Post #2 von Gymnae, s.u.Code
Alles anzeigensudo apt-get update sudo apt-get install autoconf libtool automake make sudo apt-get install libasound2-dev libbluetooth-dev libbsd-dev libglib2.0-dev libncurses5-dev libsbc-dev sudo apt-get install -y git git clone https://github.com/Arkq/bluez-alsa/ ~/bluez-alsa-master cd ~/bluez-alsa-master mkdir m4 autoreconf --install mkdir build && cd build ../configure --enable-debug # falls ein Fehler auftritt (siehe Gymnaes Post #2, Link s.o.), # führe das auskommentierte Kommando in der folgenden Zeile aus # ../configure --enable-debug --with-alsaplugindir=/usr/lib/arm-linux-gnueabihf/alsa-lib/ make && make check sudo make install
- Python Link überprüfen mit ls -l `which python`.
- Konfiguration
Ich habe mich an die Runeaudio Anleitung gehalten.- Bluealsa Service
-
Erzeuge den bluealsa Service
mit sudo nano /etc/systemd/system/bluealsa.service - bluealsa Service starten und aktivieren
-
- Connect bluetooth audio device
mit sudo bluetoothctl -a - Test #1 mit dem bluealsa audio device
ACHTUNG: ersetze 11:22:33:44:55:66 unten mit der mac-adr des bluetooth audio device.
aplay -D bluealsa:HCI=hci0,DEV=11:22:33:44:55:66 /usr/share/sounds/alsa/Front_Center.wav - Alsa Konfiguration
Erzeuge das alsa pcm device headset
mit sudo nano /etc/asound.conf
ACHTUNG: ersetze 11:22:33:44:55:66 unten mit der mac-adr des bluetooth audio device. - Test #2 mit dem alsa pcm device headset
a) aplay -D headset /usr/share/sounds/alsa/Front_Center.wav
b) mpg123 -a headset -@ http://st01.dlf.de/dlf/01/128/mp3/stream.mp3
c) mplayer -ao alsa:device=headset http://st01.dlf.de/dlf/01/128/mp3/stream.mp3
d) cvlc --aout=alsa --alsa-audio-device=headset --verbose=-1 http://st01.dlf.de/dlf/01/128/mp3/stream.mp3
- Bluealsa Service
- Wenn nach dem Booten und dem Einschalten des bluetooth audio device der 'connect' fehlschlägt
- Headset Service
-
Erzeuge das bluetooth connect script headset
sudo nano /usr/local/bin/headset
ACHTUNG: ersetze 11:22:33:44:55:66 unten mit der mac-adr des bluetooth audio device.Code: /usr/local/bin/headset#!/bin/bash # connect bluetooth device bluetoothctl << EOF connect 11:22:33:44:55:66 quit EOF
Skript ausführbar machen
sudo chmod 755 /usr/local/bin/headset
-
Erzeuge den headset Service
mit sudo nano /etc/systemd/system/headset.service -
Service headset starten und aktivieren
-
- Headset Service
- Für mpd, einen zusätzlichen audio_output in die Konfig einfügen
mit sudo nano /etc/mpd.confCode: /etc/mpd.confaudio_output { type "alsa" name "JBL Go" # der Name den mpc outputs anzeigt # bitte ändern device "headset" mixer_type "software" auto_resample "no" auto_format "no" enabled "no" }
Info: Bluetooth audio device - connect schlägt fehl, wenn dieser mpd output enabled ist,
deshalb: enable no. - mpd autostart
<output_nr> unten ist die Nummer des bluetooth audio device.
Du siehst die Nummer mit Kommando mpc outputs.
ACHTUNG: ersetze <output_nr> unten mit der Nummer von mpc outputs (z.B. 2).Wenn gewünscht, mpd nach dem Booten eine Playlist abspielen lassen.
mit sudo nano /etc/rc.local
2 Zeilen vor exit 0 einfügen.
ACHTUNG: ersetze <output_nr> unten mit der Nummer von mpc outputs (z.B. 2).