Arduino UNO R4 - MQTT
In diesem Tutorial lernen wir, wie man den Arduino UNO R4 verwendet, um Daten an einen MQTT-Broker zu senden und von ihm zu empfangen, wobei das MQTT-Protokoll verwendet wird. Wir werden die folgenden Details behandeln:
- Wie man Arduino UNO R4 mit einem MQTT-Broker verbindet.
- Wie man den Arduino UNO R4 programmiert, Daten an einen MQTT-Broker zu senden, indem er auf einem MQTT-Topic veröffentlicht.
- Wie man den Arduino UNO R4 programmiert, Daten zu empfangen, indem er sich auf ein MQTT-Topic abonniert.

Wir werden uns zwei verschiedene Beispiele ansehen:
- Arduino UNO R4 mit einem Internet-MQTT-Broker verwenden.
- Arduino UNO R4 mit dem auf Ihrem Computer installierten MQTT-Broker verwenden.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Arduino UNO R4 und MQTT
Wir werden lernen, wie man einen Arduino UNO R4 programmiert, um Daten über einen MQTT-Broker (auch als MQTT-Server bezeichnet) zu senden und zu empfangen. Der MQTT-Broker kann Folgendes sein:
- MQTT-Broker im Internet, z. B. Mosquitto oder AWS IoT.
- MQTT-Broker auf Ihrem Computer eingerichtet, wie Mosquitto oder HiveMQ.
- MQTT-Broker, der auf Ihrem Raspberry Pi läuft, z. B. Mosquitto.
- MQTT-Broker in der Cloud, z. B. Mosquitto oder HiveMQ auf AWS EC2.
In diesem Leitfaden beginnen wir damit zu prüfen, ob der Arduino UNO R4 eine Verbindung zu einem Mosquitto-Broker im Internet herstellen kann. Der Arduino UNO R4 wird Nachrichten an diesen Broker senden und von diesem Broker über das Internet empfangen.
Als Nächstes installieren wir den Mosquitto-Broker auf unserem Computer. Danach verbinden wir den Arduino UNO R4 mit dem MQTT-Broker auf unserem Computer. Wir verwenden ihn, um über diesen lokalen Broker Daten zu senden und zu empfangen.
Verbinde Arduino UNO R4 mit einem Online-MQTT-Broker
In diesem Abschnitt erfahren wir, wie man Arduino UNO R4 mit test.mosquitto.org verbindet, einem Online-MQTT-Dienst von Mosquitto. Beachte, dass dieser Dienst nur zum Testen gedacht ist.
Arduino UNO R4 Quellcode
Dieser Arduino UNO R4-Code führt die folgenden Aufgaben aus:
- Mit dem MQTT-Broker verbinden
- Auf ein Thema abonnieren
- Regelmäßig Nachrichten an dasselbe Thema senden, auf das Sie abonniert haben
Schnelle Schritte
Folgen Sie diesen Anweisungen Schritt für Schritt:
- Wenn Sie zum ersten Mal den Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial zum Einrichten der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE Einrichten der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
- Verbinden Sie das Arduino Uno R4-Board über ein USB-Kabel mit Ihrem Computer.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
- Klicken Sie auf das Symbol 'Library Manager', das sich links in der Arduino IDE befindet, um es zu öffnen.
- Geben Sie im Suchfeld MQTT ein und suchen Sie nach der MQTT-Bibliothek von Joel Gaehwiler.
- Klicken Sie auf die Install-Schaltfläche, um die MQTT-Bibliothek hinzuzufügen.

- Suchen Sie im Suchfeld nach ArduinoJson und finden Sie die ArduinoJson-Bibliothek von Benoit Blanchon. Dann klicken Sie auf die Schaltfläche Installieren, um die Bibliothek zu installieren.

- Kopieren Sie den Code und öffnen Sie ihn in der Arduino-IDE.
- Ändern Sie die WiFi-Daten (SSID und Passwort) im Code auf Ihre eigenen WLAN-Zugangsdaten.
- Sie finden 'YOUR-NAME' dreimal im Code. Ersetzen Sie es durch Ihren Namen oder beliebige Buchstaben (keine Leerzeichen). Diese Änderung ist wichtig, um Konflikte durch mehrere Benutzer zu vermeiden, die denselben Code ausführen.
- Klicken Sie auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code auf Ihren Arduino UNO R4 hochzuladen.
- Öffnen Sie den Serial Monitor.
- Überprüfen Sie die Ergebnisse im Serial Monitor.
Der Arduino UNO R4 sendet Nachrichten an den MQTT-Broker und erhält dann dieselbe Nachricht zurück. Das passiert, weil es so eingestellt ist, Nachrichten vom gleichen Thema zu empfangen, zu dem es sie sendet. Wenn Sie nicht möchten, dass der Arduino UNO R4 seine eigenen Nachrichten empfängt, verwenden Sie einfach verschiedene Themen zum Senden und Empfangen.
Verbinden Sie Arduino UNO R4 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:, nicht auf dem Laufwerk C:. Dies hilft, mögliche Probleme zu vermeiden.
Mosquitto MQTT-Broker starten
Lassen Sie uns nun prüfen, ob der MQTT-Broker ordnungsgemäß funktioniert, indem wir diese Schritte ausführen:
- Navigieren Sie zu dem Ordner, in dem Sie Mosquitto installiert haben, z. B. D:\Draft\mosquitto. Erstellen Sie eine Datei namens test.conf, fügen Sie die folgenden Details hinein und speichern Sie die Datei in diesem Ordner.
- Öffnen Sie eine Eingabeaufforderung als Administrator auf Ihrem Computer. Bezeichnen Sie sie als „Broker Window“. Schließen Sie dieses Fenster erst, nachdem Sie das Tutorial beendet haben.

- Führen Sie die folgenden Befehle der Reihe nach aus:
- Du wirst feststellen:
- Öffnen Sie eine neue Eingabeaufforderung als Administrator auf Ihrem Computer.
- Um die IP-Adresse Ihres Computers zu finden, führen Sie diesen Befehl aus:
- Bitte beachten Sie die IP-Adresse zur zukünftigen Referenz. Im bereitgestellten Beispiel: 192.168.0.11.
Prüfe, ob der Mosquitto-Broker funktioniert
- Öffnen Sie eine weitere Eingabeaufforderung als Administrator auf Ihrem Computer. Wir bezeichnen sie als "Subscriber Window".
- Um ein Thema zu abonnieren, geben Sie nacheinander die folgenden Befehle ein, wobei Sie "your IP address" durch Ihre tatsächliche IP-Adresse ersetzen:
- Öffnen Sie eine zusätzliche Eingabeaufforderung mit Administratorrechten auf Ihrem Computer. Benennen Sie sie Verlegerfenster.
- Um eine Nachricht im gleichen Thema zu veröffentlichen, führen Sie die folgenden Befehle der Reihe nach aus (ersetzen Sie dabei die IP-Adresse durch Ihre eigene):
- Sie werden bemerken:
Die Nachricht wird an das Abonnentenfenster wie folgt gesendet:
Sie haben den Mosquitto MQTT-Broker erfolgreich auf Ihrem PC installiert. Bitte schließen Sie nicht drei Fenster: Broker-Fenster, Abonnenten-Fenster und Publisher-Fenster. Wir werden sie als Nächstes verwenden.
Arduino UNO R4-Quellcode
Der folgende Code ist für Arduino UNO R4 und führt Folgendes aus:
- Mit dem MQTT-Broker verbinden
- Ein Topic abonnieren
- Regelmäßig Nachrichten an ein anderes Topic senden
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
- Passen Sie die WiFi-Details (SSID und Passwort) im Code an Ihr eigenes Netzwerk an.
- Ändern Sie die MQTT-Brokeradresse im Code (entweder Domänenname oder IP-Adresse).
- Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code an Ihr Arduino UNO R4 zu senden.
Nachricht vom Arduino UNO R4 an den PC über MQTT senden
Der Arduino UNO R4 sendet Informationen an das MQTT-Thema mit dem Namen „arduino-uno-r4/send“. Auf einem Computer abonniert das Abonnentenfenster dieses Themas, um die Daten zu empfangen.
- Öffnen Sie den seriellen Monitor, um zu sehen, dass der Arduino UNO R4 regelmäßig eine Nachricht an ein Thema sendet.
- Schau dir das Abonnentenfenster an, und du wirst feststellen, dass es die vom Arduino UNO R4 gesendete Nachricht so anzeigt:
Nachricht vom PC an Arduino UNO R4 über MQTT senden
Der Arduino UNO R4 ist so eingerichtet, dass er Nachrichten vom Thema arduino-uno-r4/receive empfängt. Das Publisher-Fenster auf dem PC sendet Nachrichten an dieses Thema, um mit dem Arduino UNO R4 zu kommunizieren.
- Senden Sie eine Nachricht an das vom Arduino UNO R4 abonnierten Thema mit diesem Befehl im Publisher-Fenster:
- Sie werden feststellen, dass Arduino UNO R4 diese Nachricht empfängt, wie im Serial Monitor angezeigt 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.