Table des matières
Tp ESP32 Tasmota MQTT Node red
Diffusion Plan reseaux Castellab Tasmota MQTT node red
Plan reel reseaux Castellab Tasmota MQTT node red avec MDP
Installation RaspberryOS Lite 32bits
Récuperer l'@IP de l'ESP32 via Node-red
Heure de l'esp32 dans Node-red
Date et heure du Raspberry dans Node red
Installer un serveur MQTT sur un RaspberryPI
Acceder à votre raspberry depuis internet
Changer l'image du fond d'ecran du Dashboard de Node-red
Stockage des données contextuelles dans le système de fichiers
Notifications sur telephone via l'application ntfy ( open source )
Materiels utilisés
- 1 ESP32 avec son cordon
- 1 PC Fixe ou portable
- 1 Led
- 1 Bredboard
- Des cables Dupont
- 1 Bouton poussoir ou interrupteur
- 1 DHT11
- 1 serveur MQTT fonctionnel – Serveur MQTT de test =⇒ fablab37110.ddns.net:1883
installer un serveur Node-Red sur un Raspberry
- Plusieurs serveurs Node Red fonctionnel
Nouveau serveur de test NodeRed pour l année 2023-2024 : ( @IP externe :90.35.37.195)
- fablab37110.ddns.net:1881 Pour Xavier
- fablab37110.ddns.net:1884 Pour Serge
- fablab37110.ddns.net:1885 Pour Christian
- fablab37110.ddns.net:1886 Pour Philippe
- fablab37110.ddns.net:1887 Pour Fernand
- fablab37110.ddns.net:1888 Pour Patrick
- fablab37110.ddns.net:1889 Pour Jean-Luc
- fablab37110.ddns.net:1891 Pour Jean-Luc Test
- fablab37110.ddns.net:1892 Pour Thierry ( cours - demo )
- fablab37110.ddns.net:1893 Pour …..
- fablab37110.ddns.net:1894 Pour …..
—————————————————————————————————————-
Ancien serveurs NodeRed utilisé en 2022/2023 (faite une copie sur les nouveaux serveurs 2023/2024 et prevoir la reinstallation des noeuds supplementaires utilises… )
- castellab.ddnsfree.com:1881 Pour Xavier
- castellab.ddnsfree.com:1882 Pour Serge
- castellab.ddnsfree.com:1884 Pour ……
- castellab.ddnsfree.com:1885 Pour Christian
- castellab.ddnsfree.com:1886 Pour ……
- castellab.ddnsfree.com:1887 Pour Fernand
- castellab.ddnsfree.com:1888 Pour Patrick
- castellab.ddnsfree.com:1889 Pour Jean-Luc
- castellab.ddnsfree.com:1890 Pour ……
- castellab.ddnsfree.com:1891 Pour ……
- castellab.ddnsfree.com:1892 Pour Thierry backup
- castellab.ddnsfree.com:1893 Pour ……
- castellab.ddnsfree.com:1894 Pour Philippe
- castellab.ddnsfree.com:1895 Pour Gerard Test
- Si mot de passe demandé ⇒ le meme mdp que pc fablab et utilisateur = “admin”
Sauvegarde configuration Node-red
Supprimer un Flow dans node-red
Schema de raccordement
Exercise 1 :
Etapes
– Raccorder l ESP32 au PC sur un port USB
– Telecharger le binaire Tasmota avec Web Installer en utilisant Chrome ou Chromium
– Choisir le port COM pour se connecter à l 'ESP32
– Sur l'ESP32 appuyer plusieurs secondes sur le bouton “Boot” et en même temps cliquer sur “Install” pour telecharger le firmware Tasmota sur l 'ESP32
– Configurer le wifi , Indiquer le SSID et le mot de passe de votre box
– Connecter vous via le navigateur web Chrome ou Chromium, à l'adresse @192.168.xxx.xxx de votre tasmota
(si vous ne connaissez pas @IP de votre tasmota : Vous pouvez utiliser l' interface de votre box ou le logiciel nmap)
– Une fenetre comme ci-dessous s'ouvrira
– Menu Configuration
– Configurer le serveur MQTT , Exemple : “fablab37110.ddns.net” le port par defaut est 1883
– configurer les modules :
- - GPIO39 =⇒ bouton =⇒ index 1 ( ceci est un exemple on peut configurer d'autres GPIO conrespondant à votre ESP32 )
- - GPIO21 =⇒ relais =⇒ index 1 ( ceci est un exemple on peut configurer d'autres GPIO conrespondant à votre ESP32 )
– Ouvrir la console de tasmota ( revenir au premier ecran) est entrer les commandes :
- SetOption146 1 + Entrée( validation de l'envoi de la temperature de l'ESP32) et
- teleperiod 5 + Entrée ( definit la periode d'envoi des informations vers MQTT ici tous les 10 s),
- SetOption65 1 pour eviter de reinitialiser la configuration sur defaut d'alimentation,
- SetOption1 1 pour defaut reset intempestif sur appui bouton.
–revenir au premier ecran
– Copier les topic de l'esp32 “stat/tasmota_6B2128/POWER” ( A partir de la console) pour l'etat ON/OFF du bouton ( à sauvegarder dans un fichier texte provisoire) Le code 6B2128 depend de l'ESP32, il est différent à chaque ESP32 , reprend une partie de l'adresse MAC de l'ESP32
– Et copier le topic “tele/tasmota_6B2128/SENSOR” pour recuperer la temperature de l'ESP32 Idem le sauvegarder
– Vous pouvez copier d'autres topic pour les inserer dans Node red si besoin
– Vous connecter au serveur Node red ( Au serveur qui vous est destiné pour les tests : fablab37110.ddns.net:18XX )
– allez ouvrir une page web comme celle-ci :
– Vous inserer un noeud en le faisant glisser sur la partie centrale. le premier noeud est MQTT IN dans la colonne de gauche section “Network”
– Inserer le noeud “Debug” section “Common” pour visualiser les informations venant de votre ESP32 via MQTT
– Il vous faut parametrer le noeud MQTT IN avec l'adresse du serveur MQTT utilisé par votre Tasmota de l'ESP32 et le topic ( sujet) que vous voulez utiliser
- serveur MQTT =⇒ “fablab37110.ddns.net port par defaut 1883 ( Le crayon pour changer @MQTT)
- Topic à inserer pour le bouton “stat/tasmota_6B2128/POWER”
Cliquer sur le bouton “Update” et ensuite bouton “Done” et ensuite le bouton “Deploy” pour valider ( en haut à droite )
Cliquez sur le petit crayon pour avoir cette fenettre et inserer uniquement l'URL de MQTT , le port etant par defaut 1883
Si les ronds bleu on disparu et aucun triangle orange , c'est qu'il n'y pas d'erreurs et si vous avez l'info ” Connected “ en dessous du noeud MQTT IN , indique que Node red à bien trouver le serveur MQTT
Si vous voulez utiliser un autre topic par exemple la temperature , il faut utiliser un autre noeud MQTT IN
Si vous appuyer 1 fois sur le bouton ( dans la fenetre Tasmota “Toggle” ) , vous devez voir l'information “ON” dans la fenetre node-red “Debug”
Si vous appuyer 1 autre fois sur le bouton , vous devez voir l'information “OFF” dans la fenetre “Debug”
Visualiser la Led de lESP32 sur Node Red
- 1-Inserer 2 nodes supplementaires :
node-red-dashboard , il permet d'avoir un tableau de bord pour visualiser et piloter notre ESP32
et node-red-contrib-ui-led , permet d'afficher la valeur de la LED Eteinte = vert, Allumée = Rouge
- 2- Configurer le node de la Led pour l'affichage
- 3- Configurer le node MQTT out et un node switch pour piloter la LED via Node Red
——————————————————————————————————————————————————————————————————
- 1- Inserer les nodes supplementaires ( Cliquez sur le menu en haut à droite à coté de l'icone “Deploy” )
- 2- Cliquez sur “Manage Palette” et ensuite l'onglet “Install” taper dans la zone de recherche “dashboard” et cliquez sur “install” à la ligne “node-red-dashboard ”
- 3- Faire la même chose avec le node ” node-red-contrib-ui-led “
- 4 - Vous devriez avoir dans la colonne de gauche un menu supplementaire avec le dashboard avec ses nodes correspondants ainsi que le node “LED”
- 5- Inserez le node “LED” et relié le au node “MQTT in” parametré précédement
- 6- On paramettre le node “LED” : Le groupe ( petit crayon) , Le Label ( Nom), La position , La forme(Cercle ou carré), le msg.payload mode String ( ON / OFF), la couleur ( Rouge = Allumée , Blanc = Eteinte )
- 7- On paramettre le groupe ( Name) et le nom du dashboard ( Tab) en cliquant sur le petit crayon et ensuite on clique sur “Update” et ensuite “Done” et on n'oublie pas de faire “Deploy” ( Enregistrer)
- 8- En ouvrant une nouvelle fenetre pour afficher le Dashboard @iPNodered/ui ( exemple : http://192.168.1.44:1880/ui/) on affiche le tableau de bord avec la LED qui s'allume ou s'eteint suivant l'etat du bouton de l'ESP32
Allumé
Eteint
Piloter la LED de ESP32 et du Dasboard via Node Red
- 1- Inserez 2 nodes : “MQTT out” ( Network ) et “Switch” ( Dashboard) et relié les ensembles ( Sortie Switch sur entree MQTTout)
- 2- Parametrer le node “MQTT out” : server (exemple) = fablab37110.ddns.net:1883 ; Topic = cmnd/tasmota_6B2128/POWER1 (cmnd = abreviation pour envoyer des infos à tasmota; tasmota_6B2128 = reference materiel du tasmota esp32 utilisé; /POWER = Bouton ou switch de tasmota; 1 = index 1 de Tasmota )
Cliquez sur le petit crayon ( ligne server) pour avoir cette fenettre et inserer uniquement l'URL de MQTT (pour exemple fablab37110.ddns.net) , le port etant par defaut 1883
- 3- Parametrer le node “Switch” : le groupe ( ICI test001) , la taille ( Size), Le label( Nom) , On Payload = ON , Off Payload = OFF, Topic = msg.topic ) Cliquer sur “Done” et “Deploy”
- 4- On devrait visualiser “connected” sous le node MQTT out
- 5- On affiche le dashboard ( voir rubrique précedente); En actionnant le “Switch” sur NodeRed on eteint ou allume la LED , et de même avec le bouton de l'ESP32
Allumé
Eteinte
Exercice 2 :
- Essayer de parametrer le Dashboard avec la temperature de l'ESP32 qui s'affiche sur une Gauge et ensuite sur un graphique ( Il faudra utiliser un node “Function” pour obtenir la valeur de la temperature
- exemple.json
var Temp = msg.payload.ESP32.Temperature; msg.payload = Temp; return msg;
Pour avoir cela :
La correction
Statistiques
Cet page a été consultée : Aujourd'hui: 1 Hier: 1 Jusqu'à maintenant: 45