Bluetooth-Geräte unter Armbian per Kommandozeile koppeln
August 6, 2018
Diese Anleitung beschreibt, wie Sie Bluetooth-Geräte, insbesondere Tastaturen, die eine PIN-Eingabe erfordern (z.B. die Logitech K480), über das Kommandozeilen-Tool bluetoothctl auf einem Armbian-System koppeln und verbinden.
1. Voraussetzungen
Stellen Sie sicher, dass das bluez-Paket, das die Bluetooth-Tools für Linux bereitstellt, installiert ist.
sudo apt update
sudo apt install -y bluez
2. Interaktives Pairing mit bluetoothctl
Starten Sie das interaktive bluetoothctl-Werkzeug.
bluetoothctl
Führen Sie innerhalb der bluetoothctl-Sitzung die folgenden Schritte aus.
Agent für Tastatur-Eingabe konfigurieren
Für Geräte, die eine PIN-Eingabe erfordern, ist der KeyboardOnly-Agent notwendig. Dieser ermöglicht die PIN-Bestätigung direkt auf der zu koppelnden Tastatur.
[bluetooth]# agent KeyboardOnly
[bluetooth]# default-agent
Gerät scannen und koppeln
-
Scan starten: Aktiviert die Suche nach sichtbaren Bluetooth-Geräten in der Umgebung.
code[bluetooth]# scan onWarten Sie, bis die MAC-Adresse Ihrer Tastatur (z.B.
34:XX:XX:XX:D8:F3) in der Liste der gefundenen Geräte erscheint. -
Gerät koppeln (Pairing):
code[bluetooth]# pair 34:XX:XX:XX:D8:F3Sie werden aufgefordert, eine PIN auf der Tastatur einzugeben und mit Enter zu bestätigen.
-
Gerät als vertrauenswürdig einstufen (Trust): Dies ist notwendig, damit sich das Gerät in Zukunft automatisch verbinden kann.
code[bluetooth]# trust 34:XX:XX:XX:D8:F3 -
Verbindung herstellen:
code[bluetooth]# connect 34:XX:XX:XX:D8:F3
3. Automatisches Verbinden beim Systemstart
Um die Tastatur bei jedem Systemstart automatisch zu verbinden, können Sie ein systemd-User-Service einrichten.
Verbindungsskript erstellen
Erstellen Sie ein Shell-Skript, das den connect-Befehl ausführt.
# Verzeichnis für Skripte erstellen, falls nicht vorhanden
mkdir -p ~/Scripts
# Skript erstellen
cat <<'EOF' > ~/Scripts/bt-connect.sh
#!/usr/bin/env bash
# Beendet das Skript bei Fehlern
set -e
# Ersetzen Sie dies durch die MAC-Adresse Ihres Geräts
MAC_K480="34:XX:XX:XX:D8:F3"
# Führt bluetoothctl-Befehle nicht-interaktiv aus
bluetoothctl << EOT
power on
connect ${MAC_K480}
EOT
EOF
# Skript ausführbar machen
chmod +x ~/Scripts/bt-connect.sh
systemd User Service erstellen
Ein User-Service läuft unter Ihrem Benutzerkonto und startet, sobald Sie sich anmelden.
-
Verzeichnis erstellen:
codemkdir -p ~/.config/systemd/user -
Service-Datei erstellen:
codecat <<'EOF' > ~/.config/systemd/user/bt-connect.service [Unit] Description=Automatisches Verbinden von Bluetooth-Geräten [Service] Type=oneshot ExecStart=%h/Scripts/bt-connect.sh [Install] WantedBy=default.target EOF%hist ein Platzhalter für Ihr Home-Verzeichnis. -
Service aktivieren:
codesystemctl --user daemon-reload systemctl --user enable --now bt-connect.service
4. Fehlerbehebung
- Keine PIN-Abfrage auf der Tastatur: Stellen Sie sicher, dass Sie
agent KeyboardOnlyvor dem Pairing-Versuch ausgeführt haben. - Verbindung schlägt fehl: Überprüfen Sie mit
bluetoothctl power on, ob der Bluetooth-Adapter aktiv ist. - Kein Bluetooth-Adapter gefunden: Der Befehl
bluetoothctl listzeigt verfügbare Controller an. Fehlt hier ein Eintrag, gibt es möglicherweise ein Treiberproblem.