Hier ist eine sehr detaillierte Erklärung:
Den3243
Hier ist eine Befehlszeilenlösung:
Lassen Sie uns zunächst scannen, koppeln und Ihrem Gerät "bluetoothctl" anvertrauen. Führen Sie dazu dies in der Befehlszeile Ihres Terminals aus:
bluetoothctl -a
Sie sollten eine andere Eingabeaufforderung erhalten wie:
[bluetooth]
Geben Sie bei eingeschaltetem BT-Lautsprecher Folgendes ein:
scan on
In wenigen Augenblicken sollten Sie die verfügbaren BT-Geräte sehen. Neben dem Gerät befindet sich die MAC-Adresse wie: 00: AA: 22: BB: 33. Geben Sie nun Folgendes ein:
info <your mac address>
Schließen Sie die Zeichen größer als und kleiner als aus. Was Sie suchen, ist eine Art frühere Verbindung mit Ihrem BT-Sprecher. Sie werden wissen, dass es eine frühere Zuordnung gab, da Bluetoothctl Informationen zu Ihrem BT-Gerät anzeigt. Einige dieser Informationen beziehen sich auf das gekoppelte und vertrauenswürdige Gerät. Das ist gut.
Wenn sich Bluetoothctl darüber beschwert, dass es kein Gerät gibt, müssen wir dies in diesem Moment einrichten. Geben Sie dazu Folgendes ein:
pair <your mac address>
Sie sollten eine Erfolgsmeldung über die erfolgreiche Kopplung Ihres Geräts sehen. Vertrauen wir jetzt unserem neuen BT-Gerät. Geben Sie Folgendes ein:
trust <your mac address>
Auch hier sollte eine Erfolgsmeldung zum Thema Vertrauen angezeigt werden. Lassen Sie sich von mir vorwarnen. Ihr BT-Gerät kann dann möglicherweise erneut eine Verbindung herstellen. Keine Angst, wir wollen nicht, dass es sich verbindet. Fahren Sie fort und beenden Sie "bluetoothctl". Geben Sie dazu Folgendes ein:
quit
Jetzt kehren Sie zur Eingabeaufforderung zurück. In einem früheren Beitrag habe ich vorgeschlagen, dass Sie ein Skriptverzeichnis in Ihrem Home-Verzeichnis erstellen. Wenn nicht, machen Sie das jetzt. Geben Sie dies an der Eingabeaufforderung ein:
mkdir -p ~/scripts
Drücken Sie die Eingabetaste und jetzt erstellen wir unser Autopair-Bash-Skript. Geben Sie Folgendes ein:
nano ~/scripts/autopair
Geben Sie diesen Code in das Skript ein:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Klammern ausschließen!
Drücken Sie jetzt gleichzeitig STRG + x und dann die Eingabetaste, um das Skript zu speichern. Wir müssen es ausführbar machen. Geben Sie dazu Folgendes ein:
chmod +x ~/scripts/autopair
Ich gehe davon aus, dass Sie keine externen analogen Lautsprecher verwenden, die an die 3,5-mm-Buchse angeschlossen sind. Wenn dies zutrifft, deaktivieren wir alsa. Dazu bearbeiten wir eine Datei im Verzeichnis / boot mit dem Namen config.txt. Geben Sie dazu Folgendes in Ihr Terminal ein:
sudo nano /boot/config.txt
Blättern Sie zum Ende der Datei und suchen Sie nach zwei Zeilen, die lauten:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Stellen Sie ein (Pfundzeichen #) vor die Zeile mit der Aufschrift:
dtparam=audio=on
Aussehen:
#dtparam=audio=on
Drücken Sie STRG + x und dann die Eingabetaste, um Ihre Datei zu speichern.
Ich gehe davon aus, dass Sie pulseaudio installiert haben? Wenn nicht, führen Sie diesen Befehl über die Befehlszeile aus:
sudo apt-get update && sudo apt-get install pulseaudio -y
Dadurch erhalten Sie eine sehr wichtige Komponente, damit Bluetooth funktioniert! Jetzt bearbeiten wir unsere .bashrc-Datei in unserem Home-Verzeichnis. Geben Sie Folgendes ein:
nano ~/.bashrc
Blättern Sie nach unten und fügen Sie diese Zeile hinzu:
pulseaudio --start
Drücken Sie STRG + x und drücken Sie jetzt die Eingabetaste, um Ihre Datei zu speichern.
IN ORDNUNG! Wir müssen in die Python-Welt eintreten. Ich habe ein Python-Programm geschrieben, das nach dem Bluetooth-Gerät sucht. Kurz gesagt, es wird die Verbindung zwischen RPi und Ihrem Bluetooth-Lautsprecher aktiviert, sobald Ihr Bluetooth-Lautsprecher eingeschaltet ist. Und umgekehrt. Erstellen wir ein Verzeichnis namens Python in Ihrem Home-Verzeichnis. Geben Sie dazu Folgendes ein:
mkdir -p ~/python
Jetzt erstellen wir die Python-Programmdatei. Geben Sie dazu Folgendes ein:
nano ~/python/on.py
In diese Datei müssen wir Folgendes kopieren und einfügen:
#!/usr/bin/python
#
# Monitor removal of bluetooth reciever
import os
import sys
import subprocess
import time
def blue_it():
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 0:
print("Bluetooth UP")
print(status)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
waiting()
def waiting():
subprocess.call('killall -9 pulseaudio', shell=True)
time.sleep(3)
subprocess.call('pulseaudio --start', shell=True)
time.sleep(2)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 2:
print("Bluetooth DOWN")
print(status)
subprocess.call('~/scripts/autopair', shell=True)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
blue_it()
blue_it()
Drücken Sie nun STRG + x und dann die Eingabetaste, um die Python-Programmdatei zu speichern. Jetzt müssen wir diese Datei ausführbar machen. Geben Sie dazu Folgendes ein:
chmod +x ~/python/on.py
Fügen wir dies abschließend unserem .bashrc-Skript in unserem Home-Verzeichnis hinzu:
nano ~/.bashrc
Blättern Sie zum Ende der Datei und fügen Sie diese beiden Zeilen hinzu:
wait
~/python/on.py
Drücken Sie nun STRG + x und dann die Eingabetaste, um zu speichern. Schalten Sie Ihren Bluetooth-Lautsprecher ein und starten Sie Ihren Raspberry Pi neu.
Viel Glück!
-Nitrolinux
Ich habe festgestellt, dass es aktuelle Probleme mit pulseaudio5 gibt, insbesondere wenn es um die Audiowiedergabe über Bluetooth geht. Als solches schlage ich vor, dass Sie PulseAudio6 nicht für das verwenden müssen, was Sie möchten, anstatt diese zu debuggen, wenn sie kommen.
Ich habe ein Repo erstellt, das alles unten automatisiert, sodass Sie nicht die ganze Beinarbeit erledigen müssen, aber wenn Sie immer noch bereit sind, es selbst zu tun, fahren Sie unten fort.
Repo: https://github.com/BaReinhard/a2dp_bluetooth
Installationsprozess:
Warten Sie, bis der Installationsvorgang abgeschlossen ist, und starten Sie den Computer neu. Nach Abschluss müssen Sie Ihr Gerät zunächst koppeln, vertrauen und verbinden. Nach der ersten Zeit müssen Sie nur noch das Gerät einschalten.
Pairing, Vertrauen und Verbinden:
-------------------- Komplette exemplarische Vorgehensweise: --------------------
Kompilieren von PulseAudio 6
Fügen Sie die folgenden Dateien hinzu
/etc/init.d/pulseaudio
/etc/init.d/bluetooth
Aktivieren Sie neue init.d-Dienste und machen Sie sie ausführbar
Stellen Sie sicher, dass wir alle erforderlichen Module haben
Wechseln Sie in das Home-Verzeichnis und installieren Sie json-c von der Git-Quelle (erforderlich für PA6).
Wechseln Sie in das Basisverzeichnis und installieren Sie libsndfile von der Git-Quelle
Stellen Sie sicher, dass Bluetooth sucht (
sudo hciconfig hci0 piscan
veraltet ist)Navigieren Sie zu Home Directory und installieren Sie PulseAudio 6 von der Git-Quelle
Stellen Sie sicher, dass der Puls in allen erforderlichen Gruppen liegt
Aktualisieren
/etc/pulse/system.pa
und/etc/pulse/daemon.conf
wie folgt aussehen:/etc/pulse/system.pa
/etc/pulse/daemon.conf
Richten Sie die udev-Regel ein
Bearbeiten
/etc/udev/rules.d/99-com.rules
und fügen Sie die folgenden zwei Zeilen hinzu:Erstellen
/usr/local/bin/bluez-udev
/ usr / local / bin / bluez-udev
Stellen Sie sicher, dass bluez-udev ausführbar ist
Zusammenfassung
Was wird hier gemacht?
quelle
Haben Sie versucht, ein Bash-Skript zu erstellen, das eine Verbindung mit hcitool herstellt?
Fügen Sie dieser Datei ausführbare Rechte hinzu und fügen Sie sie dann cron hinzu (Sie können sie jederzeit auswählen).
Dies funktionierte bei mir, als ich versuchte, eine Verbindung zu einer Bluetooth-Tastatur herzustellen. Ich bin nicht sicher, ob es für einen Sprecher funktioniert (nicht sicher, ob es sich um ein anderes Protokoll handelt). Hoffe das hilft!
quelle
fand das noch besser
quelle