Arduino - BLE
In diesem Tutorial werden wir lernen:
- Wie man Bluetooth Low Energy (BLE)-Technologie mit Arduino verwendet
- Wie man Daten vom Arduino an eine Smartphone-App über BLE sendet
- Wie man Daten von einer Smartphone-App über BLE auf dem Arduino empfängt
- Wie man den Arduino von einer Smartphone-App über BLE steuert

Der Umfang dieses Tutorials:
- Datenaustausch zwischen Arduino und einer Smartphone-App über BLE. Die Kommunikation zwischen zwei Arduinos via BLE wird in einem anderen Tutorial behandelt.
- Verwendung des weit verbreiteten HM-10 Bluetooth Low Energy-Moduls.
- Demonstration der Bluetooth Serial Monitor App auf Android, aber jede Android-/iOS-App kann verwendet werden.
- Steuerung verschiedener über das Smartphone mit dem Arduino verbundener Geräte, wobei Beispiele eine LED und einen Servomotor umfassen.
Es ist zu beachten, dass dieses Tutorial speziell Bluetooth Low Energy (BLE, Bluetooth 4.0) abdeckt. Wenn Sie Informationen zu Classic Bluetooth (Bluetooth 2.0) suchen, schauen Sie sich bitte ein ähnliches Tutorial Arduino - Bluetooth an.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das HM-10 Bluetooth-Modul
Der HM-10 ist ein serielles BLE-Modul, das als Seriell-zu-Bluetooth Low Energy-Konverter fungiert. Es führt die folgenden Aktionen aus:
- Empfängt Daten vom Serial RX-Pin und überträgt sie an ein gekoppeltes Gerät wie ein Smartphone über BLE
- Empfängt Daten über BLE (vom gekoppelten Gerät) und sendet sie an den Serial TX-Pin
Genauer gesagt, wenn man einen Arduino verwendet, um mit einer Smartphone-App (Android/iOS) zu kommunizieren, tritt Folgendes auf:
- Der Arduino verbindet sich mit dem HM-10 Bluetooth-Modul über die Serial/SoftwareSerial-Pins.
- Das HM-10 Bluetooth-Modul ist mit einer Smartphone-App gepaart.
- Der Arduino sendet Daten an die Smartphone-App, indem er sie an den Serial/SoftwareSerial sendet.
- Der Arduino empfängt Daten von der Smartphone-App, indem er sie vom Serial/SoftwareSerial liest.
- Es ist kein zusätzlicher BLE-Code auf dem Arduino erforderlich.
Pinbelegung

Das HM-10 BLE-Modul hat 6 Pins:
- BKR-Pin: Zur Steuerung des Verhaltens des Moduls. Ignorieren Sie diesen Pin, wenn Sie Anfänger sind.
- RX-Pin: Serieller Datenpin, verbinden Sie diesen Pin mit dem TX-Pin des Arduino. Die von diesem Pin empfangenen Daten werden über Bluetooth gesendet.
- TX-Pin: Serieller Datenpin, verbinden Sie diesen Pin mit dem RX-Pin des Arduino. Die über BLE empfangenen Daten werden über diesen Pin als serielle Daten gesendet.
- GND-Pin: Massepin, verbinden Sie diesen Pin mit dem Masseanschluss der Stromquelle.
- VCC-Pin: Versorgungspin, verbinden Sie diesen Pin mit 3,3 V Versorgungsspannung.
- STATE-Pin: Zeigt die Arbeitszustände an:
- Im Standby-Modus blinkt – 500 ms Impuls wiederholt;
- Im Verbindungszustand – hoher Pegel.
- Wir benötigen nur 4 Pins: VCC, GND, RX, TX
- Einige Hersteller produzieren den HM-10 nur mit vier Pins.
※ Notiz:
Über Bluetooth-Seriemonitor-App
Die Bluetooth Serial Monitor App ist eine mobile Anwendung, die das Aussehen des Serial Monitors in der Arduino IDE nachbildet. Sie ermöglicht die Kommunikation mit einem Arduino-Board über Bluetooth, ohne dass zusätzlicher Code im Arduino-Sketch erforderlich ist. Um sie zu verwenden, befolgen Sie diese Schritte:
- Verbinde das Arduino-Board mit einem HM-10 Bluetooth-Modul
- Lade die Bluetooth Serial Monitor App auf dein Smartphone herunter und installiere sie
- Öffne die App und verbinde sie mit dem HM-10 Bluetooth-Modul
Nachdem Sie diese Schritte abgeschlossen haben, können Sie nun Daten vom Arduino senden und empfangen, als würden Sie den Serial Monitor in der Arduino-IDE verwenden, ohne Ihren bestehenden Arduino-Code ändern zu müssen oder irgendeinen Bluetooth-spezifischen Code hinzufügen zu müssen.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Die Verdrahtungstabelle
Arduino Pins | HM-10 Bluetooth Pins |
---|---|
RX (Pin 0) | TX |
TX (Pin 1) | RX |
5V | VCC |
GND | GND |
BKR (NOT connected) | |
STATE (NOT connected) |
※ Notiz:
Der Arduino-Code kann andere Pins verwenden, indem das Serial-Objekt durch eine Alternative wie Serial1, Serial2 oder SoftwareSerial (falls verfügbar) ersetzt wird.
Wie man für Bluetooth programmiert
Es ist kein spezieller Bluetooth-Code erforderlich; nur serieller Code wird benötigt.
Arduino sendet Daten an die Bluetooth-App auf dem Smartphone
Um Daten von einem Arduino-Board an eine Bluetooth-App auf einem Smartphone zu übertragen, kann der folgende Arduino-Code verwendet werden. Dieses Beispiel demonstriert das Senden der Nachricht “Arduino hier, gib mir Befehle!” vom Arduino an die Smartphone-App jede Sekunde
Schnelle Schritte
Um den Code zu verwenden und ein Arduino-Board über BLE mit einem Smartphone zu verbinden, befolgen Sie diese Schritte:
- Installieren Sie die Bluetooth Serial Monitor App auf Ihrem Smartphone.
- Verbinden Sie das HM-10 Bluetooth-Modul gemäß dem bereitgestellten Verdrahtungsdiagramm mit dem Arduino-Board.
- Öffnen Sie die Arduino-IDE, kopieren Sie den oben bereitgestellten Code und laden Sie ihn auf das Arduino-Board hoch. Wenn Sie den Code nicht hochladen können, trennen Sie die TX- und RX-Pins vom Bluetooth-Modul, laden Sie den Code hoch und verbinden Sie anschließend die RX-/TX-Pins.
- Öffnen Sie den Serial Monitor in der Arduino-IDE.
- Öffnen Sie auf Ihrem Smartphone die Bluetooth Serial Monitor App und wählen Sie den BLE-Modus aus.

- Koppeln Sie das Smartphone mit dem HM-10 Bluetooth-Modul.

- Beobachten Sie das Ergebnis in der Android-App.

- Beobachten Sie das Ergebnis im seriellen Monitor der Arduino-IDE.
Wenn Sie die Schritte befolgen und den Code ausführen, werden Sie feststellen, dass die im Serial Monitor der Arduino-IDE und in der Android-App angezeigten Daten übereinstimmen.
Bluetooth-App Daten an Arduino senden
Der untenstehende Code führt die folgenden Aktionen aus:
- Sende Daten von der Bluetooth-App an das Arduino-Board
- Das Arduino-Board wird die eingehenden Daten lesen und dann eine Antwort an das Bluetooth-Gerät zurücksenden.
Schnelle Schritte
Hier sind die Schritte, um den Code mit Arduino und einer Android-App zu verwenden:
- Öffnen Sie die Arduino-IDE und fügen Sie den oben bereitgestellten Code ein.
- Klicken Sie auf die Schaltfläche Hochladen, um den Code auf das Arduino-Board hochzuladen.
- Öffnen Sie den seriellen Monitor in der Arduino-IDE.
- Öffnen Sie die Android-App und koppeln Sie sie mit dem HM-10-Bluetooth-Modul gemäß den Anweisungen aus einem früheren Beispiel.
- Sobald die Verbindung hergestellt ist, geben Sie in der Android-App "LED AN" oder "LED AUS" ein und drücken Sie die Schaltfläche "Senden".

- Das Arduino-Board empfängt die Daten, gibt eine Antwort über den seriellen Port aus. Diese Daten werden an die Bluetooth-App gesendet.
- Überprüfen Sie das Ergebnis in der Android-App.

- Überprüfen Sie das Ergebnis im seriellen Monitor der Arduino-IDE
Nachdem Sie die oben genannten Schritte abgeschlossen haben, werden Sie feststellen, dass die auf dem Serial Monitor der Arduino-IDE und der Android-App angezeigten Informationen dieselben sind.
Arduino-Code – LED mit der Smartphone-App über BLE steuern
Der folgende Arduino-Beispielcode verwendet Befehle “AN” und “AUS”, die über die Bluetooth Serial Monitor App empfangen werden, um eine eingebaute LED ein- bzw. auszuschalten.
Sie können die Anweisungen im Detail im Arduino controls LED via Bluetooth/BLE Tutorial sehen.
Arduino-Code - Servo-Motor mit Smartphone-App über BLE steuern
Der folgende Arduino-Code empfängt einen Winkelwert von der Bluetooth Serial Monitor-App, um den Winkel eines Servomotors zu steuern.
Sie können die Anweisungen im Detail im Arduino controls Servo Motor via Bluetooth/BLE Tutorial ansehen.
Wenn die Bluetooth Serial Monitor-App nützlich für Sie ist, geben Sie ihr bitte eine 5-Sterne-Bewertung im Play Store. Vielen Dank!
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.