Arduino Nano ESP32 - MQTT
In diesem Leitfaden befassen wir uns damit, den Arduino Nano ESP32 zu verwenden, um Daten über das MQTT-Protokoll an einen MQTT-Broker zu senden und von diesem zu empfangen. Genauer gesagt behandeln wir Folgendes:
- Aufbau einer Verbindung zwischen dem Arduino Nano ESP32 und einem MQTT-Broker.
- Programmierung des Arduino Nano ESP32, Daten an den MQTT-Broker zu übertragen, indem es die Daten auf ein bestimmtes MQTT-Thema veröffentlicht.
- Programmierung des Arduino Nano ESP32, Daten zu empfangen, indem es sich auf ein festgelegtes MQTT-Thema abonniert.

Wir werden zwei verschiedene Szenarien untersuchen:
- Verwendung eines Arduino Nano ESP32 mit einem Online-MQTT-Broker.
- Verwendung eines Arduino Nano ESP32 mit einem MQTT-Broker, der auf Ihrem PC installiert ist.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Arduino Nano ESP32 und MQTT
Wenn Sie bereits mit dem MQTT-Protokoll vertraut sind, ist das großartig! Falls nicht, können Sie online danach suchen. Dieses Tutorial konzentriert sich darauf, den Arduino Nano ESP32 für das Senden und Empfangen von Daten mit MQTT zu verwenden.
Hier sind verschiedene Möglichkeiten, wie der Arduino Nano ESP32 mit MQTT verwendet werden kann:
- Sie können den Arduino Nano ESP32 mit einem Online-MQTT-Broker wie Mosquitto oder AWS IoT verbinden.
- Sie können den Arduino Nano ESP32 mit einem MQTT-Broker verbinden, der auf Ihrem Computer installiert ist, zum Beispiel Mosquitto oder HiveMQ.
- Sie können den Arduino Nano ESP32 mit einem MQTT-Broker verbinden, der auf Ihrem Raspberry Pi läuft, zum Beispiel Mosquitto.
- Sie können auch den Arduino Nano ESP32 mit einem cloudbasierten MQTT-Broker verbinden, wie Mosquitto oder HiveMQ auf AWS EC2.
In diesem Tutorial beginnen wir damit, zu prüfen, ob der Arduino Nano ESP32 eine Verbindung zu einem Online-Mosquitto-Broker herstellen kann. Wir lassen den Arduino Nano ESP32 Daten über diesen Broker über das Internet austauschen.
Danach richten wir den Mosquitto-Broker auf unserem Computer ein. Dann verbinden wir den Arduino Nano ESP32 mit diesem lokalen Broker und setzen das Senden und Empfangen von Daten fort.
Sobald Sie dieses Tutorial abgeschlossen haben, können Sie sich durch das Anschauen dieser zusätzlichen Tutorials weiter umsehen.
Diese Tutorials bieten weitere Einblicke in verwandte Themen.
Verbinde Arduino Nano ESP32 mit einem Online-MQTT-Broker
In diesem Abschnitt lernen wir, wie man das Arduino Nano ESP32 mit test.mosquitto.org verbindet, einem Online-MQTT-Broker, der von Mosquitto betrieben wird. Bitte beachten Sie, dass dieser Broker ausschließlich zu Testzwecken verwendet werden sollte.
Arduino Nano ESP32-Quellcode
Der untenstehende Arduino Nano ESP32-Code führt Folgendes aus:
- Verbinde dich mit dem MQTT-Broker.
- Abonniere ein Thema.
- Veröffentliche periodisch Nachrichten auf demselben Thema, das es abonniert.
Schnelle Schritte
Um mit dem Arduino Nano ESP32 zu beginnen, folgen Sie diesen Schritten:
- Wenn Sie neu beim Arduino Nano ESP32 sind, lesen Sie das Tutorial dazu, wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Verdrahten Sie die Komponenten gemäß dem bereitgestellten Diagramm.
- Schließen Sie das Arduino Nano ESP32-Board über ein USB-Kabel an Ihren Computer an.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Öffnen Sie den Library Manager, indem Sie auf das Library Manager-Symbol in der linken Navigationsleiste der Arduino IDE klicken.
- Geben Sie MQTT in das Suchfeld ein, und suchen Sie dann nach der MQTT-Bibliothek von Joel Gaehwiler.
- Klicken Sie auf die Install-Schaltfläche, um die MQTT-Bibliothek zu installieren.

- Tippen Sie Arduino Nano ESP32Json in das Suchfeld ein, und suchen Sie dann nach der Arduino Nano ESP32Json-Bibliothek von Benoit Blanchon.
- Klicken Sie auf die Schaltfläche Installieren, um die Arduino Nano ESP32Json-Bibliothek zu installieren.

- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
- Ersetzen Sie die WiFi-Informationen (SSID und Passwort) im Code durch Ihre eigenen.
- Im Code sehen Sie dreimal das Wort 'YOUR-NAME'. Ersetzen Sie dieses Wort durch Ihren Namen oder zufällige Zeichen (nur Buchstaben, keine Leerzeichen). Dies ist notwendig, weil sonst mehrere Personen denselben Code gleichzeitig ausführen könnten, was zu Konflikten führen könnte, da die MQTT-Client-IDs und Topics für alle gleich sind.
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino Nano ESP32 hochzuladen.
- Öffnen Sie den seriellen Monitor.
- Sehen Sie das Ergebnis im seriellen Monitor.
Wie Sie sehen, veröffentlicht der Arduino Nano ESP32 Nachrichten an den MQTT-Broker und erhält anschließend dieselbe Nachricht zurück. Das liegt daran, dass der obige Code dasselbe Topic abonniert, auf das er Daten veröffentlicht. Wenn Sie nicht möchten, dass der Arduino Nano ESP32 die von ihm veröffentlichten Nachrichten empfängt, setzen Sie einfach das abonnierte Topic (SUBSCRIBE) so, dass es sich vom veröffentlichten Topic (PUBLISH) unterscheidet.
Verbinden Sie den Arduino Nano ESP32 mit dem MQTT-Broker, der auf Ihrem PC installiert ist
Mosquitto MQTT-Broker installieren
- Laden Sie den Mosquitto MQTT-Broker herunter.
- Installieren Sie ihn auf dem Laufwerk D: statt auf dem Laufwerk C:. Vermeiden Sie es, den Mosquitto-Broker auf dem Laufwerk C: zu installieren, um mögliche Probleme zu verhindern.
Mosquitto MQTT-Broker starten
Lassen Sie uns nun prüfen, ob der MQTT-Broker ordnungsgemäß funktioniert, indem Sie diese Schritte befolgen:
- Gehe in das Verzeichnis, in dem Mosquitto installiert wurde. Zum Beispiel: D:\mosquitto>
- Erstelle eine neue Datei mit dem Namen test.conf, kopiere den untenstehenden Inhalt und speichere sie in diesem Verzeichnis:
- Öffnen Sie die Eingabeaufforderung als Administrator auf Ihrem PC. Nennen wir es Broker Window. Schließen Sie es nicht bis zum Ende des Tutorials.

- Führe die untenstehenden Befehle nacheinander aus:
- Sie werden sehen:
- Öffnen Sie eine weitere Eingabeaufforderung als Administrator auf Ihrem PC.
- Finden Sie die IP-Adresse Ihres PCs, indem Sie den untenstehenden Befehl ausführen:
- Notieren Sie die IP-Adresse für späteren Gebrauch. Im obigen Beispiel: 192.168.0.5
Prüfe, ob der Mosquitto-Broker funktioniert
- Öffnen Sie eine weitere Eingabeaufforderung als Administrator auf Ihrem PC. Wir nennen sie Abonnentenfenster.
- Abonnieren Sie ein Thema, indem Sie die untenstehenden Befehle der Reihe nach ausführen (ersetzen Sie sie durch Ihre IP-Adresse):
- Öffnen Sie eine weitere Eingabeaufforderung als Administrator auf Ihrem PC. Nennen wir sie Publisher Window.
- Veröffentlichen Sie eine Nachricht zum gleichen Thema, indem Sie die untenstehenden Befehle der Reihe nach ausführen (ersetzen Sie sie durch Ihre IP-Adresse):
- Sie werden sehen:
Sie werden sehen, dass diese Nachricht an das Abonnentenfenster weitergeleitet wird, wie folgt:
Sie haben nun erfolgreich den Mosquitto MQTT-Broker auf Ihrem PC installiert. Bitte schließen Sie auf KEINEN FALL drei Fenster: Brokerfenster, Abonnentfenster und Publisherfenster. Wir werden sie als Nächstes verwenden.
Arduino Nano ESP32-Code
Der untenstehende Arduino Nano ESP32-Code führt Folgendes aus:
- Mit dem MQTT-Broker verbinden
- Ein Thema abonnieren
- Periodisch Nachrichten an ein anderes Thema veröffentlichen
Schnelle Schritte
Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:
- Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Nano ESP32 in der Arduino IDE wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Verbinden Sie die Bauteile gemäß dem bereitgestellten Diagramm.
- Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
- Ersetzen Sie die WiFi-Informationen (SSID und Passwort) im Code durch Ihre eigenen.
- Ersetzen Sie die Adresse des MQTT-Brokers im Code (Domainname oder IP-Adresse).
- Klicken Sie im Arduino IDE auf die Upload-Schaltfläche, um den Code auf das Arduino Nano ESP32 hochzuladen.
Nachricht vom Arduino Nano ESP32 an den PC über MQTT senden
Der Arduino Nano ESP32-Code veröffentlicht Daten zum MQTT-Thema esp32-001/send. Abonnentenfenster auf dem PC abonniert dieses Thema, um die Daten zu empfangen.
- Öffnen Sie den seriellen Monitor. Sie werden sehen, dass der Arduino Nano ESP32 periodisch eine Nachricht zu einem Thema veröffentlicht.
- Überprüfen Sie das Subscriber Window, Sie werden sehen, dass es die vom Arduino Nano ESP32 veröffentlichte Nachricht empfängt, wie unten dargestellt:
Nachricht vom PC an Arduino Nano ESP32 über MQTT senden
Arduino Nano ESP32 abonniert das Thema esp32-001/receive. Publisher-Fenster auf dem PC sendet eine Nachricht an dieses Thema, um sie an den Arduino Nano ESP32 zu senden.
- Veröffentlichen Sie eine Nachricht zu dem Thema, das vom Arduino Nano ESP32 abonniert wurde, indem Sie den folgenden Befehl im Publisher-Fenster ausführen:
- Sie werden sehen, dass diese Nachricht vom Arduino Nano ESP32 im seriellen Monitor wie unten empfangen wird:
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.