Arduino UNO R4 - MQTT
Dans ce tutoriel, nous apprendrons comment utiliser l'Arduino UNO R4 pour envoyer et recevoir des données à un broker MQTT en utilisant le protocole MQTT. Nous couvrirons les détails suivants :
- Comment connecter Arduino UNO R4 à un broker MQTT
- Comment programmer l'Arduino UNO R4 pour envoyer des données à un broker MQTT en publiant sur un sujet MQTT
- Comment programmer l'Arduino UNO R4 pour recevoir des données en s'abonnant à un sujet MQTT

Nous examinerons deux exemples variés :
- Utiliser un Arduino UNO R4 avec un broker MQTT sur Internet.
- Utiliser un Arduino UNO R4 avec le broker MQTT installé sur votre ordinateur.
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos de Arduino UNO R4 et MQTT
Nous allons apprendre à programmer un Arduino UNO R4 pour envoyer et recevoir des données via un broker MQTT (aussi appelé serveur MQTT). Le broker MQTT peut être :
- Broker MQTT sur Internet, tel que Mosquitto ou AWS IoT.
- Broker MQTT configuré sur votre ordinateur, comme Mosquitto ou HiveMQ.
- Broker MQTT fonctionnant sur votre Raspberry Pi, par exemple Mosquitto.
- Broker MQTT dans le cloud, tel que Mosquitto ou HiveMQ sur AWS EC2.
Dans ce guide, nous commencerons par vérifier si l'Arduino UNO R4 peut se connecter à un broker Mosquitto en ligne. L'Arduino UNO R4 enverra et recevra des messages vers et depuis ce broker via Internet.
Ensuite, nous installerons le broker Mosquitto sur notre ordinateur. Après cela, nous connecterons l'Arduino UNO R4 au broker MQTT sur notre ordinateur. Nous l'utiliserons pour envoyer et recevoir des données via ce broker local.
Connecter l'Arduino UNO R4 à un broker MQTT en ligne
Dans cette section, nous verrons comment connecter l'Arduino UNO R4 à test.mosquitto.org, un service MQTT en ligne fourni par Mosquitto. N'oubliez pas que ce service est destiné uniquement à des fins de test.
Code Arduino UNO R4
Ce code Arduino UNO R4 effectue les tâches suivantes :
- Se connecter au courtier MQTT
- S'abonner à un sujet
- Envoyer régulièrement des messages sur le même sujet auquel vous vous êtes abonné
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
- Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino Uno R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
- Cliquez sur l'icône du « Gestionnaire de bibliothèque » située sur le côté gauche de l'IDE Arduino pour l'ouvrir.
- Dans la boîte de recherche, saisissez MQTT et cherchez la bibliothèque MQTT de Joel Gaehwiler.
- Cliquez sur le bouton Install pour ajouter la bibliothèque MQTT.

- Recherchez ArduinoJson dans la barre de recherche et trouvez la bibliothèque ArduinoJson de Benoit Blanchon. Ensuite, cliquez sur le bouton Install pour installer la bibliothèque.

- Copiez le code et ouvrez-le dans l'IDE Arduino.
- Modifiez les détails WiFi (SSID et mot de passe) dans le code pour les adapter à vos propres paramètres.
- Vous trouverez 'YOUR-NAME' trois fois dans le code. Remplacez-le par votre nom ou par des lettres quelconques (sans espaces). Cette modification est importante pour éviter les conflits entre plusieurs utilisateurs exécutant le même code.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur votre Arduino UNO R4.
- Ouvrez le Moniteur série.
- Vérifiez les résultats sur le Moniteur série.
L'Arduino UNO R4 envoie des messages au broker MQTT, puis reçoit le même message en retour. Cela se produit car il est configuré pour recevoir des messages sur le même sujet sur lequel il les envoie. Si vous ne souhaitez pas que l'Arduino UNO R4 reçoive ses propres messages, utilisez simplement des sujets différents pour l'envoi et la réception.
Connectez l'Arduino UNO R4 au broker MQTT installé sur votre PC
Installation du broker MQTT Mosquitto
- Téléchargez le Mosquitto MQTT Broker
- Installez-le sur le lecteur D:, pas sur le lecteur C:. Cela permet d'éviter d'éventuels problèmes.
Lancer le broker MQTT Mosquitto
Maintenant, voyons si le courtier MQTT fonctionne correctement en suivant ces étapes :
- Accédez au dossier où vous avez installé Mosquitto, par exemple D:\Draft\mosquitto. Créez un fichier nommé test.conf, collez les détails suivants dedans et enregistrez le fichier dans ce dossier.
- Ouvrez une invite de commandes en tant qu'administrateur sur votre ordinateur. Appelez-la « Broker Window ». N'oubliez pas de ne pas fermer cette fenêtre jusqu'à ce que vous ayez terminé le tutoriel.

- Exécutez les commandes suivantes séquentiellement:
- Vous remarquerez :
- Ouvrez une nouvelle invite de commandes en tant qu'administrateur sur votre ordinateur.
- Pour trouver l'adresse IP de votre ordinateur, exécutez cette commande :
- Veuillez noter l'adresse IP pour référence future. Dans l'exemple fourni : 192.168.0.11.
Tester si le broker Mosquitto fonctionne
- Ouvrez une autre invite de commandes en tant qu'administrateur sur votre ordinateur. Nous l'appellerons « Subscriber Window ».
- Pour vous abonner à un sujet, saisissez les commandes suivantes une à une, en remplaçant « votre adresse IP » par votre adresse IP réelle :
- Ouvrez une invite de commandes supplémentaire avec les droits d'administrateur sur votre ordinateur. Nommez-la Fenêtre Éditeur.
- Pour publier un message sur le même sujet, exécutez les commandes suivantes les unes après les autres (remplacez par votre adresse IP):
- Vous remarquerez :
Le message est envoyé à la Fenêtre des abonnés comme ceci :
Vous avez installé avec succès le courtier MQTT Mosquitto sur votre PC. Veuillez ne pas fermer trois fenêtres : la fenêtre du courtier, la fenêtre de l’abonné et la fenêtre de l’éditeur. Nous les utiliserons ensuite.
Code Arduino UNO R4
Le code ci-dessous est destiné à l'Arduino UNO R4 et il fait ce qui suit :
- Se connecter au broker MQTT
- S'abonner à un sujet
- Envoyer régulièrement des messages vers un autre sujet
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Modifiez les informations WiFi (SSID et mot de passe) dans le code en mettant les vôtres.
- Modifiez l'adresse du broker MQTT dans le code (soit un nom de domaine, soit une adresse IP).
- Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à votre Arduino UNO R4.
Envoyer un message depuis l'Arduino UNO R4 vers le PC via MQTT
L'Arduino UNO R4 envoie des informations au sujet MQTT nommé arduino-uno-r4/send. Sur un ordinateur, la fenêtre d'abonnement s'abonne à ce sujet pour recevoir les données.
- Ouvrez le Moniteur série pour voir que l'Arduino UNO R4 envoie régulièrement un message à un sujet.
- Regardez la Fenêtre des abonnés et vous remarquerez qu'il affiche le message envoyé par l'Arduino UNO R4 comme ceci :
Envoyer un message depuis le PC vers l'Arduino UNO R4 via MQTT
L'Arduino UNO R4 est configuré pour recevoir des messages du sujet arduino-uno-r4/receive. La fenêtre Publisher sur le PC envoie des messages à ce sujet pour communiquer avec l'Arduino UNO R4.
- Envoyez un message au sujet auquel l'Arduino UNO R4 est abonné en utilisant cette commande dans la fenêtre Publisher :
- Vous remarquerez que l'Arduino UNO R4 reçoit ce message, comme affiché sur le Moniteur Série :