Node-RED est une plateforme de développement visuel qui permet de créer facilement des applications IoT en connectant des appareils, des services et des API via un système de flux (flow-based). Grâce à son interface graphique intuitive, Node-RED est particulièrement adapté aux utilisateurs, aux développeurs et aux ingénieurs qui souhaitent créer des applications IoT sans avoir à écrire de code complexe. Dans cet article, nous allons explorer comment utiliser Node-RED pour développer des applications IoT.
Qu’est-ce que Node-RED ?
Node-RED est un environnement de programmation open source basé sur le flux, développé par IBM, qui permet de connecter des appareils, des services en ligne et des API pour réaliser des applications IoT, des systèmes de surveillance et d’automatisation. Il utilise une interface graphique pour « brancher » des blocs de fonction appelés nœuds, qui sont reliés entre eux pour constituer un flux de données.
Caractéristiques principales de Node-RED :
- Interface graphique : Utilisation de nœuds pour créer des applications de manière visuelle.
- Modularité : Plus de 2000 nœuds disponibles pour intégrer divers services et protocoles.
- Support de multiples protocoles IoT : MQTT, HTTP, WebSocket, CoAP, LoRaWAN, etc.
- Facilité d’intégration : Permet de connecter des capteurs, des bases de données, des services cloud et des systèmes tiers.
- Extensibilité : Vous pouvez ajouter vos propres nœuds ou utiliser ceux créés par la communauté.
Étapes pour utiliser Node-RED dans un projet IoT
1. Installation de Node-RED
Node-RED peut être installé sur divers dispositifs, notamment des ordinateurs, des serveurs ou des plateformes comme Raspberry Pi, ce qui le rend très populaire pour les projets IoT. Voici comment installer Node-RED :
Sur un Raspberry Pi (ou un autre appareil Linux) :
- Mettez à jour votre système :bashCopierModifier
sudo apt-get update sudo apt-get upgrade - Installez Node-RED :bashCopierModifier
bash <(curl -sL https://nodered.org/install.sh) - Lancez Node-RED :bashCopierModifier
node-red-start
Sur un ordinateur Windows ou macOS :
Vous pouvez installer Node-RED via npm (Node Package Manager). Pour cela, vous devez installer Node.js sur votre machine.
- Installez Node.js à partir de nodejs.org.
- Installez Node-RED via npm :bashCopierModifier
npm install -g --unsafe-perm node-red - Lancez Node-RED :bashCopierModifier
node-red
Après l’installation, vous pouvez accéder à l’interface de Node-RED via votre navigateur à l’adresse suivante : http://localhost:1880.
2. Comprendre l’interface de Node-RED
Une fois que vous avez ouvert l’interface de Node-RED dans votre navigateur, vous serez accueilli par un tableau de bord avec trois parties principales :
- Palette de nœuds : C’est ici que vous trouverez tous les nœuds disponibles que vous pouvez ajouter à votre flux. Ils sont classés par type : entrée, sortie, fonction, réseau, etc.
- Zone de travail : C’est l’espace où vous créez et organisez vos flux en connectant les nœuds entre eux.
- Propriétés du nœud : Lorsque vous sélectionnez un nœud, une barre latérale s’affiche pour vous permettre de configurer ses paramètres (par exemple, le type de capteur, l’adresse d’un serveur, etc.).
3. Créer un flux IoT de base
Pour créer une application IoT avec Node-RED, vous devez connecter différents nœuds pour traiter les données collectées par des capteurs, les envoyer à un serveur, et éventuellement les afficher ou les analyser.
Exemple d’un flux IoT simple :
Supposons que vous ayez un capteur de température qui envoie des données via MQTT, et que vous souhaitez les afficher sur un tableau de bord ou les stocker dans une base de données.
- Ajouter un nœud MQTT :
- Dans la palette de nœuds, cherchez le nœud MQTT sous la section « input ».
- Faites glisser ce nœud sur le tableau de bord. Ce nœud permettra de recevoir des messages envoyés par votre capteur via MQTT.
- Configurez le nœud MQTT en fournissant l’adresse de votre broker MQTT (par exemple,
mqtt://localhostou une adresse de broker cloud).
- Ajouter un nœud de traitement des données :
- Ajoutez un nœud fonction (fonction JavaScript) pour transformer ou traiter les données du capteur.
- Par exemple, vous pouvez extraire la température des données reçues et la formater pour l’afficher.
- Ajouter un nœud de sortie (par exemple, pour un tableau de bord) :
- Ajoutez un nœud « debug » ou un nœud « ui_template » pour afficher les données sur un tableau de bord Node-RED.
- Vous pouvez également ajouter un nœud HTTP pour envoyer les données à un serveur ou à une base de données.
- Connecter les nœuds :
- Reliez les nœuds entre eux en cliquant sur les petites cases qui apparaissent à chaque extrémité des nœuds.
- Configurez chaque nœud en fonction des besoins spécifiques de votre projet.
- Déployer le flux :
- Une fois le flux créé, cliquez sur Deploy pour appliquer les modifications. Vous verrez alors les données arriver dans la sortie, que ce soit sur le tableau de bord, dans la console de débogage ou dans une base de données.
4. Intégration avec des capteurs IoT et des services externes
Node-RED peut être utilisé pour collecter des données provenant de divers types de capteurs IoT. Voici quelques exemples d’intégrations courantes :
a. Intégration avec des capteurs via MQTT
- Utilisez des nœuds MQTT pour recevoir des messages provenant de capteurs IoT connectés à un broker MQTT.
- Configurez des nœuds de traitement pour filtrer, analyser ou stocker les données.
b. Stockage des données
- Vous pouvez connecter Node-RED à des bases de données comme MongoDB, MySQL, ou InfluxDB pour stocker les données collectées par les capteurs IoT.
- Utilisez les nœuds de base de données disponibles pour effectuer des opérations de lecture et d’écriture.
c. Utilisation de services cloud
- Node-RED peut être facilement connecté à des services cloud comme IBM Watson, Google Cloud IoT, ou AWS IoT pour envoyer les données et utiliser des capacités d’analyse ou de visualisation.
- Vous pouvez intégrer des nœuds pour effectuer des requêtes HTTP REST pour envoyer ou récupérer des données via des API.
5. Exemple d’une application IoT avec Node-RED
Un exemple typique d’application IoT utilisant Node-RED pourrait être un système de surveillance de la température dans un entrepôt. Voici comment cela pourrait se dérouler :
- Capteur de température envoie des données via MQTT.
- Node-RED reçoit les données et les analyse.
- Si la température dépasse une certaine limite, un nœud de notification envoie un message d’alerte.
- Les données sont envoyées à une base de données pour le suivi à long terme.
- Les données sont également affichées sur un tableau de bord web.
6. Déployer votre application IoT
Node-RED permet de déployer facilement vos applications IoT sur des plateformes locales ou dans le cloud. Vous pouvez déployer sur un Raspberry Pi, un serveur Linux ou utiliser des services cloud pour gérer vos applications IoT à grande échelle. Vous pouvez également utiliser des plateformes comme IBM Cloud, AWS, ou Azure pour héberger et scaler vos projets Node-RED.
Conclusion
Node-RED est un outil extrêmement puissant pour développer des applications IoT de manière simple et visuelle. Grâce à sa flexibilité et à sa facilité d’intégration avec une large gamme de capteurs, services et protocoles, Node-RED est un choix populaire pour les développeurs et les ingénieurs IoT. Que vous soyez débutant ou expert, vous pouvez créer des flux IoT efficaces et scalables en quelques étapes simples, tout en exploitant des ressources puissantes comme les services cloud et les bases de données.

















