Arduino UNO R4 - MQTT
In deze handleiding leren we hoe u de Arduino UNO R4 kunt gebruiken om gegevens te verzenden en ontvangen naar een MQTT-broker met behulp van het MQTT-protocol. We behandelen de volgende details:
- Hoe u Arduino UNO R4 verbindt met een MQTT-broker
- Hoe u Arduino UNO R4 programmeert om gegevens naar een MQTT-broker te verzenden door te publiceren naar een MQTT-topic
- Hoe u Arduino UNO R4 programmeert om gegevens te ontvangen door te abonneren op een MQTT-topic.

We bekijken twee verschillende voorbeelden:
- Arduino UNO R4 gebruiken met een internet MQTT-broker.
- Arduino UNO R4 gebruiken met de MQTT-broker geïnstalleerd op uw computer.
Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables STEM V4 IoT Starterskit (Arduino inbegrepen) | |
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over Arduino UNO R4 en MQTT
We leren hoe u een Arduino UNO R4 programmeert om gegevens te verzenden en ontvangen via een MQTT-broker (ook wel MQTT-server genoemd). Een MQTT-broker kan zijn:
- MQTT-broker op internet, zoals Mosquitto of AWS IoT.
- MQTT-broker geïnstalleerd op uw computer, zoals Mosquitto of HiveMQ.
- MQTT-broker draaiend op uw Raspberry Pi, bijvoorbeeld Mosquitto.
- MQTT-broker in de cloud, zoals Mosquitto of HiveMQ op AWS EC2.
In deze gids beginnen we met het controleren of Arduino UNO R4 verbinding kan maken met een online Mosquitto-broker. Arduino UNO R4 zal berichten verzenden en ontvangen naar en van deze broker via internet.
Vervolgens installeren we de Mosquitto-broker op onze computer. Daarna verbinden we de Arduino UNO R4 met de MQTT-broker op onze computer. We gebruiken het om gegevens te verzenden en ontvangen via deze lokale broker.
Arduino UNO R4 verbinden met een online MQTT-broker
In dit gedeelte leren we hoe u Arduino UNO R4 kunt verbinden met test.mosquitto.org, een online MQTT-service aangeboden door Mosquitto. Onthoud dat deze service alleen bedoeld is voor testen.
Arduino UNO R4 Code
Deze Arduino UNO R4-code voert de volgende taken uit:
- Verbinding maken met de MQTT-broker
- Abonneren op een topic
- Regelmatig berichten verzenden naar hetzelfde topic waarop u geabonneerd bent
Snelle Stappen
Volg deze instructies stap voor stap:
- Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de handleiding over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
- Verbind het Arduino Uno R4 board met uw computer met een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer het juiste Arduino Uno R4 board (bijv. Arduino Uno R4 WiFi) en COM-poort.
- Klik op het "Library Manager" pictogram aan de linkerkant van Arduino IDE om het te openen.
- Voer in het zoekvenster MQTT in en zoek naar de MQTT-bibliotheek van Joel Gaehwiler.
- Klik op de Install knop om de MQTT-bibliotheek toe te voegen.

- Zoek naar ArduinoJson in het zoekvenster en vind de ArduinoJson-bibliotheek van Benoit Blanchon. Klik vervolgens op de Install knop om de bibliotheek te installeren.

- Kopieer de code en open deze in de Arduino IDE.
- Verander de WiFi-gegevens (SSID en wachtwoord) in de code naar die van u.
- U vindt 'YOUR-NAME' drie keer in de code. Vervang dit door uw naam of andere letters (geen spaties). Deze wijziging is belangrijk om conflicten te voorkomen van meerdere gebruikers die dezelfde code uitvoeren.
- Klik op de Upload knop in Arduino IDE om de code naar uw Arduino UNO R4 te uploaden.
- Open de Serial Monitor.
- Controleer de resultaten in de Serial Monitor.
De Arduino UNO R4 verstuurt berichten naar de MQTT-broker en ontvangt vervolgens hetzelfde bericht terug. Dit gebeurt omdat het is ingesteld om berichten te ontvangen van hetzelfde topic waarnaartoe het ze verstuurt. Als u niet wilt dat de Arduino UNO R4 zijn eigen berichten ontvangt, gebruik dan gewoon verschillende topics voor verzenden en ontvangen.
Arduino UNO R4 verbinden met de MQTT-broker geïnstalleerd op uw PC
Mosquitto MQTT Broker installeren
- Download de Mosquitto MQTT Broker
- Installeer het op de D: schijf, niet op de C: schijf. Dit helpt mogelijke problemen te voorkomen.
Mosquitto MQTT broker uitvoeren
Laten we nu controleren of de MQTT-broker correct werkt door deze stappen te nemen:
- Navigeer naar de map waar u Mosquitto hebt geïnstalleerd, zoals D:\Draft\mosquitto. Maak een bestand genaamd test.conf, plak de volgende details erin en bewaar het bestand in deze map.
- Open een Command Prompt als Administrator op uw computer. Noem dit het "Broker Window." Zorg ervoor dat u dit venster niet sluit totdat u de handleiding hebt voltooid.

- Voer de volgende commando's achtereenvolgens uit:
- U zult het volgende zien:
- Open een nieuwe Command Prompt als Administrator op uw computer.
- Om het IP-adres van uw computer te vinden, voert u dit commando uit:
- Noteer het IP-adres voor toekomstig gebruik. In het gegeven voorbeeld: 192.168.0.11.
Testen of de Mosquitto Broker werkt
- Open nog een Command Prompt als Administrator op uw computer. We noemen dit het "Subscriber Window."
- Om te abonneren op een topic, voert u de volgende commando's een voor een in, waarbij u "uw IP-adres" vervangt door uw werkelijke IP-adres:
- Open een extra Command Prompt met Administrator-rechten op uw computer. Noem dit Publisher Window.
- Om een bericht naar hetzelfde topic te publiceren, voert u de volgende commando's een na een uit (vervang door uw IP-adres):
- U zult het volgende zien:
Het bericht wordt verzonden naar het Subscriber Window zoals dit:
U hebt met succes de Mosquitto MQTT-broker op uw PC geïnstalleerd. Sluit de drie vensters niet: Broker Window, Subscriber Window en Publisher Window. We zullen ze hierna gebruiken.
Arduino UNO R4 Code
De volgende code is voor Arduino UNO R4 en doet het volgende:
- Verbinding maken met de MQTT-broker
- Abonneren op een topic
- Regelmatig berichten verzenden naar een ander topic
Snelle Stappen
- Kopieer de bovenstaande code en open deze met Arduino IDE
- Verander de WiFi-gegevens (SSID en wachtwoord) in de code naar die van u.
- Verander het MQTT-broker adres in de code (domeinnaam of IP-adres).
- Klik op de Upload knop in Arduino IDE om de code naar uw Arduino UNO R4 te verzenden.
Bericht verzenden van Arduino UNO R4 naar PC via MQTT
De Arduino UNO R4 verstuurt informatie naar het MQTT-topic genaamd arduino-uno-r4/send. Op een computer abonneert het Subscriber Window zich op dat topic om de gegevens te ontvangen.
- Open de Serial Monitor om te zien dat de Arduino UNO R4 regelmatig een bericht naar een topic verstuurt.
- Kijk naar het Subscriber Window en u zult zien dat het het bericht toont dat door de Arduino UNO R4 is verzonden zoals dit:
Bericht verzenden van PC naar Arduino UNO R4 via MQTT
De Arduino UNO R4 is ingesteld om berichten te ontvangen van het topic arduino-uno-r4/receive. Het Publisher Window op de PC verstuurt berichten naar dit topic om te communiceren met de Arduino UNO R4.
- Verstuur een bericht naar het topic waarop Arduino UNO R4 is geabonneerd met dit commando in het Publisher Window:
- U zult zien dat Arduino UNO R4 dit bericht ontvangt, zoals getoond in de Serial Monitor:
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.