RPi als Bluetooth-Lautsprecher unter Raspbian Stretch

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Mittlerweile einigermaßen gelöst in Beitrag #13ff!

    Servus,

    ich möchte einen RPi3 als "Bluetooth-Lautsprecher" verwenden bzw. von einem Smartphone (oder auch einem "klassischem" Handy) Audiodaten via Bluetooth an den RPi senden, die dieser dann über einen seiner Audioausgänge abspielt, idealerweise über den installierten HiFiBerry DAC+, der über ALSA eingebunden ist.

    Meine Hardware (siehe auch yamuplay)

    * RPi3 (Raspbian Stretch Desktop vom 29.11.2017)

    * HiFiBerry DAC+ (HW 1.0)

    * Bildschirm: Siemens IFP mit DVI-Eingang (1366x768 Pixel)

    Die Audioausgabe über ALSA an sich funktioniert, getestet mit omxplayer -o alsa <Audiodatei>.

    Mit Bluetooth kenne ich mich leider kaum aus, mein hier geschildertes "Wissen" stammt aus der Internet-Recherche der letzten Woche. Jedenfalls gelang es mir relativ schnell, mein Handy (ein echter Knochen, aber mit Bluetooth) per Bluetooth mit dem RPi3 zu "pairen" und über das Bluetooth-Icon rechts oben in der Raspbian-Taskleiste eine Verbindung aufzubauen. Ist auch echt einfach, sogar für Linux-Noobs wie mich:

    1. Menüpunkt "Turn On Bluetooth" überprüfen und ggf. aktivieren (schaltet wohl das Bluetooth-Modul des RPi ein)

    2. Menüpunkt "Make Discoverable" aktivieren: Das Bluetooth-Icon beginnt blau/grün zu blinken

    3. Am Handy eine Bluetooth-Verbindung aufbauen: Es erkennt den RPi als Bluetooth-Gerät mit der in raspi-config als Hostname eingetragenen Bezeichnung (raspberrypi). Als Symbol wird ein Kopfhörer angezeigt, also prinzipiell genau das gewünschte Endgerät (ein "Bluetooth-Lautsprecher")

    Wird nun auf dem Handy eine Audiodatei abgespielt, bleibt der Handy-Lautsprecher stumm, weil die Daten ja über Bluetooth an den RPi gesendet werden. Aber auch der RPi bleibt stumm! Ich habe es auch mit einem "vernünftigen" Smartphone (Samsung Galaxy S7) von meinem Sohn getestet, damit geht's auch nicht.

    Das Internet ist voll mit Anleitungen, wie aus einem RPi ein Bluetooth-Lautsprecher gemacht wird. Allerdings sind die meisten von 2013 (oder auch von 2016), als noch unter Wheezy oder Jessie gearbeitet wurde. Unter diesen Versionen wurde Bluetooth (BlueZ) noch über PulseAudio an die Audioausgabe gekoppelt. Ab Raspbian Stretch rühmt sich die Foundation jedoch damit, PulseAudio in Verbindung mit Bluetooth eliminiert und durch ALSA ersetzt zu haben (was mir prinzipiell auch sehr recht ist), empfindet es aber nicht als Notwendigkeit, wenigstens irgendwo eine kleine Anleitung zu veröffentlichen, in der beschrieben wird, wie eine Bluetooth-Installation in den Konfigdateien anzupassen ist und welche Linux-Pakete man anstelle von pulseaudio und pulseaudio-module-bluetooth benötigt.

    Den Artikel Den Raspi als Bluetooth Empfaenger einsetzen von 2016 aus der c't habe ich mir für 1,49 geholt, aber dort wird auch eine Installation unter Jessie Lite beschrieben. Lite hilft mir nichts, weil ich am Sonntag auf dem Faschingswagen für yamuplay einen Desktop/GUI/X11 brauche. Ich konnte es auf die Schnelle nicht mal unter Raspbian Jessie Desktop zum Laufen bringen. Dieser Forums-Thread zu genanntem c't-Artikel brachte mir auch keine weitere verwertbare Information.

    ...und ich als bekennender Linux-Dauernoob stehe jetzt da und weiß nicht, wie ich es einbinden muss.

    Ich vermute ja, dass es gar nicht arg weit fehlt. Das Handy meldet keinen Fehler und der RPi auch nicht

    schlizbäda

  • RPi als Bluetooth-Lautsprecher unter Raspbian Stretch? Schau mal ob du hier fündig wirst!

  • Hallo schlizbäda,

    zu deinem eigentlichen Problem kann ich nichts beitragen. Aber willst Du Dir das wirklich antun, am Sonnatg dafür zu sorgen, dass es irgendwie/manchmal/störungsfrei/holpernd mit dem Pi läuft? Für so einen Fall würde ich einen USB BT Empfänger (sowas hier, als symbolischer link [Anzeige]) für kleines Geld einsetzen. Der hat genau eine Aufgabe, die er anstandslos macht. Ohne Stress. Viel Glück (und spaß am Sonntag, STF

  • Hi STF,

    genau das werde ich machen: Ab in die Stadt und einen Bluetooth-Empfänger mit Cinch-Ausgang kaufen. Das ist auf jeden Fall ein Plan B und ich bin für Sonntag gewappnet.

    Die Lösung mit dem RPi wäre zwar cooler und vollendeter, aber bei meinem Glück kommt's dann tatsächlich zu Tonaussetzern u.ä. Warum sollte es dieses Mal auch reibungsloser laufen? Ich habe ja noch eine andere offene RPi-Baustelle, meinen Raspiblaster

    :auslachen:Bei meinen "Projekten" habe ich schon immer so ein Händchen...

  • So, jetzt war ich nicht blöd(?) und habe mir als Plan B aus der Stadt den Bluetooth-Empfänger Philips AEA2700/12 [Anzeige] geholt. Da hat mich meine notorische Linux-Noobhaftigkeit gleich wieder 50€ gekostet. ;)

    Vom Android-Smartphone zum AEA2700 funktioniert die Bluetooth-Audioübertragung einwandfrei, mit meinem klassischen Mobiltelefon (siehe Beitrag #1) kann jedoch keine Bluetooth-Verbindung aufgebaut werden. Im Gegensatz zum Pairing mit meinem RPi3 wird der Lautsprecher vom Telefon nicht leise, d.h. die Bluetooth-Übertragung zwischen Telefon und Empfänger funktioniert von Grund auf schon nicht. Da ist mein RP3 mit Stretch vom Bluetooth-Verbindungsaufbau her doch glatt besser! Ist aber egal, da auf dem Faschingswagen ohnehin ein Smartphone von einem jüngeren Mitfahrer zum Einsatz kommt.

    Ich denke, dass ich für einen funktionierenden RPi (Achtung: Unwort!) nur die richtigen Eintragungen in der Datei /etc/asound.conf vornehmen muss...

    Wenn ich die nur wüsste :helpnew:

    schlizbäda

  • Hmm, also da hab ich jetzt schon ein schlechtes Gewissen. Ich hab eins vom freundlichen Chinesen für 3 oder 4€, mehr als 15 hätte ich wahrscheinlich hier mal auf die Schnelle gar nicht ausgegeben. Aber trotzdem: viel Spaß am Sonntag.

  • Ich habe irgendwo mal gelesen, dass der Pi bzw. das Wlan Modul und BT-Modul eine Stromsparfunktion haben. Bei Inaktivität wird also irgendwann das Modul abgeschaltet. Dies habe ich immer in Verbindung mit dem Wlan gelesen. Könnten die Störungen nicht auch hiervon kommen?

    Irgendwo konnte man das bei den Treibern einstellen. Aber frag mich nicht woher ich das habe. Bei mir ging es um einen Hotspot.

    Ich teste das mal gleich bei mir mit dem BT.

  • Mit Bluetooth habe ich es nicht so, aber ein paar Kleinigkeiten kann ich vielleicht beisteuern:

    Früher - und damit meine ich vor Pulseaudios Bluetoothmodul war die Unterstützung für Bluetooth-Audio Teil von bluez und Alsa. Entscheidend waren neben Teilen von Alsa, die man ohne schwerwiegende Nebeneffekte eh nicht deinstallieren kann also die bluez-Pakete, vor allem bluez-alsa.

    Die Konfiguration von Bluetooth-Audiogeräten mit Alsa und Bluez war aber nichts für schwache Nerven und nachdem was ich am Rande mitbekommen habe, auch nicht sehr zuverlässig. Hier war Pulseaudio eine echte Verbesserung.

    Soweit ich weiß wurde nun einfach die Weiterentwicklung des Bluetooth-Plugins für Alsa wieder aufgenommen und man kann Bluetoothaudiogeräte wahlweise wieder ohne Pulseaudio verwenden, so wie man es früher gemacht hat.

    Eventuell hilft also einfach die Suche nach einer alten (!) Anleitung, wie man sie zum Beispiel im Debian Wiki findet: https://wiki.debian.org/Bluetooth/Alsa

    (abgesehen vom Pairing, das läuft genauso wie in aktuellen Anleitungen)


    Allerdings gab es soweit ich weiß damals nicht die Möglichkeit auf diese Weise einen Computer mit Bluetooth-Controller als Bluetoothlautsprecher zu verwenden sondern nur umgekehrt die Möglichkeit einen Bluetooth-Lautsprecher oder ein -Headset mit dem Computer zu verbinden. Ich glaube nicht, dass sich mit der Wiederaufnahme von bluez-alsa daran etwas geändert hat.

    Über Umwege funktioniert es dann aber eventuell doch, siehe https://github.com/Arkq/bluez-alsa/issues/11

    (kurze Beschreibung des Prinzips:

    Bluetooth erscheint in Alsa wie eine eigene Soundkarte, von der man dann den Ton aufnehmen und gleich wieder wiedergeben kann und wie ich gerade erst entdecke steht einiges von dem was ich gerade geschrieben habe, auch in der Readme: https://github.com/Arkq/bluez-alsa)

  • Vielen Dank Euch allen für die unterschiedlichen Antworten! Da kann man überall etwas herausziehen :)

    STF

    Du brauchst kein schlechtes Gewissen zu haben! Ich benötigte den Empfänger sofort und Gott sei Dank habe ich ihn gestern gleich gekauft, damit ich morgen gerüstet bin. Ich bin mittlerweile (aufgrund schlechter Erfahrungen) eher der Typ, dass ich bei Auswahl verschiedener Produkte auf "Nummer sicher" gehe und zum Markenprodukt (hier Philips) greife, vor allem wenn ich mich in einer Thematik (Bluetooth) schlecht bis gar nicht auskenne. Es gab gestern im Fachhandel schon billigeres (Belkin, auch nicht grottenschlecht), ob es auch wirklich günstiger gewesen wäre, weiß ich nicht.

    Jedenfalls war Deine Idee gut und für morgen definitiv zielführend. :danke_ATDE:

    hailogugo

    Vielen Dank für dieses wirklich aktuelle Tutorial auf gist.github.com :thumbup:

    Leider habe ich es jetzt damit auf die Schnelle auch noch nicht hinbekommen. Es scheint aber auch hier nicht viel zu fehlen. Mein Problem ist letztlich wie bei all meinen Versuchen (Achtung: Unwort!) nur die Audioausgabe.

    smutbert

    Deine Ausführungen sind wirklich detailreich und bestätigen meine Vermutungen, die ich in den letzten Tagen aus meiner Internet-Recherche gewann. Die bisher "besten" Ergebnisse hatte ich mit dem aktuellen Raspbian Stretch Desktop über das Bluetooth-Icon in der Raspbian-Taskleiste. Damit kann ich zumindest relativ problemlos eine Bluetooth-Verbindung zu allen von mir getesteten Mobiltelefonen aufbauen, was bei den diversen Tutorials auf den Raspbian-Lite-Versionen nicht der Fall ist.


    Mein Problem ist eben die fehlende Audioausgabe, deren Ursache höchstwahrscheinlich eine unvollständige bzw. fehlerhafte /etc/asound.conf (bzw. ~/.asoundrc) ist. Ich werde jetzt mein Augenmerk auf die korrekten ALSA-Einstellungen legen. Vielleicht komme ich ja noch damit weiter: In https://wiki.ubuntuusers.de/.asoundrc/ sind einige Erklärungen und weiterführende Links zu ALSA enthalten.

    Euch allen schon mal ein fettes DANKE!

    Ich werde hier weiterhin den aktuellen Stand veröffentlichen...

    Als nächstes werde ich mal versuchen, so ein Tutorial mal auf meinem ubuntu-Laptop (LTS 16.04) durchzuziehen. Da scheint die ALSA-Audiosache irgendwie besser ins System integriert zu sein als auf dem RPi unter Raspbian.

    schlizbäda

  • Vorausschicken will ich noch einmal, dass ich noch immer ein bisschen zweifle, dass das gewünschte so überhaupt funktionieren kann.

    Um die asound.conf bzw. .asoundrc kann man sich später kümmern, wenn man will, zuerst geht es einmal darum ob es grundsätzlich funktioniert und das würde ich in Anlehnung an die Readme auf github so versuchen:

    • sicherstellen, dass das Bluetoothgerät (Handy) und der RPi verbunden sind.
      Bei bluetoothctl sieht man hier auch gleich die MAC-Adresse des Bluetoothgeräts, die in weiterer Folge notwendig ist. Wenn du wie du geschrieben hast, die Verbindung in der grafischen Oberfläche hergestellt hast, solltest du auf der Kommandozeile ungefähr so die MAC-Adresse des Handys (hier AA:AA....) herausfinden können
    Code
    # bluetoothctl devices
    [NEW] Controller XX:XX:XX:XX:XX:XX raspberrypi [default]
    [NEW] Device AA:AA:AA:AA:AA:AA mein Handy
    • Stumm geblieben ist bei der RPi bei den bisherigen Versuchen (zumindest unter anderem), weil auf dem RPi schlicht keine Programm gelaufen ist, das den Ton vom Bluetooth-Aufnahmegerät zum Wiedergabegerät (Hifiberry) geschaufelt hat.
      Das sollte sich aber recht einfach bewerkstelligen lassen
    Code
    $ arecord -D bluealsa:HCI=hci0,DEV=AA:AA:AA:AA:AA:AA,PROFILE=a2dp | aplay

    oder mit dem speziell zu diesem Zweck mitgelieferten Programm, von dem ich aber nicht weiß in welchem Paket es steckt, aber es müsste irgendeine Paket mit bluez im Namen sein (apt search bluez)

    Code
    $ bluealsa-aplay AA:AA:AA:AA:AA:AA

    Einmal editiert, zuletzt von smutbert (5. Februar 2018 um 22:52)

  • Merker für mich selbst:

    lesestoff c't 11-2018

    EDIT 21.08.2018:

    Diesen Artikel habe ich mittlerweile zu Hause liegen, muss ich mal in Ruhe nachvollziehen...

    EDIT 11.09.2018:

    ungeprüfter Link: https://www.voss.earth/2018/04/07/vol…cher-verwenden/

    Weitere Threads zum Thema in diesem Forum:

    * Raspi 3b+ Hifiberry Amp2 per Bluetooth streamen

    * Airplay (Volumio) & Bluetooth-Empfänger, nur wie?

    EDIT 25.11.2018:

    Hinweis von kle auf Bluetooth Audio for (headless) Raspbian systems, hier ist aber der RPi ein BT-Audio-Sender.

    EDIT 04.12.2018:

    Weiterer Hinweis von kle auf Pi3 Bluetooth-Verbindung mit Smartphone.

  • schlizbäda

    Bluetooth Audio vom Smartphone auf den Raspi streamen

    Was man so alles im Internet findet ;)

    Du wirst es nicht glauben, Dein Problem ist gelöst, für raspbian-stretch-lite.

    Mein Test mit:

    • Model: RPi 3B+
    • Sound: USB-Soundcard
    • Image: 2018-11-13-raspian-stretch-lite.img
    • Smartphone: Samsung Galaxy S4 mini
    • Android: 4.2.2

    Die Bluetooth-Verbindung ist nicht optimal, weil mein Smartphone kein Bluetooth BLE kann.

    meine Karte:

    USB-Soundkarte

    pi@raspberrypi7:~ $ lsusb

    Bus 001 Device 004: ID 0d8c:0008 C-Media Electronics, Inc.

    Bei mir war die Lautstärke total übersteuert. Ich mußte mit alsamixer die Lautstarke vom C-Media Audiodevice auf ca. 10% runterregeln.

    (1) Edit: nicht mehr online:

    INFO: Making the Raspberry Pi 3 a bluetooth audio receiver vom 2.12.2017
    lies nur den Kommentar von gprand vom 23.01.2019 20:18

    (2) Aktion_1: A simple Bluetooth Speaker Daemon for the Raspberry Pi 3 zuletzt von lukasjapan auf github aktualisiert am 12.02.2018 und getestet mit 2017-11-29-raspbian-stretch-lite.img
    Du brauchst nur die 2 Zeilen der Installation ins Terminal zu kopieren.

    (3) Aktion_2: Die Konfigurationsdatei /etc/bt_speaker/config.ini (grün im Spoiler) ändern.
    (evtl. bluetooth-Konfig /etc/bluetooth/main.conf entsprechtend (1) ändern.)

    service bt_speaker und bluetooth restarten.

    /etc/bt_speaker/config.ini

    [bt_speaker]

    play_command = aplay -D plughw:1,0 -f cd -

    connect_command = /etc/bt_speaker/hooks/connect

    disconnect_command = /etc/bt_speaker/hooks/disconnect

    [bluez]

    device_path = /org/bluez/hci0

    discoverable = yes

    [alsa]

    enabled = yes

    #mixer = PCM

    #id = 0

    #cardindex = 0

    Die Parameter werden unter Config erklärt.

    in Datei /etc/bluetooth/main.conf kannst Du u.a. den "discoverable mode" beeinflussen. Ich habe zu Testzwecken eingestellt, daß der Raspi immer "discoverable" ist,

    mit DiscoverableTimeout = 0

    (4) Smartphone mit raspi verbinden (bluetooth).
    Musik mit App Musik abspielen.

    danach habe ich Musik vom Smartphone über Bluetooth auf dem Raspi empfangen, d.h. mit Kopfhörer oder Lautsprecher an der USB-Soundkarte gehört.

    Schönen Gruß, kle

    7 Mal editiert, zuletzt von kle (4. April 2019 um 20:39) aus folgendem Grund: Link in (1) ist offline.

  • 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:

    Probleme mit verschiedenen BT-fähigen Android-Geräten

    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

  • Äh ja, das vergaß ich gestern beim Verfassen des Beitrags: Das Kommando rpi-update, ein waschechtes Unding, habe ich selbstredend weggelassen! Aber auf so etwas sollte man für Neulinge etc. natürlich deutlich hinweisen!

    rpi-update verwendet man nur, wenn man ganz bewusst den neuesten Kernel verwenden will. Dazu muss man wissen, dass die damit heruntergeladene Kernelversion nicht stable ist, sondern sich noch mitten im Entwicklungs- und Teststadium befindet!

  • Hähä!
    Inbetriebnahme von https://github.com/nicokaiser/rpi-audio-receiver unter Raspbian Stretch with desktop and recommended software (full image)

    ...und soeben ist es mir gelungen, das Projekt auf dem aktuellen Raspbian Stretch desktop (full) vom 13.11.2018 unter folgender Vorgehensweise zu installieren:

    Raspbian Stretch (full) flashen und erstmalig einrichten

    Es wurde darauf geachtet, nur die wirklich notwendigen Updates durchzuführen. Insbesondere auf rpi-update wurde bewusst verzichtet!

    Zunächst das Image auf eine SD-Karte >= 8GB flashen. Ich bin jetzt so frei und setzte beim Leser voraus, dass er weiß wie das geht :)

    Auf dem RPi in einem Konsolenfenster folgende Kommandos absetzen

    Code
    sudo apt update && sudo apt upgrade  # OS aktualisieren
    sudo raspi-config                    # das übliche Vorgeplänkel
    sudo nano /boot/config.txt           # HifiBerry DAC+ einrichten (Siehe Dateianhang)
    reboot                               # Aktivieren der Einstellungen aus /boot/config.txt

    Der Inhalt aller angepassten Dateien kann aus dem Dateianhang entnommen werden

    Das github-Repository von nicokaiser enthält neben dem Bluetooth-Audioempfänger (A2DP) auch noch Empfänger für AirPlay (Apple), UPnP (Audioübertragung über Netzwerk, LAN/WLAN) und Spotify Connect. In diesem Beitrag beschreibe ich nur die Einrichtung des Bluetooth-Audioempfängers:

    Download und Installation von nicokaisers rpi-audio-receiver (nur Bluetooth)

    Hier wurde im Wesentlichen das Skript install-bluetooth.sh aus dem Repository von nicokaiser übernommen und leicht angepasst. Anstelle der nano-Anweisungen kann die jeweilige Datei aus dem Anhang in das entsprechende Verzeichnis kopiert werden.

    Um eine Bluetooth-Verbindung zum RPi mit Raspbian Desktop aufbauen zu können, muss das Bluetooth-Hardwaremodul des RPi über das Icon in der Taskleiste des LXDE-Desktops eingeschaltet werden!

    Die Bluetooth-Verbindung vom Smartphone (Samsung Galaxy J5) zum RPi funktioniert problemlos.

    Wenn eine andere Software über ALSA eine Audioausgabe macht, kann zwar eine Bluetooth-A2DP-Verbindung hergestellt werden: Die Musik wird auf dem sendenden Gerät "ganz normal" abgespielt, aber sie ist über den RPi natürlich nicht hörbar, da ja das andere Programm läuft. Wenn dieses andere Programm die ALSA-Audioausgabe beendet, schnappt sich der Bluetooth-Empfänger den ALSA-Kanal und die Musik vom Bluetooth-Sender wird wiedergegeben.

    Ich habe noch nicht getestet, wie sich der Bluetooth-Audioempfänger unter Raspbian Desktop verhält, wenn mehrere Bluetooth-Sender versuchen, sich anzumelden. Dabei vermute ich allerdings keine wesentlichen Unterschiede zu Raspbian Lite (siehe Beitrag #13).

    So, und jetzt Zähneputzen, pullern und ab ins Bett!

  • Yeah!
    Betrieb mit HifiBerry MiniAmp mit Treiber dtoverlay=hifiberry-dac (ohne "plus")

    ...und die Umstellung in Raspbian Stretch Desktop (full) auf den HifiBerry MiniAmp lief absolut problemlos, es dauerte gerade mal fünf Minuten :^^:

    Gegenüber der Installation für den HifiBerry DAC+ mussten nur die beiden ALSA-Dateien angepasst werden. Die in Beitrag #16 zur Verfügung gestellten Bluetooth-Dateien für den rpi-audio-receiver von nicokaiser müssen nicht geändert werden!

    sudo nano /boot/config.txt

    Die Zeile dtoverlay=hifiberry-dacplus wird zu dtoverlay=hifiberry-dac (ohne "plus"!)

    sudo nano /etc/asound.conf

    Diese Datei ist beim HifiBerry DAC+ nicht unbedingt nötig und existierte daher noch nicht. Für den MiniAmp habe ich wieder meine mittlerweile erprobte Variante verwendet, die auch für den omxplayer funktioniert:

    ...und das übliche Gespiel, um die ALSA-Einstellungen für den MiniAmp scharf zu schalten:

    Code
    rm /home/pi/.asoundrc  # Meine Lieblingsdatei hat mal wieder dazwischengefunkt... und tschüss!
    reboot                 # notwendig wegen der Änderungen an der /boot/config.txt
    speaker-test -c 2      # Audiotest
    alsamixer              # Lautstärkeregelung über das Konsolenfenster
    omxplayer -o alsa 01_Rage_Against_the_Machine__Bombtrack.flac

    Die Lautstärke kann ab jetzt mit dem Lautsprecher-Icon in der LXDE-Taskleiste gesteuert werden.

    Damit steht einer Ergänzung der Bluetooth-Einbindung in den beiden Raspiblastern morgen nichts mehr im Wege :)

  • Nachdem ich einen unserer Raspiblaster neu unter

    Raspbian Stretch desktop with recommended software vom 08.04.2019

    uname -a

    Code
    Linux raspiblaster2 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux

    cat /etc/os-release

    Code
    PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    ID=raspbian
    ID_LIKE=debian
    HOME_URL="http://www.raspbian.org/"
    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

    aufgesetzt habe (mit sudo apt update && sudo apt upgrade, aber ohne rpi-update), musste ich bei einem Schnelltest mit dem Smartphone "Huawei SCL-L21" feststellen, dass die Bluetooth-Audioübertragung vom Smartphone zum RPi 3B lückenhaft ist: Einzelne Datenpakete gehen verloren oder werden "verschluckt", was ich daran erkenne, dass die Musik schneller läuft ohne Erhöhung der Frequenz. Wenn mehrere oder größere (?) Datenpakete bei der Übertragung auf der Strecke bleiben, führt es zu kurzen Tonaussetzern. :wallbash:

    Mit dem Samsung-Smartphone ist es tendenziell noch etwas schlechter...

    Auf dem RPi habe ich auf dem jungfräulichen Betriebssystem vor der Bluetooth-Installation nur noch build-essential, audacious, eject, yamuplay und kodi installiert.

    Der RPi läuft mit 2%-4% CPU-Last, er befindet sich somit eher im "Idle"-Betrieb. Trotzdem beeinflussen bereits kleinere Aktionen, wie z.B. das Durchscrollen der Befehls-History mit den Cursortasten in einem ssh-Terminal die Datenübertragung, die verlorenen Daten werden mehr. Viele Aussetzer gibt es, wenn man CPU-intensive Programme startat wie Mathematica oder Libre Office.

    Es bringt auch nichts, wenn man die Lautstärke am Handy reduziert und am RPi erhöht. Der Hintergedanke war, dass die per Bluetooth übertragenen Daten damit eine geringere Dynamik bekommen und sich die Datenmenge für

    A2DP

    bzw.

    Low Complexity Subband Codec (SBC)

    damit reduzieren könnte.

    EDIT: Ebenso bringt es nichts, wenn ich in der Taskleiste den WLAN-Controller mit "Turn off Wi-Fi" abschalte.

    Hardwaremäßig hängt folgendes am RPi 3B:

    * an einem USB-Anschluss ein USB-SATA-Adapter für den Anschluss eines 5,25"-CD-ROM-Laufwerks (der Blu-ray Disc Rewriter LG BH16NS55)

    * der HifiBerry MiniAmp an der GPIO-Leiste

    * Original 7"-RaspiDisplay am DSI-Anschluss

    Genug gejammert, ich werde es nochmals mit Raspbian Stretch Lite sowie danach mit Raspbian Buster Lite probieren und wieder berichten...

    EDIT:
    Auf Raspbian Stretch Lite vom 08.04.2019 funzt es einwandfrei

    Auf Raspbian Buster Lite habe ich es noch nicht getestet...

    12.02.2020: Link zu A2DP und AVRCP: Thread "Python Bibliothek für A2DP / bluetoothctl"

  • Hallo schlizbäda,

    mit 2019-06-20-buster, mpd und bluealsa ging keine Ausgabe auf Bluetooth-Lautsprecher. Das mpd-Logfile enthielt Fehlermeldungen

    Schönen Gruß, kle

    Edit: schlizbäda diesen Fehler hatte schon jemand anders gepostet (hatte veloci in NewTron-Radio #1758 gesehen) mittlerweile gibt es einen Workaround (s. https://www.raspberrypi.org/forums/viewtop…245643#p1500848).

    2 Mal editiert, zuletzt von kle (27. Juli 2019 um 17:38) aus folgendem Grund: workaround

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!