In diesem Beitrag möchte ich dir erläutern, wie man Bluetooth auf einem Raspberry Pi einrichtet und nach Geräte suchen kann. Ich verwende in diesem Beitrag den Raspberry Pi 3B+ welcher schon ein paar Jahre auf dem Markt erhältlich ist aber immer noch eine passable Leistung bietet.
Solltest du einen Pi 4 oder sogar einen 5er-Pi besitzen so kannst du trotzdem diese Anleitung verwenden denn diese ist auf diesen Systemen gleich.
Inhaltsverzeichnis
- Einrichten von Bluetooth auf dem Raspberry Pi
- Nach Bluetoothgeräten mit Python suchen
- Fazit & Ausblick
Einrichten von Bluetooth auf dem Raspberry Pi
Der Raspberry Pi 3B+ hat WLAN und Bluetooth an Bord, d.h. du hast dieses Feature bereits dabei. Solltest du ein älteres Modell besitzen, so kannst du dir recht günstig einen Bluetooth-Dongle kaufen und so deinen Raspberry Pi nachrüsten.
Software für die SSH-Verbindung zum Raspberry Pi
Den Raspberry Pi kannst du über HDMI mit einem Monitor verbinden, jedoch bediene ich diesen lediglich von der Konsole aus und daher reicht mir eine einfache SSH Verbindung via MobaXTerm aus. Das Tool kannst du unter https://mobaxterm.mobatek.net/download.html kostenfrei in der Home Edition herunterladen.
Installieren von pi-bluetooth via apt
Mit den nachfolgenden Befehlen aktualisierst du zunächst dein System,
um danach das Paket “pi-bluetooth” zu installieren.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install pi-bluetooth
Ob der Bluetoothservice gestartet ist, lässt du dir mit dem nachfolgenden Befehl anzeigen.
sudo systemctl status bluetooth
Mit dem Befehl “hciconfig” kannst du dir deine Bluetoothadapter anzeigen lassen.
pi@raspberrypi:~ $ hciconfig
hci0: Type: Primary Bus: UART
BD Address: B8:27:EB:AA:D5:1A ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING
RX bytes:1604 acl:0 sco:0 events:102 errors:0
TX bytes:3572 acl:0 sco:0 commands:102 errors:0
Wenn dein Bluetoothadapter auf dem Raspberry Pi eingerichtet ist, können wir uns nun nach Bluetoothgeräte suchen.
Nach Bluetoothgeräten mit Python suchen
Im nächsten Schritt wollen wir zunächst nach Bluetoothgeräte in der Nähe suchen. Dazu installieren wir zunächst das Paket pybluez mit pip.
pi@raspberrypi:~ $ pip install pybluez
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pybluez
Downloading https://www.piwheels.org/simple/pybluez/PyBluez-0.23-cp39-cp39-linux_armv7l.whl (128 kB)
|████████████████████████████████| 128 kB 1.0 MB/s
Installing collected packages: pybluez
Successfully installed pybluez-0.23
Auf dem GitHub Repository von pybluez findest du einige Beispiele, wie du dieses Modul verwendest. Hier ist ein kleines Beispiel, wie du Bluetoothgeräte mit Python suchen und dir den Gerätenamen ausgeben lassen kannst.
import bluetooth print("Suche Bluetoothgeräte") nearby_devices = bluetooth.discover_devices(lookup_names=True) print(f"Es wurde(n) {len(nearby_devices)} Gerät(e) gefunden!") if len(nearby_devices) > 0: for addr, name in nearby_devices: print(f"Gerätename: {name}")
Auf der Konsole wird dann zunächst die Anzahl der gefundenen Geräte ausgegeben und danach die Gerätenamen.
pi@raspberrypi:~/Python/BluetoothSearch $ python3 bluetoothSearch.py
Suche Bluetoothgeräte
Es wurde(n) 2 Gerät(e) gefunden!
Gerätename: Galaxy A53 5G
Gerätename: CSL-305080
Fazit & Ausblick
Nachdem wir jetzt Bluetoothgeräte via Python gefunden haben können wir als Nächstes eine kleine Schaltung am Arduino, ESP32 und Raspberry Pi Pico W aufbauen und diese Mikrocontroller mit dem Pi via Bluetooth verbinden.
Dazu werde ich dir in den kommenden Tagen separate Beiträge veröffentlichen.
Tolle Anleitungen, die ich bei ihnen lese. einen kurzen Kommentar zu der Terminalverbindung:
früher habe ich auch immer ein extra Programm dafür benutzt. aber inzwischen kann man aber z.B. unter Windows auch das Kommando SSH genutzten. Richter man sich eine Public Key Struktur ein, geht das sogar ohne Eingabe von Kennwort mit:
ssh name@servername
alles Gute und weiterhin so gute Anleitungen