Folgende Warnungen sind aufgetreten:
Warning [2] Undefined variable $unreadreports - Line: 34 - File: global.php(961) : eval()'d code PHP 8.2.24 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/global.php(961) : eval()'d code 34 errorHandler->error_callback
/global.php 961 eval
/showthread.php 28 require_once
Warning [2] Undefined property: MyLanguage::$thread_modes - Line: 43 - File: showthread.php(1621) : eval()'d code PHP 8.2.24 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php(1621) : eval()'d code 43 errorHandler->error_callback
/showthread.php 1621 eval




Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Freisprecheinrichtung über Bluetooth
#1
Hier mal eine Anleitung, wie ich es realisiert habe. Diese Lösung ist relativ einfach, ich habe aber noch nicht alles getestet und auch erst mit meinem Samsung Note II.
Es wäre hilfreich, wenn noch mehr Leute es testen könnten.

Für die Verbindung über Bluetooth habe ich folgende Anleitung zur Hilfe genommen:
http://marcyoung.us/post/raspberry-pi-au...io-player/


1. bluez und pulseaudio installieren
Code:
sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2

2. den pi User der Gruppe hinzufügen
Code:
sudo usermod -a -G lp pi

3. Die nötigen module Aktivieren (Evtl wird hier nicht alles benötigt!)
Code:
sudo nano /etc/bluetooth/audio.conf

Code:
# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source
mit folgender Zeile ergänzen
Code:
Enable=Source,Sink,Media,Socket,Headset,Gateway,Control

4. pulseaudio bearbeiten
Code:
sudo nano /etc/pulse/daemon.conf
Und zu unterst diese Zeile anfügen
Code:
resample-method = trivial

5. weitere Pakete installieren
Code:
sudo apt-get install bluez-tools qdbus git-core

6. Die Repo herunterladen und installieren
Code:
sudo su -
git clone https://github.com/myoung34/bluetoothradio.git
cd bluetoothradio
cp bluetooth-server /etc/init.d
chmod 755 /etc/init.d/bluetooth-server && chmod +x /etc/init.d/bluetooth-server
update-rc.d bluetooth-server defaults
reboot

Bei mir kam folgende Warnung
Code:
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'bluetooth-server' missing LSB tags and overrides

Einfach ignorieren und weiter machen  Big Grin

7. Nach dem Neustart solltet ihr bereits das Smartphone mit dem RPi über Bluetooth verbinden können. Bei den Einstellungen der Verbindung kann dann noch "Anruffunktion" und "Medienwiedergabe" aktiviert werden.

der bluetooth-server, den wir vorhin installiert haben, erstellt bei einer neuen Bluetooth-Verbindung automatisch eine pulseaudio Verbindung. Das macht er aber erst für den Eingang. Dieser Server wurde nur für die Medienwidergabe erstellt und nicht für beide Richtungen. Das werden wir später noch genau anschauen!

8. Nachschauen, ob alle Verbindungen da sind.
Code:
pactl list short

Bei mir sieht das dann etwa so aus
Code:
module-switch-on-port-available
21      module-x11-publish      display=:0
22      module-x11-cork-request display=:0
23      module-bluetooth-device address="E4:40:E2:06:8D:7F" path="/org/bluez/2183/hci0/dev_E4_40_E2_06_8D_7F" profile="hfgw"
24      module-cli-protocol-unix
25     module-loopback source=bluez_source.E4_40_E2_06_8D_7F sink=alsa_output.0.analog-stereo
0       alsa_output.0.analog-stereo     module-alsa-card.c      s16le 2ch 44100Hz       RUNNING
1       bluez_sink.E4_40_E2_06_8D_7F    module-bluetooth-device.c       s16le 1ch 8000Hz        SUSPENDED
0       alsa_output.0.analog-stereo.monitor     module-alsa-card.c      s16le 2ch 44100Hz       IDLE
1       bluez_sink.E4_40_E2_06_8D_7F.monitor    module-bluetooth-device.c       s16le 1ch 8000Hz        SUSPENDED
2       bluez_source.E4_40_E2_06_8D_7F  module-bluetooth-device.c       s16le 1ch 8000Hz        RUNNING
0       0       -       module-loopback.c       s16le 2ch 43834Hz
0       2       -       module-loopback.c       s16le 2ch 44100Hz
9       module-console-kit.c    (null)
49      protocol-native.c       pactl
0       alsa_card.0     module-alsa-card.c
1       bluez_card.E4_40_E2_06_8D_7F    module-bluetooth-device.c
Nr 25: Die Verbindung von Pulseaudio
erste Nr 1: Der Ausgang zum Smartphone
Nr 2: Der Eingang vom Smartphone

Hier brauchen wir dann noch eine Pulseaudio Verbindung vom Mikrofon zum bluez_sink... Device

9. ofono installieren
Code:
sudo apt-get install ofono

10. Hilfspaket herunterladen
Code:
git clone git://git.kernel.org/pub/scm/network/ofono/ofono.git

In diesem Ordner brauchen wir eigentlich nur die Scripts im test Ordner.

In diesem Ordner könnt ihr zum Beispiel mal folgendes testen:
Code:
sudo python2.7 list-modems

Dann sollte eurer Smartphone aufgelistet werden mit diversen Informationen.

Mit
Code:
sudo python2.7 dial-number "NUMMER"
könnt ihr ein Anruf tätigen.

Welche Sachen hier alles funktioneren, hängt wohl auch von eurem Smartphone ab, aber folgende haben bei mir funktionert:

dial-number
list-modems
answer-calls
hangup-all
monitor-ofono

Mit dem letzten "monitor-ofono" erhaltet ihr die Information, wenn euch jemand versucht anzurufen oder Informationen über Signalstärke.




Noch zur pulseaudio konfiguration:

Im file "/root/bluetoothradio/connect.sh" wird in der Funktion "connect()" die pulseaudio Verbindung erstellt, wenn sich das Gerät verbindet.
Da könnt ihr am Schluss noch den pactl Befehl für die Verbindung der von bluez_sink zu alsa_source erstellen.
Sobald ich die USB Soundkarte mit dem Mikrofoneingang wieder zur Hand habe, kann ich diese hier ergänzen. Sollte aber keine Hexerei sein.


So... jetzt müsste das ganze nur noch in Kodi funktionieren Smile

Falls jemand bereits eine Ahnung von Kodi Addons hat, würde ich gerne Hilfe in Anspruch nehmen.  Big Grin
Aber hinkriegen werden wir das auf jeden Fall.

Hoffe diese Anleitung hilft euch!
Zitieren
#2
Besten dank für die Anleitung. Funktioniert alles soweit. Smile

Allerdings hatte ich erst kein Ton. Lag da dran ->

Zitat:4. pulseaudio bearbeiten
Code:
sudo nano /etc/pulse/daemon.conf
Und zu unterst diese Zeile anfügen
Code:
resample-method = trivial ;

Hinter resample-method = trivial das ";" entfernt und läuft Wink

Allerdings wenn Musik läuft und ich dann wen Anrufe und wieder auflege läuft die Musik nicht weiter, da mein Handy nicht mehr mit der Medienwiedergabe verbunden ist. Ich muss erst wieder in die Einstellungen und den Haken setzen.

Ist das bei dir auch oder weisst du eine Lösung?
Zitieren
#3
Musik und Telefon hab ich noch nicht gleichzeitig getestet.
was ich ebenfalls noch genau anschauen werde, ist das automatische Verbinden. Es kommt vor, dass ich auf dem Smartphone auf das Gerät klicken muss. Zwar ist die Anruffunktion und Medienwiedergabe automatisch aktiv, aber nicht die Verbindung.

Wenn sich zwei Geräte gleichzeitig verbinden wäre auch noch interessant zu testen.
Zitieren
#4
Also automatisch Verbinden ging bei mir bis jetzt noch gar nicht. Muss jedes mal auf Verbinden klicken.

Was mir auch noch aufgefallen ist, wenn ich am Handy Freisprechen aktiviert habe ist die Qualität nicht so doll. Laut Pavucontrol läuft das dann nur Mono.
Mache ich die Freisprechfunktion am Handy aus und hab dann nur Medienwiedergabe aktiviert hört es sich gut an.
Zitieren
#5
Werde ich gleich mal bei mir testen.

Was ich ebenfalls mal noch anschauen will, ist das AVRCP Protokoll. Also vom Raspberry PI zum nächsten Song springen und evtl sogar die Metadaten des Songs auf dem RPi anzeigen.
Aber erstmal muss es stabil laufen.
Zitieren
#6
Läuft bei mir eigentlich. Vorhin 2 Stunden Musik gestreamt.

Gibt es von Bluez nicht auch Test-Scripte wo dann AVRCP bei ist? Meine ich hab irgendwo mal ne .deb Datei gesehen.
Zitieren
#7
Moin,
sag mal weisst du ob den Bluetooth-Server als Plugin in Kodi starten kann?
In Kodi funktioniert meine USB-Soundkarte über alle Kanäle, nur der Bluetooth-Stream vom Handy bleibt Stereo. Hab noch nicht wirklich einen weg gefunden wo ich das umstellen kann. Oder hast du das schon als 5.1 odder 7.1 laufen?
Zitieren
#8
Ich glaube das Problem mit 5.1 bzw 7.1 liegt an den Bluetooth Einstellungen oder sonst wo. In PulseAudio wird der Bluetooth-Source Kanal (Smartphone) nur als Stereo angezeigt.

Ist es überhaupt möglich, über Bluetooth A2DP mehr als nur Stereo zu übertragen?
Zitieren
#9
Übertragen soweit ich weiss nicht.
Kodi hat eine Upmix-Funktion die Stereo Quellen auf die eingestellten Kanäle verteilt.
Über Alsa kann man auch glaube ich eine Dummy Soundkarte erstellen die dann den Upmix übernimmt. Nur über kodi alles einzustellen wäre dann glaub ich einfacher und man hat nicht so viel im Hintergrund am laufen
Zitieren
#10
Werde ich mir bei Gelegenheit mal anschauen. Habe eben was über aptX Kodierung für Bluetooth gelesen. Damit soll die Übertragung über Bluetooth verbessert werden können. Mal schauen, ob BlueZ da was integriert hat.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
RasPiCarProjekt