Manipulation Node_Red
TP : Affichage Température/Humidité simulées avec ESP32 +
MQTT + Node-RED Dashboard
Objectif du TP
L’objectif de ce travail pratique est de :
Connecter une carte ESP32 à Internet via Wi-Fi
Envoyer des données simulées (température et humidité) via le
protocole MQTT
Utiliser un broker cloud (hivemq Cloud)
Récupérer ces données dans Node-RED
Afficher les mesures sur un tableau de bord graphique (Dashboard)
Matériel nécessaire
Équipement Description
ESP32 Wireless Stick Lite Carte Wi-Fi utilisée pour publier les
V2 données
Ordinateur Avec Arduino IDE + Node-RED installé
Connexion Wi-Fi Accès Internet obligatoire
Compte HiveMQ Cloud Broker MQTT en ligne
Partie 1 : Création du Broker MQTT HiveMQ Cloud
1. Création d’un cluster
1. Aller sur : [Link]
2. Créer un compte gratuit
3. Créer un cluster MQTT
2. Récupération des paramètres de connexion
Dans l’onglet Connection Details, noter :
Hostname :
[Link]
Port TLS :
8883
3. Création des identifiants MQTT
Dans Access Management → Authentication → Add Credentials :
Username : testa
Password : Test@123
Partie 2 : Code Arduino ESP32 (Publication MQTT)
Principe du programme
L’ESP32 :
1. Se connecte au Wi-Fi
2. Se connecte au broker hivemq en MQTT sécurisé (TLS)
3. Génère des valeurs aléatoires
4. Publie les données sur deux topics MQTT :
Topic Donnée
esp32/dht/temperature Température simulée
esp32/dht/humidity Humidité simulée
Installation node-red
1 Définition
Node-RED est une plateforme de développement visuel basée sur les
flux.
Elle permet de connecter :
APIs
Services Cloud
Bases de données
Protocoles IoT
Objets connectés
2 Caractéristiques principales
Interface graphique Web
Programmation par blocs
Extensible par modules
Intégration native MQTT
Création de Dashboard
3 Principe de fonctionnement
Node-RED fonctionne avec :
Nodes (blocs)
Flows (enchaînement de blocs)
Messages (msg)
Chaque message contient :
[Link]
[Link]
4 Installation de Node-RED
1. Installer [Link]
Liens d’installation : [Link]
2. Ouvrir l’invite de commande
3. Installer Node-RED, lancer la commande suivante :
npm install -g --unsafe-perm node-red
4. Lancer Node-RED :
node-red
5 Accès à l’interface
Dans le navigateur :
[Link]
6 Installation du Dashboard
Dans Node-RED :
Menu ☰ → Manage Palette → Install
Installer :
node-red-dashboard
Redémarrer Node-RED.
Broker MQTT HiveMq
Étape 1 : Création du compte
Aller sur :
[Link]
Créer un cluster MQTT.
1
4
7 : enregistrer votre propre
lien et port
*********
8 : cliquer sur manage cluster
Sur accès management crée un user avec le nom de votre choix et un mot
de passe
Cliquer sur add credentials
Saisi le nom, mot de passe,
confirmation et permission : Publish
and Subscribe
Arduino : Installation des bibliothèques
Code Arduino complet
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <PubSubClient.h>
// ===== WIFI =====
const char* WIFI_SSID = "*********";
const char* WIFI_PASS = "***********";
// ===== HiveMQ Cloud =====
const char* MQTT_HOST = "[Link]";
const int MQTT_PORT = 8883;
const char* MQTT_USER = "testa";
const char* MQTT_PASS = "Test@123";
// Topics MQTT
const char* TOPIC_TEMP = "esp32/dht/temperature";
const char* TOPIC_HUM = "esp32/dht/humidity";
WiFiClientSecure tlsClient;
PubSubClient mqtt(tlsClient);
// Temps d’envoi
unsigned long lastPub = 0;
const unsigned long interval = 5000;
Connexion Wi-Fi
void connectWiFi() {
[Link](WIFI_SSID, WIFI_PASS);
while ([Link]() != WL_CONNECTED) {
delay(500);
}
}
➡️Cette fonction connecte l’ESP32 au réseau Wi-Fi.
Connexion MQTT HiveMQ
void connectMQTT() {
[Link](); // désactive la vérification TLS
(test)
while (![Link]()) {
[Link]("ESP32Client", MQTT_USER, MQTT_PASS);
}
}
➡️ L’ESP32 se connecte au broker HiveMQ avec identifiant et mot de
passe.
Génération de valeurs aléatoires
float temp = random(180, 350) / 10.0;
float hum = random(300, 800) / 10.0;
➡️ Simule une température entre 18°C et 35°C
➡️Simule une humidité entre 30% et 80%
Publication MQTT
[Link](TOPIC_TEMP, String(temp).c_str(), true);
[Link](TOPIC_HUM, String(hum).c_str(), true);
➡️Envoie les données vers Node-RED via MQTT.
Partie 3 : Node-RED (Réception + Dashboard)
1. Ajouter les nodes MQTT IN
Dans Node-RED :
ajouter deux nodes mqtt in
Température
Topic :
esp32/dht/temperature
Humidité
Topic :
esp32/dht/humidity
2. Configuration du broker HiveMQ
Dans MQTT Broker :
Server : [Link]
Port : 8883
TLS : activé ✅
Username : testa
Password : Test@123
Zone de travail
Glisser vos
composant ici
1
Cliquer sur mqtt
la palette
suivante
apparait a droit
2 3
[Link] :
esp3/dht/temprature
2. Cliquer sur (+)
A partir de HiveMQ vous pouvez récupérer votre propre information
HiveMQ
NodeRed
4
5
Faire les mêmes étapes pour le deuxième mqtt pour l’humidité en
changeant le sujet :
Sujet : esp3/dht/humidity
Sur palette a
gauche :
sélectionner gauge
et chart puis glisser
Cliquer sur
gauge
1
2
3
4
Refaire la même chose pour gauge humidité.
Finalement déployer votre flux, ensuite taper dans votre navigateur
[Link]:1880/ui.