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 la 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 normal.
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 repose sur le concept de la programmation par flux de données. Au lieu de saisir des instructions de programmation dans un éditeur de texte, vous travaillez avec un éditeur de flux visuel servant d'environnement graphique. Vous y créez un réseau composé de petits blocs contenant du code prêt à l'emploi, appelés « nœuds » (nodes), d'où le nom de l'outil.
Pour la plupart des cas d'utilisation, du matériel et des services, vous pouvez recourir à des modules de nœuds prêts à l'emploi. Un ensemble de base est à votre disposition après l'installation dans la palette de nœuds située à gauche de l'éditeur de flux. Si vous souhaitez utiliser un nœud, il suffit de le faire glisser avec la souris depuis la colonne de gauche vers la zone de travail. D'autres nœuds peuvent être récupérés depuis le référentiel de paquets dans ta bibliothèque personnelle, puis insérés à partir de là. Ces nœuds prêts à l'emploi sont fournis par une base d'utilisateurs en pleine expansion. En contrepartie, il est possible de partager ses propres modules avec la communauté.
La connexion des nœuds permet de créer une ligne suivant le principe d'entrée, de traitement et de sortie. Le flux de données s'effectue de gauche à droite. Des messages sont transmis entre les nœuds pour acheminer les informations. À cet effet, un nœud dispose d'au moins une entrée et d'une ou plusieurs sorties. Les nœuds « Inject » permettent de générer ses propres données. Le nœud « Notification » déclenche une alerte utilisateur sous la forme d'une notification contextuelle.
Les nœuds peuvent traiter, modifier et convertir les informations reçues. La fenêtre des propriétés affiche les options de configuration individuelles d'un nœud. Un système d'aide intégré fournit des informations sur le fonctionnement de chaque nœud. Les utilisateurs expérimentés utilisent le nœud Function pour y insérer 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/.