Accueil / Objets Connectés / Node-RED / Node-RED : installer, désinstaller facilement des modules

Node-RED : installer, désinstaller facilement des modules

Il existe un très grand nombre de modules (Nodes) et de Flows pour Node-RED disponibles sur la librairie en ligne http://flows.nodered.org/. Il est très facile de gérer les modules installés sur directement depuis le navigateur internet sans passer par les lignes de commandes. Le gestionnaire de palette permet d’activer ou désactiver les Nodes inclus dans chaque module, d’installer ou désinstaller des modules sans même devoir quitter Node-RED.

Trouver des modules (Nodes) ou des flows

Tous les modules (Nodes) et flows (morceaux de code) sont référencés dans la librairie officielle de Node-RED à cette page https://flows.nodered.org/

node-red librarie flows nodes

Vous pouvez filtrer les Flows ou les Nodes séparément et combiner à une recherche par mot clé.

Installer un flow

Les flows peuvent être partagés par tout le monde (sans contrôle) dans la librairie Node-RED. Il devez posséder un compte GitHub pour pouvoir partager vos flows. Un flow est une fonction qui permet de réaliser une fonction. Voici quelques exemples

Une fois que vous avez trouvé ce dont vous aviez besoin, allez sur la page du flow et sélectionnez le code de celui-ci (il passe en bleu), copiez le

selection flow node-red

Allez à Node-RED. Dans le menu, choisissez Import puis Clipboard

node-red flow past coller clipboard

Dans la boite de dialogue Import nodes, collez le code. On peut créer un nouveau node dans le flow courant (current flow) ou en créer un nouveau (new flow). Terminez par Import.

node-red-flow-past-coller-clipboard

Le Node ajouté, il ne reste plus qu’à l’utiliser dans un Flow.

ode-red flow importé

Installer et désinstaller des modules en ligne de commande

Avant de regarder comment installer des modules depuis l’interface WEB, il peut s’avérer utile de passer par le Terminal pour gérer les plugins. En effet, il est possible d’installer et d’activer les nodes proposés par les plugins depuis l’interface WEB mais il n’est pas possible de désinstaller un plugin déjà utilisé par un Flow.

Il n’est pas nécessaire d’arrêter Node-RED pour installer un nouveau modules mais pour qu’il soit pris en compte, il faudra de toute façon redémarrer, donc autant bien faire les choses. On commence donc par arrêter avec cette commande (inutile de se placer dans le répertoire de Node).

node-red-stop

Node-RED utilise Node.js pour fonctionner. Les modules sont gérés par npm. L’installation d’un plugin se fera donc toujours par une commande de ce type.

sudo npm install node-red-contrib-NOM_DU_MODULE

Il est préférable de se placer dans le répertoire de Node

cd ~/.node-red

Installons par exemple le module node-red-dashbord (le successeur du module node-red-contrib-ui) qui permet d’ajouter une interface graphique à un projet Node-RED.

http://flows.nodered.org/node/node-red-dashboard

node-red-dashboard-ui-module

On lance l’installation du module avec la commande suivante

sudo npm install node-red-dashboard

A la fin de l’installation, npm renvoie un rapport des dépendances installées.

91-node-red-dashboard-installe

Relancez

sudo node-red-start

Et actualisez l’affichage du navigateur. La nouvelle palette dashboard est sont maintenant disponible.

node-red-palette-dashboard-module-installe

Désinstallation manuelle d’un module

Pour désinstaller un module, on utilisera la commande

npm uninstall NOM_MODULE

Toutefois, il n’est pas possible de désinstaller un module en cours d’utilisation. Il faudra donc effacer tous les Nodes du plugin concernés avant de pouvoir le désinstaller. Ca peut rapidement être problématique pour certains modules qui ajoutent des éléments. Par exemple le plugin contrib-ui (remplacé par Dashboard) créé des ui_tab qu’il faudra supprimer manuellement avant de pouvoir retirer le module.

Ensuite, exécutez la commande

npm uninstall node-red-dashboard

Installer, désactiver, désinstaller, des modules depuis le gestionnaire de palette

Depuis l’interface WEB, ouvrez le menu et sélectionnez Manage Palette.

node-red manage palette

Le gestionnaire s’ouvre à gauche de l’écran à la place des palettes. Il se compose de deux onglets. Dans l’onglet Nodes se trouvent tous les modules installés. On peut désactiver tous les Nodes en une seule fois en appuyant sur disable all. Le bouton remove permet de désinstaller le module. Attention, le bouton reste grisé tant que des Nodes du module sont en cours d’utilisation. Après avoir retiré tous les Nodes du flow, pensez à deployer de nouveau pour libérer les Nodes.

node-red dashboard ui module

En dépliant un Node, il est possible d’activer ou de désactiver chaque Node proposé par chaque module. Ca permet d’alléger un peu la palette.

node-red-manage-palette-disable-nodes
L’onglet Install permet de rechercher dans la librairie Node-RED des modules par mot clé. Un exemple avec le mot clé dashboard. Un clique sur install démarre l’installation et l’activation du module. Il est toutefois nécessaire d’actualiser l’affichage du navigateur manuellement pour que la nouvelle palette fasse son apparition.

node-red-install-module-search

D’autres articles pour aller plus loin avec Node-RED