Raspberry Pi: Bluetooth verbinden

Raspberry Pi: Bluetooth verbinden

Seit der 3. Generation unterstützt der Raspberry Pi Bluetooth und WLAN. Damit steigen die Fähigkeiten der Konnektivität und es lassen sich Bluetooth Lautsprecher oder Smartphones verbinden. Und auch der Raspberry Pi Zero W und WH unterstützen seit 2017 die Schnittstellen. Der Raspberry Pi 3 B unterstützt die Schnittstelle in Version 4.1 LE, der A+ und B+ sogar in Version 4.2 LS LE. Die neueste Generation, der Raspberry Pi 4 unterstützt 5.0 LE und ermöglicht damit noch größere Reichweiten.

Bluetooth aktivieren

Zuerst müssen wir sicherstellen, dass Bluetooth überhaupt aktiviert ist. Zum Aktivieren starten wir den Bluetooth Dienst.

sudo systemctl status bluetooth.service

Funktioniert alles, sieht es in etwa so aus.

pi@raspberrypi:~ $ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-05-08 16:53:20 CEST; 42s ago
Docs: man:bluetoothd(8)
Main PID: 1394 (bluetoothd)
Status: "Running"
...

Wenn du Probleme hast, schaue hier vorbei, Raspberry Pi: Bluetooth aktivieren.

Bluetooth verbinden

Zum Starten der Anwendung für Bluetooth muss bluetoothctl ausgeführt werden.

sudo bluetoothctl

Anschließend landen wir in der Anwendung und können über help die möglichen Befehle anzeigen. In manchen Fällen wird automatisch ein Agent registriert, wenn nicht, können wir ihn so starten und als Standard definieren.

agent on
default-agent 

Um nun nach Bluetooth-Geräte in der Reichweite des Raspberry Pi zu suchen, müssen wir folgenden Befehl ausführen.

scan on

Wenn du einen Fehler „No default controller available“ erhältst, schließe die Anwendung mit exit und führe folgende Befehle aus:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install pi-bluetooth
sudo apt-get install bluez bluez-firmware
sudo usermod -G bluetooth -a pi
cat /etc/group | grep bluetooth
sudo reboot

Das hat in meinem Fall geholfen, die Probleme zu lösen. Quelle: https://learn.pi-supply.com/make/fix-raspberry-pi-3-bluetooth-issues/

Anschließend werden die Bluetooth-Geräte in Reichweite angezeigt. Dabei wird zwischen neuen [NEW], geänderten [CHG] und gelöschten [DEL] Geräten differenziert.

[NEW] Device F0:00:F0:2E:D9:96 iPhone
[NEW] Device E7:01:F1:2E:86:D5 F8B3C55EECAA30A3E9
[NEW] Device 7E:02:F2:42:36:C0 7E-EC-B3-42-36-C0
[DEL] Device F8:03:F3:2E:D9:96 [TV] Samsung 6 Series (55)
[DEL] Device 72:7F:BE:DD:CE:2E 72-7F-BE-DD-CE-2E
[CHG] Device F3:33:86:66:A3:E0 RSSI: -80

Mit den Befehlen pair und trust kann in bluetoothctl eine Verbindung zum anderen Gerät aufgebaut werden. Pair erlaubt dies einmalig, trust dagegen auch ein späteres, automatisches verbinden. Als Ziel wird immer die Mac-Adresse verwendet (oben rot markiert). Beispiel für das iPhone:

pair F0:00:F0:2E:D9:96

Der Raspberry und das iPhone erkennen den Versuch und bitten um Bestätigung, wenn der Schlüssel auf beiden Geräten gleich ist.

Attempting to pair with F0:00:F0:2E:D9:96
[CHG] Device F0:00:F0:2E:D9:96 Connected: yes
Request confirmation
[agent] Confirm passkey 136194 (yes/no): yes
iPhone -Bluetooth-Schlüssel Bestätigung

Abschließend wird der Vorgang in der Konsole mit Pairing successful bestätigt.

Tastatur verbinden

Bei Eingabegeräten kann schlecht eine Bestätigung wie oben erfolgen. Führe connect aus, um eine Tastatur zu verbinden.

connect EB:66:3C:00:00:00
Attempting to connect to EB:66:3C:00:00:00
[CHG] Device EB:66:3C:00:00:00 Connected: yes
[Keyboard K850]# connect EB:66:3C:00:00:00

Ein Gedanke zu „Raspberry Pi: Bluetooth verbinden“

  1. Danke für die tolle Anleitung. Habe folgendes Problem:
    Nach meiner „pair“-Eingabe erfolgt die Meldung: Attempting to pair with 00:80:……CC (Adresse des zu koppelnden Gerätes)
    [CHG]Device 00:80:……CC Connected: yes
    Request PIN code statt Request confirmation
    [agent]Enter Pin code: Request canceled
    Failed to pair: org.bluez.ERROR.AuthenticationCanceled
    Kann leider den Pin code nicht eingeben.
    Nach sudo systemctl status bluetooth.service
    erfolgt Meldung
    ● bluetooth.service – Bluetooth service
    Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2020-05-08 16:53:20 CEST; 42s ago
    Docs: man:bluetoothd(8)
    Main PID: 1394 (bluetoothd)
    Status: „Running“
    Tasks: 1 (Limit: 2063)
    CGroup: /system.slice/bluetooth.service
    492 /user/lib/Bluetooth/bluetoothd
    Was kann ich da tun?
    Würde mich über ihre Hilfe sehr freuen.

Kommentare sind geschlossen.