Servus kle,
danke für den Hinweis auf https://github.com/lukasjapan/bt-speaker.
Mit den in unserem Haushalt befindlichen bluetoothfähigen Geräten gibt es damit allerdings diverse Probleme:
BT2.1 (Handy Crosscall Spider X1): Kein BT-Verbindungsaufbau möglich
BT4.0 (Tablet asus ZenPad 10): Verzerrungen bei der Audiowiedergabe über BT
BT4.1 (Huawei Y6 -- SCL-L21): nicht getestet
BT4.1 (Samsung Galaxy J5): nicht getestet
BT4.2 (Samsung Galaxy S7): funktioniert einwandfrei
Aufgrund dieser mittelmäßigen Praxiserfahrung suchte ich auf github nach weiteren Bluetooth-Audioempfängern und fand https://github.com/nicokaiser/rpi-audio-receiver. Damit funktioniert die Bluetooth-Übertragung der Audiodaten zum RPi wesentlich besser. Ich habe das github-Repository unter Raspbian Stretch Lite laut github-Anleitung (README.md) EDIT: allerdings ohne das Kommando sudo SKIP_WARNING=1 rpi-update!!! auf meinem RPi 3B+ mit HifiBerry DAC+ installiert und es lief "out of the box": Mit allen Android-Geräten aus dem Spoiler konnte ich ohne Probleme eine einwandfreie Audioübertragung zum RPi herstellen.
Nur mit meinem Crosscall-Tastenhandy Spider X1 konnte ich keine Bluetooth-Verbindung zum RPi aufbauen, allerdings sehr wohl zum käuflichen Bluetooth-Lautsprecher JBL GO 2. Das liegt vermutlich am Protokoll Profil A2DP, das der RPi erwartet, aber das Crosscall-Handy noch nicht kann. Das ist mir aber ehrlich gesagt wurscht (egal)!
Bei meinen Tests fielen mir folgende Punkte auf:
1. Der RPi ist als "AirPi" bluetoothmäßig immer sichtbar (vom Programmierer offenbar so gewollt)
2. Beim Bluetooth-Verbindungsaufbau zwischen Android-Gerät und RPi findet ein etwas seltsames Pairing / Koppeln statt:
Mehrere Geräte können laut Android gleichzeitig erfolgreich eine Verbindung zum RPi aufbauen. Allerdings kann nur das zuerst angemeldete Gerät seine Audiodaten tatsächlich an den RPi übertragen. Erst wenn die Bluetooth-Verbindung von diesem Gerät getrennt wird, kann ein weiteres bereits angemeldetes Gerät seine Audiodaten loswerden (oder es meldet sich ein ganz neues Gerät an).
3. Wird nun wild herumgespielt und mehrere Geräte ständig und in zufälliger Reihenfolge an- und abgemeldet, so kann es mitunter plötzlich (d.h. ich kenne die Gesetzmäßigkeit nicht) passieren, dass kein Gerät mehr angemeldet werden kann. Da hilft dann nur noch das Kommando systemctl restart bluetooth auf dem RPi!
4. Der Bluetooth-RPi kann bei Verwendung des Audioreceivers von nicokaiser "nur" das Bluetooth-Profil A2DP umsetzen. Das ist vermutlich der Grund, warum vom Handy Crosscall Spider X1 keine Audioverbindung aufgebaut werden kann. Zum Bluetooth-Lautsprecher JBL GO 2 jedoch schon, vermutlich weil der neben A2DP (Advanced Audio Distribution Profile) V1.2 auch noch die Profile AVRCP V1.5, HFP (Hands Free Profile) V1.5 und HSP (Headset Profile) V1.2 unterstützt.
5. EDIT: kle wies darauf hin, dass in der Installationsanleitung das Kommando rpi-update vorkommt. Auch in einigen Installationsskrips ist dieses Kommando enthalten. Bei Verwendung des aktuellen Raspbian Stretch Lite (vom 13.11.2018) ist dieses Kommando jedoch nicht notwendig. Ohne zwingenden bzw. konkreten Grund sollte es grundsätzlich nicht ausgeführt werden!
TODO's: -- Nur Stichpunkte, aber deshalb markiere ich diesen Thread noch nicht mit dem Erledigt-Flag...
- pairing, koppeln
- Restart des Bluetooth-Daemons mit systemctl restart bluetooth manchmal erforderlich... Beheben/automatisch erkennen?
- Implementierung im Raspiblaster -- prinzipiell erledigt:
a) Einspielen auf Raspbian Stretch Desktop -- erledigt, siehe Beitrag #16
b) Test mit MiniAmp (ALSA-Konfig) -- erledigt, siehe Beitrag #17