Node-RED » Automatisation IoT selon le principe modulaire
Publié le : 08.09.2022 | Durée de lecture : 6 minutes
Avec Node-RED, vous regroupez harmonieusement de nombreux appareils IoT et domotique. Commander les volets roulants et les stores en fonction du soleil, de la météo et de la présence des habitants, réguler la chaleur en fonction des besoins et donner l'alerte à temps en cas de situation dangereuse : la domotique vise à accroître le confort d'habitation en automatisant les processus, à renforcer la sécurité et à améliorer l'efficacité énergétique. Pour ce faire, différents systèmes et services doivent être reliés entre eux et intégrés dans un système domotique homogène. Pour cela, il existe différentes solutions - l'une d'entre elles est Node-RED.
Le logiciel open source gratuit connecte des appareils et des services intelligents qui ne sont pas ou seulement partiellement compatibles à la base. Dans l'environnement de développement, vous créez des applications IoT complexes - sans écrire une seule ligne de code. Le principe modulaire permet de se lancer facilement. En modélisant les processus dans l'outil, vous obtenez des résultats d'automatisation complets.
Dans Node-RED, vous créez des connexions entre des appareils, des services Internet et des sources de données en réseau - même si ceux-ci ne sont pas apparentés et utilisent des protocoles différents. Le logiciel d'automatisation peut relier presque tout dans le domaine de l'IoT en créant et en exécutant des diagrammes de flux (flows). Vous ne dépendrez plus de la disponibilité d'interfaces entre les capteurs et les actionneurs des fabricants pour l'interaction.
Avec Node-RED comme plateforme pour l'Internet des objets, les différents appareils communiquent entre eux de manière uniforme. Il suffit de dire à l'outil quelle source de données vous souhaitez exploiter, ce qui doit se passer exactement et où vous souhaitez transmettre le résultat.
Exemple : Commander le climat intérieur avec Node-RED
Un flux dans Node-RED peut être par exemple :
1. relever le degré d'humidité via le capteur installé dans la salle de bains
2. surveiller la valeur correspondante
(humidité dans la salle de bains)
3. mettre en marche le ventilateur mural et le chauffage jusqu'à ce que l'air ambiant soit normalisé.
Dans Node-RED, quelques actions de glisser-déposer avec la souris suffisent. Il n'est généralement pas nécessaire d'avoir des connaissances en programmation pour générer les diagrammes de flux.
La plate-forme de connexion IoT développée à l'origine par IBM est désormais placée sous la licence libre Apache 2.0. Cela permet une utilisation gratuite dans le domaine privé et commercial.
Node-RED est basé sur le concept de programmation par flux de données. Au lieu de saisir des commandes de programmation dans un éditeur de texte, vous travaillez avec un éditeur de flux visuel comme environnement graphique. Vous y créez un réseau composé de petits blocs de code préétablis, les "nœuds" (Nodes).
Pour la plupart des cas d'application, du matériel et des services, il est possible de recourir à des modules de nœuds prédéfinis. Un ensemble de base est disponible après l'installation dans la palette des nœuds sur le côté gauche de l'éditeur de flux. Si vous voulez utiliser un nœud, il suffit de le faire glisser avec la souris de la colonne de gauche vers l'espace de travail. D'autres nœuds peuvent être collectés à partir de la mémoire des paquets dans la bibliothèque personnelle et insérés à partir de là. Les nœuds prêts à l'emploi sont fournis par une base d'utilisateurs croissante. En contrepartie, vous avez la possibilité de partager vos propres modules avec la communauté.
En reliant les nœuds, on obtient une ligne qui suit le principe d'une entrée, d'un traitement et d'une sortie. Le flux de données se fait de gauche à droite. Des messages sont transmis entre les nœuds pour la transmission d'informations. Un nœud dispose à cet effet d'au moins une entrée et d'une ou plusieurs sorties. Les nœuds d'injection permettent de créer des données propres. Le nœud de notification déclenche une alerte utilisateur sous la forme d'une notification contextuelle de type pop-up.
Les Les nœuds peuvent préparer, modifier et convertir les informations reçues. La fenêtre des propriétés indique les possibilités de réglage individuel d'un nœud. Un système d'aide intégré informe sur le fonctionnement des différents nœuds. Les utilisateurs avertis utilisent le nœud de fonction pour le remplir avec leur propre code JavaScript.
Le système Node-RED fait la distinction entre les nœuds d'entrée, les nœuds de sortie, les nœuds de traitement et les nœuds sociaux :
Les noeuds d'entrée tels que "Catch In“, "Http In“ ou "Tcp In“ récupèrent des données de capteurs, de services et d'autres sources externes. Ces informations sont intégrées dans le flux.
Les noeuds de sortie tels que "Debug“, "Http Out“ ou "Mqtt Out“ envoient des données à partir du flux vers d'autres appareils, services ou réseaux sociaux. Exemple du nœud "File" : le nœud enregistre les résultats du flux sous forme de fichier ou ajoute des informations à un fichier existant.
Les noeuds de traitement s'occupent du traitement des données. Sont souvent utilisés les noeuds "Change“, "Switch“, "Trigger“ et "Html“. Le noeud "HTTP-Request“ permet d'extraire des éléments à partir des documents HTML récupérés..
Les noeuds sociaux aident à l'envoi et à la réception d'e-mails et de message via Twitter.
Node-RED est un environnement de développement basé sur un serveur et un navigateur. Il s'appuie sur le serveur web Node.js et fonctionne en tant que service serveur sur toutes les plateformes. L'utilisation se fait dans le navigateur. Vous lancez le composant serveur soit localement sur votre ordinateur ou sur un autre PC du réseau - ou via le cloud. Une fois configuré, il suffit d'ouvrir l'éditeur de flux en saisissant l'adresse IP avec le port 1880 attaché ou via http://localhost:1880/ dans le navigateur.
D'autres possibilités d'exécution de Node-RED sont un conteneur Docker sur un stockage NAS dans le réseau local ou une installation sur le Raspberry Pi. Il est recommandé de choisir une variante indépendante de son propre ordinateur, afin que l'ordinateur de travail ne doive pas être constamment allumé pour l'exécution des flux.
Conseil : Les développeurs de Node-RED mettent à disposition des scripts et des instructions d'installation pour les plateformes courantes sur leur site web.
L'exécution sur le Raspberry Pi pour les premiers essais présente des avantages : L'installation est rapide grâce aux images préparées pour le Raspberry Pi. Grâce à son fonctionnement économe en énergie, le Raspberry Pi est également un bon choix pour l'exécution de flows Node-RED à faible consommation d'énergie.
Conseil : Après avoir configuré votre environnement de serveur Node-RED, vérifiez les paramètres de sécurité et les droits d'accès au backend.
Les flux générés par Node-RED permettent de piloter presque toutes les solutions d'automatisation domestiques et industrielles usuelles. Il suffit pour cela de connecter les fonctions API via un flux correspondant - un accès direct au matériel n'est pas nécessaire.
Cela rend la plateforme de développement intéressante pour les makers, les bricoleurs et les utilisateurs exigeants qui souhaitent réaliser une automatisation IoT adaptée.
En tant que module complémentaire, Node-RED prend en charge des applications d'automatisation populaires telles que Home-Assistant, FHEM, openHAB, Homebridge, ioBroker ou Homematic CCU3.
Un aperçu des fonctions Node-RED disponibles se trouve en ligne dans la bibliothèque du projet à l'adresse http://flows.nodered.org. Sur la page, saisissez dans le champ de recherche le nom de l'appareil, le fabricant ou un mot-clé pour lequel vous souhaitez voir des flux et des nœuds prêts à l'emploi.
Logiciel domotique – Voici comment connecter des systèmes de différents fabricants
Dès que plusieurs systèmes doivent être utilisés dans vos pièces, par exemple un pour la commande intelligente de l'éclairage et un autre pour la régulation intelligente du chauffage, la commande de la maison intelligente devient plus compliquée.
Nous avons expliqué plus en détail les différentes possibilités de mise en réseau de différents systèmes domotiques dans notre guide "Logiciel domotique".
Le tableau de bord est un module supplémentaire pour la surveillance en direct. L'interface tableau de bord (Dashboard) permet de vérifier les résultats de votre câblage visuel et de surveiller les processus de configuration IoT. Vous parvenez au tableau de bord dans le navigateur en saissant l'adresse IP et ajoutant ":1880/ui/“ ou via l'adresse http://localhost:1880/ui/.