Benutzer-Werkzeuge

Webseiten-Werkzeuge


bluetooth-verbindung_mit_linux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
bluetooth-verbindung_mit_linux [2025/02/08 17:09] – [Tool: bluetoothctl] torsten.roehlbluetooth-verbindung_mit_linux [2025/02/12 13:32] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
 ====== Bluetooth-Verbindung mit Linux ====== ====== Bluetooth-Verbindung mit Linux ======
  
-//Diese Anleitung beschreibt, wie  der mBot-Roboter per **BLE (Bluetooth Low Energy)** mit ''bleak'' unter Ubuntu angesprochen werden kann. Dabei wird ein Python-Skript (''makeblock_test.py'') verwendet, das testweise die LEDs des mBots schalten kann.+//Diese Anleitung beschreibt, wie  der mBot-Roboter per **BLE (Bluetooth Low Energy)**  unter Ubuntu angesprochen werden kann. Dabei wird ein Python-Skript (''makeblock_test.py'') verwendet, das testweise die LEDs des mBots schalten kann.
 // //
  
   * Voraussetzungen   * Voraussetzungen
-          * Installation der benötigten Pakete+          * Installation und Konfiguration der benötigten Pakete
   * ''bluetoothctrl''   * ''bluetoothctrl''
           * Umgang mit dem wichtigen Tool zur Kontrolle der angeschlossenen Bluetoothgeräte.           * Umgang mit dem wichtigen Tool zur Kontrolle der angeschlossenen Bluetoothgeräte.
Zeile 12: Zeile 12:
  
 ====== Voraussetzungen ====== ====== Voraussetzungen ======
- +++++ Installation und Konfiguration der benötigten Pakete | 
-===== Systemvoraussetzungen & benötigte Pakete =====+Systemvoraussetzungen & benötigte Pakete 
 Getestet wurde mit folgender Umgebung: Getestet wurde mit folgender Umgebung:
  
Zeile 19: Zeile 19:
   * **Python 3.11+** (Empfohlen: Anaconda oder System-Python)   * **Python 3.11+** (Empfohlen: Anaconda oder System-Python)
   * **Bluetooth-Adapter mit BLE-Unterstützung**   * **Bluetooth-Adapter mit BLE-Unterstützung**
-          * USB-BT500 ASUS+          * USB-BT500 ASUS <color #c3c3c3> (Dieser Stand stand zum Testen zur Verfügung)</color>
  
 ==== Notwendige Pakete installieren ==== ==== Notwendige Pakete installieren ====
Zeile 27: Zeile 27:
 sudo apt update sudo apt update
 sudo apt install bluetooth bluez bluez-tools rfkill libbluetooth-dev sudo apt install bluetooth bluez bluez-tools rfkill libbluetooth-dev
-</code>+</code> 
  
 ---- ----
Zeile 44: Zeile 44:
 sudo rfkill unblock bluetooth sudo rfkill unblock bluetooth
 </code> </code>
 +
 +<note>Ältere Ubuntu-Distributionen benötigen möglicherweise einen Link, falls der USB-BT500 ASUS nicht erkannt wird.
 +<code>
 +$ cd /usr/lib/firmware/rtl_bt
 +$ sudo ln -s rtl8761b_fw.bin rtl8761bu_fw.bin
 +</code>
 +☛ https://forums.linuxmint.com/viewtopic.php?t=377733
 +</note>
 +
  
 ---- ----
  
 ===== Python  ===== ===== Python  =====
-Damit Sie BLE-Geräte steuern können, benötigen Sie ''bleak''.+Damit BLE-Geräte gesteuert werden können, wird ''bleak'' benötigt.
  
-==== Installation mit Conda (Empfohlen) ==== 
-<code> 
-conda install -c conda-forge bleak 
-</code> 
  
 ==== Installation mit ''pip'' (System-Python oder venv) ==== ==== Installation mit ''pip'' (System-Python oder venv) ====
-Falls Sie kein Conda nutzen:+Falls ohne Conda gearbeitet wird:
 <code> <code>
 pip install bleak pip install bleak
Zeile 62: Zeile 67:
  
 ---- ----
 +++++
 ====== Tool: bluetoothctl   ====== ====== Tool: bluetoothctl   ======
- +++++ Umgang mit dem wichtigen Tool zur Kontrolle der angeschlossenen Bluetoothgeräte.| 
-Im folgenden wird das Tool **bluetoothctl**  vorgestellt und einige nützliche Kommandos vorgestellt  um erfolgreich eine Verbindung zum mBot herzustellen.+Im diesem Abschnitt wird das Tool ''bluetoothctl'' vorgestellt, mit dem die Bluetooth-Schnittstelle verwaltet werden kann. Außerdem werden einige nützliche Kommandos erläutert, um eine erfolgreiche Verbindung zum mBot herzustellen. 
 ===== Bluetooth-Befehle & Erklärungen ===== ===== Bluetooth-Befehle & Erklärungen =====
 +Hauptfunktionen von bluetoothctl
 +  * Aktivieren und Deaktivieren von Bluetooth
 +  * Suchen und Verbinden mit Bluetooth-Geräten
 +  * Koppeln und Entkoppeln von Geräten
 +  * Anzeigen und Verwalten von gekoppelten Geräten
 +  * Ändern von Bluetooth-Einstellungen
  
 ^ **Befehl**                  ^ **Beschreibung**                                               ^ ^ **Befehl**                  ^ **Beschreibung**                                               ^
-`bluetoothctl            | Startet das Bluetooth-Management-Tool                           | +''bluetoothctl''             | Startet das Bluetooth-Management-Tool                           | 
-`scan on`                  | Sucht nach BLE-Geräten in der Umgebung                         | +''scan on ''                 | Sucht nach BLE-Geräten in der Umgebung                         | 
-`devices                 | Zeigt eine Liste aller erkannten Bluetooth-Geräte              | +''scan off''                 | Stoppt die Suche nach BLE-Geräten (wichtig für Verbindungsaufbau)| 
-`info <MAC>              | Zeigt detaillierte Informationen zu einem Gerät                | +|''devices''                  | Zeigt eine Liste aller erkannten Bluetooth-Geräte              | 
-`trust <MAC>             | Markiert das Gerät als vertrauenswürdig                       | +|''info <MAC>''               | Zeigt detaillierte Informationen zu einem Gerät                | 
-`connect <MAC>           | Verbindet sich mit dem angegebenen Gerät                      | +''trust <MAC>''              | Markiert das Gerät als vertrauenswürdig                       | 
-`disconnect <MAC>        | Trennt die Verbindung zum Gerät                               | +''connect <MAC>''            | Verbindet sich mit dem angegebenen Gerät                      | 
-`remove <MAC>            | Entfernt das Gerät aus der Liste bekannter Geräte             | +''disconnect <MAC>''         | Trennt die Verbindung zum Gerät                               | 
-`sudo systemctl restart bluetooth| Startet den Bluetooth-Dienst neu (bei Verbindungsproblemen) |+''remove <MAC>''             | Entfernt das Gerät aus der Liste bekannter Geräte             | 
 +''sudo systemctl restart bluetooth'' | Startet den Bluetooth-Dienst neu (bei Verbindungsproblemen) |
  
  
Zeile 85: Zeile 97:
 </WRAP> </WRAP>
  
-Die Bluetooth-Schnittstelle wird mit dem Tool ''bluetoothctl''kontrolliert. 
  
 ===== Bluetooth-Interface  ===== ===== Bluetooth-Interface  =====
Zeile 103: Zeile 114:
 Lassen Sie den Scan 10–15 Sekunden laufen, bis Ihr mBot erscheint.   Lassen Sie den Scan 10–15 Sekunden laufen, bis Ihr mBot erscheint.  
 Er sollte eine MAC-Adresse in diesem Format haben: ''10:A5:62:22:CA:C4''. Er sollte eine MAC-Adresse in diesem Format haben: ''10:A5:62:22:CA:C4''.
 +
 +Da manche BLE-Geräte keine Verbindung erlauben, während sie noch gescannt werden, sollte der Scan zuvor mit scan off beendet werden, falls scan on verwendet wurde.
 +<code>
 +scan off # scan wieder beenden!
 +</code>
  
 Alternativ kann mit dem Befehl ''devices'' eine Liste der Geräte (und MAC-Adressen) angezeigt werden. Alternativ kann mit dem Befehl ''devices'' eine Liste der Geräte (und MAC-Adressen) angezeigt werden.
Zeile 150: Zeile 166:
  
 ---- ----
 +++++
 ====== Testen ====== ====== Testen ======
 +
 +<WRAP center round tip 90%>
 +**Um die Skripte zu testen, muss die MAC-Adresse des Makeblock-Bluetooth-Moduls bekannt sein!**
 +
 +Sie ist im Skript durch die von uns verwendete //<color #c3c3c3>(10:A5:62:22:CA:C4)</color>// zu ersetzen. Ansonsten muss das Skript nicht angepasst werden.
 +
 +Die Bereiche, die im Skript geändert werden müssen, sind durch
 +<code>
 + # TODO ADJUST START
 +</code> 
 +und
 +<code>
 +# TODO ADJUST END
 +</code> 
 +gekennzeichnet.
 +</WRAP>
 +
 Die folgende Ausgabe von ''bluetoothctl'' zeigt, dass alle Voraussetzungen für das Testen mit Python erfüllt sind! Die folgende Ausgabe von ''bluetoothctl'' zeigt, dass alle Voraussetzungen für das Testen mit Python erfüllt sind!
 <code> <code>
Zeile 177: Zeile 210:
   * ✅ Paired: no → Der mBot wurde nicht gekoppelt (BLE braucht keine Kopplung)   * ✅ Paired: no → Der mBot wurde nicht gekoppelt (BLE braucht keine Kopplung)
   * ✅ Liste der UUIDs → Zeigt die verfügbaren GATT-Services und Characteristics des Geräts.   * ✅ Liste der UUIDs → Zeigt die verfügbaren GATT-Services und Characteristics des Geräts.
 +
 +
 ===== BLE-Scanner ===== ===== BLE-Scanner =====
 Dieses Skript prüft, ob ''bleak'' den mBot erkennt. Dieses Skript prüft, ob ''bleak'' den mBot erkennt.
bluetooth-verbindung_mit_linux.1739034563.txt.gz · Zuletzt geändert: 2025/02/08 17:09 von torsten.roehl