Arduino Nano ESP32 Bluetooth-Chat-Beispiel - Bidirektionales Messaging über BLE-Anleitung
Überblick
Dieses Beispiel implementiert eine bidirektionale Textnachrichtsschnittstelle auf dem Arduino Nano ESP32 mit BLE (Bluetooth Low Energy) über die DIYables Bluetooth STEM-App. Senden und empfangen Sie Textnachrichten zwischen dem Arduino und einem Smartphone in Echtzeit. Geeignet für Befehlszeilenschnittstellen, Fernsteuerung über Text, serielle Brücken und interaktives Debugging.
Hinweis: Der Arduino Nano ESP32 unterstützt nur BLE — Classic Bluetooth wird nicht unterstützt. Die DIYables Bluetooth App funktioniert auf Android und iOS mit BLE.

Funktionen
- Bidirektionales Messaging: Senden und empfangen Sie Textnachrichten in Echtzeit
- Befehlsbearbeitung: Verarbeiten Sie Textbefehle, die von der App empfangen werden
- Serielle Brücke: Leiten Sie Nachrichten zwischen Serial Monitor und Bluetooth weiter
- Benutzerdefinierte Antworten: Automatische Antworten mit Echos oder verarbeiteten Daten
- Android- und iOS-Unterstützung: BLE ist mit beiden Plattformen kompatibel
- Keine Kopplung erforderlich: BLE verbindet sich ohne manuelle Kopplung
- Niedriger Energieverbrauch: BLE verbraucht weniger Energie als Classic Bluetooth
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Arduino Nano ESP32 Code
Schnelle Schritte
- Neu bei Arduino Nano ESP32? Beginnen Sie mit dem Arduino Nano ESP32 Anfängerleitfaden.
- Verbinden Sie den Arduino Nano ESP32 über USB mit Ihrem Computer.
- Öffnen Sie die Arduino IDE.
- Wählen Sie das Board Arduino Nano ESP32 und den korrekten COM-Port aus.
- Klicken Sie auf das Symbol Libraries in der linken Seitenleiste.
- Suchen Sie nach "DIYables Bluetooth" und wählen Sie die DIYables Bluetooth Library von DIYables aus.
- Klicken Sie auf Install.

- Wenn Sie aufgefordert werden, Abhängigkeiten zu installieren, klicken Sie auf Install All.

BLE-Code
- Öffnen Sie in der Arduino IDE File Examples DIYables Bluetooth ArduinoBLE_Chat, oder fügen Sie den Code in den Editor ein.
- Klicken Sie auf Upload, um die Skizze auf das Board zu flashen.
- Öffnen Sie den Serial Monitor.
- Die Ausgabe des Serial Monitor sollte folgendermaßen aussehen:
Mobile App
Hinweis: Die DIYables Bluetooth App funktioniert auf Android und iOS mit BLE. Es ist keine manuelle Kopplung erforderlich.
- Starten Sie die DIYables Bluetooth App.
- Erteilen Sie beim ersten Start die folgenden Berechtigungen:
- Nearby Devices (Android 12+) / Bluetooth (iOS) — erforderlich, um Bluetooth-Geräte zu scannen und eine Verbindung herzustellen
- Location (nur Android 11 und älter) — erforderlich von älteren Android-Versionen zum Scannen von BLE
- Stellen Sie sicher, dass Bluetooth auf Ihrem Gerät aktiviert ist.
- Tippen Sie auf der Startseite auf Connect. Die App scannt nach BLE-Geräten.

- Tippen Sie auf "Arduino_Chat" in den Scanergebnissen.
- Kehren Sie nach dem Verbinden zur Startseite zurück und öffnen Sie die Chat App.

Tippen Sie auf das Einstellungssymbol auf der Startseite, um Apps anzuzeigen oder auszublenden. Siehe DIYables Bluetooth App Benutzerhandbuch für Details.
- Geben Sie eine Nachricht in das Chat-Eingabefeld ein und tippen Sie zum Senden.

Schauen Sie jetzt zurück auf den Serial Monitor in der Arduino IDE. Sie werden sehen:
- Der Arduino echoot die Nachricht zurück, und die Antwort wird im App-Chat angezeigt.
Kreative Anpassung - Passen Sie den Code an Ihr Projekt an
Chat-Nachrichten verarbeiten
Verwenden Sie den Callback onChatMessage(), um Nachrichten von der App zu empfangen und zu verarbeiten. Definieren Sie nach Bedarf benutzerdefinierte Befehlswörter — der Arduino antwortet entsprechend:
Fügen Sie zusätzliche else if Blöcke für jeden Befehl hinzu. Verwenden Sie beispielsweise LED_ON / LED_OFF zum Steuern eines Pins oder READ zum Auslösen einer Sensorlesung.
Nachrichten vom Arduino senden
Seriell-zu-Bluetooth-Brücke
Leiten Sie Nachrichten zwischen Serial Monitor und Bluetooth weiter:
Verbindungsereignisse verarbeiten
Verwendung des Chat
App-Schnittstelle
Die Chat-App in der DIYables Bluetooth App bietet:
- Nachrichtenliste: Zeigt gesendete und empfangene Nachrichten mit Zeitstempel an
- Texteingabe: Geben Sie Nachrichten ein, um sie an den Arduino zu senden
- Senden-Schaltfläche: Tippen Sie zum Übertragen der Nachricht
Kommunikationsfluss
- Geben Sie eine Nachricht in der App ein ? Arduino empfängt sie über den Callback onChatMessage()
- Arduino verarbeitet die Nachricht und sendet optional eine Antwort über bluetoothChat.send()
- Die Antwort wird im App-Chat-Fenster angezeigt
Programmierkbeispiele
Befehlshandler mit Relaissteuerung
Abfrage-System für Sensoren
Regelmäßige Statusaktualisierungen
Fortgeschrittene Programmiertechniken
Mehrwort-Befehls-Parsing
Chat-Logger mit Zeitstempel
Fehlerbehebung
Häufige Probleme
1. Gerät ist in der App nicht sichtbar
- Bestätigen Sie, dass das Board eingeschaltet ist und die Skizze hochgeladen wurde
- Überprüfen Sie, ob Bluetooth auf Ihrem Telefon aktiviert ist
- Aktivieren Sie unter Android 11 und älter auch die Standortdienste
- Versuchen Sie, Bluetooth auf Ihrem Telefon neu zu starten
2. Nachrichten werden vom Arduino nicht empfangen
- Überprüfen Sie den Bluetooth-Verbindungsstatus in der App
- Bestätigen Sie, dass der Callback onChatMessage korrekt registriert ist
- Überprüfen Sie den Serial Monitor auf Fehlermeldungen
3. Arduino-Antworten werden nicht in der App angezeigt
- Überprüfen Sie, ob bluetoothChat.send() aufgerufen wird
- Bestätigen Sie, dass bluetoothServer.loop() in der Hauptschleife enthalten ist
- Überprüfen Sie den Verbindungsstatus mit bluetooth.isConnected()
4. Serial Monitor zeigt garbled text an
- Bestätigen Sie, dass die Baudrate im Serial Monitor Serial.begin(9600) entspricht
- Überprüfen Sie, ob das richtige Board in Arduino IDE ausgewählt ist
5. Verbindung wird häufig unterbrochen
- Reduzieren Sie den Abstand zum Arduino
- Überprüfen Sie, ob Interferenzen von anderen BLE-Geräten vorhanden sind
- Stellen Sie eine stabile USB-Stromversorgung sicher
6. Upload schlägt fehl oder Board wird nicht erkannt
- Installieren Sie das neueste Arduino Nano ESP32 Board-Paket über Board Manager
- Versuchen Sie ein anderes USB-Kabel oder einen anderen Port
- Drücken Sie vor dem Upload die Reset-Taste
Projektideen
Kommunikation
- Text-Befehlsschnittstelle für Hausautomation
- Seriell-zu-Bluetooth-Brücke für drahtloses Debugging
- Remote-Sensoreabfrage-System
- Interaktives Quiz oder Trivia-Spiel
Steuersysteme
- Sprache-zu-Text-Relaissteuerung
- Multi-Geräte-Befehls-Router
- Konfigurationsmanager über Chat-Befehle
- Firmware-Versions-Reporter
Protokollierung & Überwachung
- Event-Logger mit Zeitstempel
- Alarmmeldungssystem
- Statusbericht-Generator
- Diagnose-Chatbot
Integration mit anderen Bluetooth-Apps
Mit Bluetooth Monitor kombinieren
Verwenden Sie Chat für Befehle und Monitor für kontinuierliche Ausgabe:
Mit Bluetooth Table kombinieren
Chat-Befehle zur Kontrolle der in der Tabelle angezeigten Daten:
Nächste Schritte
Nach Abschluss des Bluetooth Chat-Beispiels erkunden Sie:
- Bluetooth Monitor — Einseitiges Statusmeldungs-Streaming
- Bluetooth Slider — Analogwertsteuerelement
- Bluetooth Table — Strukturierte Datenanzeige
- Mehrere Bluetooth Apps — Kombinieren Sie Chat mit anderen App-Widgets
Unterstützung
Für weitere Hilfe:
- Überprüfen Sie die API-Referenzdokumentation
- Besuchen Sie DIYables Tutorials
- Arduino-Community-Foren