Raspberry Pi – Bluetooth

Dieses Tutorial erklärt Ihnen, wie Sie den Raspberry Pi verwenden, um das Bluetooth-HC-05-Modul zu steuern. Im Detail werden wir lernen:

Raspberry Pi Bluetooth

Der Zweck dieses Tutorials:

Dieses Tutorial behandelt die Nutzung von Classic Bluetooth (Bluetooth 2.0). Falls Sie nach Bluetooth Low Energy – BLE (Bluetooth 4.0) suchen, lesen Sie bitte dieses ähnliche Tutorial: Raspberry Pi - Bluetooth Low Energy

Erforderliche Hardware

1×Raspberry Pi 5
1×HC-05 Bluetooth-Modul
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das HC-05 Bluetooth-Modul

Der HC-05 ist ein serielles Bluetooth-Modul, das als Seriell-zu-Bluetooth-Konverter fungiert. Es kann Folgendes tun:

  • Daten vom Serial RX-Pin empfangen und über Bluetooth an das gekoppelte Gerät (z. B. ein Smartphone) senden
  • Daten über Bluetooth (vom gekoppelten Gerät) empfangen und an den Serial TX-Pin senden

Insbesondere dafür, dass der Raspberry Pi mit einer Smartphone-App (Android/iOS) kommunizieren kann:

  • Der Raspberry Pi ist über seine seriellen Pins mit einem HC-05 Bluetooth-Modul verbunden.
  • Das HC-05 Bluetooth-Modul ist mit der Smartphone-App gepaart.
  • Der Raspberry Pi sendet Daten an die Smartphone-App einfach, indem er sie über die serielle Schnittstelle sendet.
  • Der Raspberry Pi empfängt Daten von der Smartphone-App einfach, indem er sie von der seriellen Schnittstelle liest.
  • Auf dem Raspberry Pi ist kein spezieller Bluetooth-Code erforderlich.

Die Pinbelegung des Bluetooth-HC-05-Moduls

Bluetooth-Pinbelegung

Der HC-05 Bluetooth-Modul hat 6 Pins:

  • Enable-/Key-Pin: Dieser Pin wird verwendet, um zwischen Datenmodus (auf LOW setzen) und Befehlsmodus (auf HIGH setzen) zu wechseln. Wenn er nicht verbunden ist, befindet er sich standardmäßig im Datenmodus.
  • VCC-Pin: Versorgungs-Pin, der mit +5 V der Versorgungsspannung verbunden werden sollte.
  • GND-Pin: Masse-Pin; dieser sollte mit dem GND der Stromquelle verbunden werden.
  • TX-Pin: Serieller Datenpin; dieser sollte mit dem RX-Pin des Raspberry Pi verbunden werden. Die über Bluetooth empfangenen Daten werden an diesen Pin als serielle Daten gesendet.
  • RX-Pin: Serieller Datenpin; dieser sollte mit dem TX-Pin des Raspberry Pi verbunden werden. Die von diesem Pin empfangenen Daten werden an Bluetooth gesendet.
  • Status-Pin: Der Statuspin ist mit der integrierten LED verbunden; er kann als Feedback verwendet werden, um festzustellen, ob Bluetooth ordnungsgemäß funktioniert.

Dennoch benötigen wir für grundlegende Operationen nur 4 Pins des HC-05 Bluetooth-Moduls, die mit dem Raspberry Pi verbunden werden sollen.

Das HC-05 Bluetooth-Modul umfasst auch zwei integrierte Elemente:

  • Eine LED: die den Status des Moduls anzeigt
    • Einmal alle zwei Sekunden blinken: bedeutet, dass das Modul in den Befehlsmodus gewechselt hat
    • Wiederholtes Blinken: bedeutet, dass es im Datenmodus auf eine Verbindung wartet
    • Zweimal pro Sekunde blinken: bedeutet, dass eine erfolgreiche Verbindung im Datenmodus besteht
  • Eine Taste: wird verwendet, um den Key/Enable-Pin zu steuern und so den Betriebsmodus (Daten- oder Befehlsmodus) zu wählen

Wie es funktioniert

Das HC-05 Bluetooth-Modul hat zwei Betriebsmodi:

  • Datenmodus, der zum Austausch von Daten mit dem gekoppelten Gerät verwendet wird
  • Befehlsmodus, der zum Konfigurieren von Parametern verwendet wird

Glücklicherweise kann das HC-05-Bluetooth-Modul ohne jegliche Konfiguration mit dem Raspberry Pi arbeiten und dabei seine Standardeinstellung verwenden.

HC-05 Standardeinstellungen

Default Bluetooth Name “HC-05”
Default Password 1234 or 0000
Default Communication Slave
Default Mode Data Mode
Default Data Mode Baud Rate 9600, 8, N, 1
Default Command Mode Baud Rate 38400, 8, N, 1

Über Bluetooth Serial Monitor App

Die Bluetooth Serial Monitor App ermöglicht die Kommunikation mit dem Raspberry Pi über Bluetooth, ohne dass zusätzlicher Code für das Bluetooth-Modul im Code des Raspberry Pi erforderlich ist. Um sie zu verwenden, sollten die folgenden Schritte befolgt werden:

  • Verbinden Sie den Raspberry Pi mit dem HC-05 Bluetooth-Modul
  • Installieren Sie die Bluetooth Serial Monitor App auf Ihrem Smartphone
  • Öffnen Sie die App und koppeln Sie sie mit dem HC-05 Bluetooth-Modul

Jetzt kannst du Daten vom Raspberry Pi senden und empfangen.

Verdrahtungsdiagramm

Raspberry Pi Bluetooth-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Tabelle der Verdrahtungsverbindungen. Verdrahtungsschema. Diagramm der Verdrahtungsverbindungen

Raspberry Pi Pins HC-05 Bluetooth Pins
RX (GPIO15) TX
TX (GPIO14) RX
5V VCC
GND GND
Enable/Key (NOT connected)
State (NOT connected)

Raspberry Pi sendet Daten an die Bluetooth-App auf dem Smartphone

Um Daten von einem Raspberry Pi an eine Bluetooth-App auf einem Smartphone zu übertragen, muss der folgende Code für den Raspberry Pi verwendet werden:

In diesem Beispiel lassen wir den Raspberry Pi jede Sekunde eine Nachricht an die Bluetooth-App auf einem Smartphone senden “Raspberry Pi hier, befiehle mir!”."

Schnelle Schritte

  • Stellen Sie sicher, dass Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Raspberry Pi installiert ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, wenn Sie einige Bibliotheken installieren müssen.
  • Wenn Sie Raspberry Pi zum ersten Mal verwenden, lesen Sie wie man den Raspberry Pi einrichtet
  • Stellen Sie eine SSH-Verbindung von Ihrem PC zum Raspberry Pi her, verwenden Sie dazu den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows. Siehe wie man Ihren PC per SSH mit dem Raspberry Pi verbindet.
  • Stellen Sie sicher, dass Sie die RPi.GPIO-Bibliothek installiert haben. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install pyserial
  • Erstelle eine Python-Skriptdatei bluetooth_send.py.py und füge den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-bluetooth import serial from time import sleep # Define serial port for communication bluetooth = serial.Serial('/dev/ttyS0', baudrate=9600, timeout=1) # Main program try: while True: bluetooth.write(b"Raspberry Pi here, command me!\n") sleep(1) except KeyboardInterrupt: pass finally: bluetooth.close()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 bluetooth_send.py

Das Skript läuft in einer Endlosschleife, bis Sie im Terminal Ctrl + C drücken.

  • Installiere die Bluetooth Serial Monitor App auf deinem Smartphone.
  • Schließe das HC-05 Bluetooth-Modul gemäß dem Schaltplan an den Raspberry Pi an.
  • Öffne die Bluetooth Serial Monitor App auf deinem Smartphone und wähle den Classic-Bluetooth-Modus.
Bluetooth-Seriemonitor-App
  • Schließen Sie es an das HC-05 Bluetooth-Modul an.
Bluetooth-Seriemonitor-Paarung
  • Schau dir das Ergebnis in der Android-App an.
Bluetooth-Seriemonitor-App
  • Schau dir das Ergebnis im Terminal an.
PuTTY - Raspberry Pi
Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me!

Bluetooth-App Daten an den Raspberry Pi senden

Der folgende Code:

  • Ermöglicht einer Bluetooth-App, Daten an einen Raspberry Pi zu senden
  • Ermöglicht dem Raspberry Pi, die Daten zu lesen und eine Antwort an die Bluetooth-App zurückzusenden

Schnelle Schritte

  • Erstellen Sie eine Python-Skriptdatei namens bluetooth_send_receive.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-bluetooth import serial from time import sleep # Define serial port for Bluetooth communication bluetooth = serial.Serial('/dev/ttyS0', baudrate=9600, timeout=1) # Main program try: bluetooth.flushInput() # Clear any existing data in the input buffer while True: bluetooth.write(b"Raspberry Pi here, command me!\n") if bluetooth.inWaiting() > 0: command = bluetooth.readline().decode('utf-8').strip() # Read until newline character if command == "LED OFF": print("LED is turned OFF") # Report action to console # TODO: Control your LED here elif command == "LED ON": print("LED is turned ON") # Report action to console # TODO: Control your LED here # Add a delay to avoid excessive looping sleep(0.5) except KeyboardInterrupt: pass finally: bluetooth.close()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 bluetooth_send_receive.py
  • Verbinden Sie die Android-App mit dem HC-05-Bluetooth-Modul, wie zuvor.
  • Sobald verbunden, tippen Sie in der Android-App entweder "LED ON" oder "LED OFF" ein und drücken Sie die Schaltfläche "SEND".
Bluetooth-Seriemonitor-App
  • Der Raspberry Pi empfängt die Daten und gibt die Antwort am seriellen Port aus.
  • Diese Antwort wird dann an die Bluetooth-App gesendet.
  • Das Ergebnis kann in der Android-App angezeigt werden.
Bluetooth-Seriemonitor-App
  • Schau dir die Ausgabe im Terminal an.
PuTTY - Raspberry Pi
Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! LED ON LED is turned ON Raspberry Pi here, command me! Raspberry Pi here, command me! Raspberry Pi here, command me! LED OFF LED is turned OFF Raspberry Pi here, command me! Raspberry Pi here, command me!

Sie werden feststellen, dass die in der Android-App angezeigten Informationen dieselben sind.

Raspberry Pi Code - LED mit Smartphone-App über Bluetooth steuern

Bitte beachten Sie das Tutorial Raspberry Pi steuert LED über Bluetooth.

Raspberry Pi-Code - Servo-Motor mit Smartphone-App über Bluetooth steuern

Bitte beachten Sie das Raspberry Pi steuert Servomotor über Bluetooth Tutorial.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!