deltalabprototype.fr 1 Installation et utilisation de Node-RED Espace Maison Mi
deltalabprototype.fr 1 Installation et utilisation de Node-RED Espace Maison Milon 2 Place E.Colongin 84600 Grillon deltalabprototype.fr Qu’est-ce que DeltaLab ? DeltaLab est une association ‘loi 1901’ d’intérêt général, dont l’objectif est la création d’un espace dédié à l’innovation, à la production numérique au prototypage et à l’«expression artistique». Le principe fondateur de l’associtation est d’apprendre à faire soi-même, pour passer de l’dée à l’objet. Deltalab se spécialise en Objets Connectés, et est en train de créer un vaste «écosystème digital» entre Drôme et Vaucluse, pour répondre à des besoins non-couverts, mettre à disposition ressources et équipements pour usage professionnels et instaurer des partenariats avec les autres structures et initiatives numériques existantes. Deltalab est aussi un FabLab (Fabrication Laboratory / Laboratoire de Fabrication ), un tiers-lieu de type makerspace ou se trouve un atelier qui dispose de machines de fabrication comme des Imprimantes 3D ou des découpeuses Laser. Deltalab se veut ouvert à tous publics : étudiants, professionnels, associations, inventeurs, designers,artistes, ... Contexte de cette Documentation Node-RED est un outil permettant de programmer facilement des serveurs. Il est basé sur Node JS, et son principe de base est l’utilisation de ‘Nodes’ représentant chacune une fonctionnalité, ce qui permet de ne presque jamais avoir à coder soi-même. DeltaLab utilise Node-RED pour créer et gérer les serveurs liés aux objets connectés, par exemple pour le réseau d’antenne LoRaWAN ou pour le système centralisé de protection RFID. Node-RED est très modulable et le nombre de Nodes existantes est très important, mais chaque projet à besoin de quelques Nodes de Base communes. Cette documentation se veut comme une introduction à Node-RED, en présentant un ensemble de Nodes et fonctionnalités utiles dans un bon nombre de vos projets. deltalabprototype.fr 2 Table des matières 1. Installer node-RED ------------------------------------------------------------------------ 04 2. Présentation générale – Introdution à node-RED ----------------------------------- 05 3. Personnalisation et Sécurisation de node-RED -------------------------------------- 09 4. Ajouter des objets connectés via the things network ---------------------------- 11 5. Utiliser une Base de données 1. Influx DB ------------------------------------------------------------------------------------- 16 2. PostGreSQL ---------------------------------------------------------------------------------- 19 6. Connexion avec une world map -------------------------------------------------------- 21 7. Configurer une alerte e-mail ----------------------------------------------------------- 23 8. Configurer une alerte sms -------------------------------------------------------------- 25 9. Utiliser un Dashboard -------------------------------------------------------------------- 27 deltalabprototype.fr 3 I. Installer Node-RED Vous devrez installer node-RED sur la machine qui vous servira de serveur. Ici,une raspberry pi sur laquelle est installé l’os raspbian stretch. (note : ce tuto fonctionne avec toutes les versions de raspbian) Pour installer Node-RED, vous devrez entrer les commandes suivantes : sudo apt-get install build-essential bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/ deb/update-nodejs-and-nodered) Vous pourrez ensuite lancer Node-RED grâce à la commande : node-red-start Pour revenir sur la console, appuyez sur : ctrl+c . Pour arrêter Node-RED, utilisez la commande : node-red-stop Si vous voulez qu’à l’avenir, Node-RED se lance automatiquement au démarrage de votre raspberry pi, utilisez la commande : sudo systemctl enable nodered.service Vous pouvez accéder à l’interface de Node-RED depuis un navigateur, en entrant : http://ip-de-votre-raspberry:1880. deltalabprototype.fr 4 II. Présentation générale – Introduction à Node-RED Node-RED est un logiciel permettant de gérer des flows d’événements, des suites de traitements à effectuer suite à la réception de messages ou évenements. Il contient un certain nombre de fonctionnalités de base, mais la plupart des fonctionnalités utiles dans notre cas devront être installées par la suite. Dans Node-RED , une « fonctionnalité » est représentée sous la forme d’une node , un élement pouvant être placé dans votre flow, reliée à d’autres nodes en entrée ou en sortie. Le flow représente l’ensemble des nodes. Il n’est pas linéaire et une node reliée à aucune autre peut quand même s’activer si les conditions sont réunies. 1. L’Interface de Node-RED deltalabprototype.fr 5 L’interface de Node-RED se compose de 4 parties, qui sont : A gauche : la liste des nodes disponibles. Pour les placer sur le flow, selectionnez celle que vous voulez et glissez la jusqu’à l’endroit voulu. Au centre : les flows. Vous pouvez en ouvrir autant que vous voulez, chaque flow est indépendant et en peut pas agir sur d’autres. A droite : des onglets utiles. L’onglet i permet d’avoir des informations détaillées sur toute node sélectionnée. L’onglet debug ( icône d’insecte ) apparaît dès qu’une node debug est placée est permet de voir les messages de debug. L’onglet dashboard ( icône de graphe ) apparaît dès qu’une node de dashboard apparaît et permet d’ y avoir accès. D’autres onglets peuvent apparaître selon les nodes installées et placées En haut : Le bouton Deploy permet de « déployer » son flow et de le rentre actif. Le bouton menu ( Icone de lignes parallèles ) ouvre un menu, qui contient notamment les options : View : gérer la vue (afficher ou non les menus des cotés). Permet aussi d’accéder au débug ou au dashboard si actifs. Import : charger un flow sauvegardé Export : sauvegarder les flows ouverts Manage Palette : gérer les nodes installées et en installer de nouvelles Flows / Subflows : créer un nouveau flow ou subflow. deltalabprototype.fr 6 2. Nodes de base Node-RED contient plusieurs nodes de base qui sont très utiles ou pratiques. Ces nodes se retrouvent dans tout flow quelque soit le domaine. Ces nodes sont classés par fonctionnalité. Les fonctionnalités incluses de base dans node-red sont : Common : Nodes communes, permettant des opérations simples sans traitements. Exemples Permet d’afficher un message de débug. Parfait pour tester toute fonction ou node nouvellement ajoutée. Permet d’écrire un commentaire, sans influence sur le flow. Function : Nodes permettant d’agir sur les messages, de modifier leur contenu, de leur soumettre des traitements, et d’influer légèrement sur la façon dont ils sont délivrés Exemples Permet de créer une fonction en JavaScript. Utile pour traiter un message reçu pour le rendre utilisable par une node de sortie. Permet d’imposer un délai aux messages entrants. Sequence : Nodes permettant d’agir sur la séquence de messages transmis et ainsi d’agir sur le déroulé du flow. Exemples : Permet de diviser un message entrant en plusieurs message sortants. Permet de regrouper plusieurs messages entrants en un seul message sortant deltalabprototype.fr 7 Network : Nodes permettant de gérer l’aspect réseau du flow, en paramétrant des requêtes http , des websockets, des messages tcp ou udp. C’est aussi dans cette catégorie que se rangeront les nodes mqtt (mosquitto) , si vous l’installez. Parser : Nodes permettant de traiter des données formatées et d’en extraire les objets javascritp utilisable par les autres nodes, ou de formater un objet javascript en un format désiré. Ces nodes peuvent traiter du formatage html ,csv, json, xml ou yaml. Storage : Nodes permettant de sauvegarder des données de messages dans des fichiers. Permettent aussi de surveiller des fichiers pour y detecter tout changement. C’est aussi dans cette catégorie que se rangeront les nodes Influxdb et postgre si vous les installez. Le menu i donnera des expliquations détaillées sur chacune de ces nodes. deltalabprototype.fr 8 III. Personnalisation & Sécurisation de Node-RED Pour administrer Node-RED, il existe un outil , node-red-admin. Pour l’installer, enrez la commande sudo npm install -g node-red-admin dans votre raspberry. 1. Activer l’authentification Il est possible de sécuriser l’accès à l’interface de Node-RED en imposant une indentification par identifiant & mot de passe. Pour cela, sur votre raspberrypi, vous devrez accéder au fichier de configuration de Node-RED, dont le chemin par défaut est : /home/[vous]/.node-red/settings.js . Dans ce fichier se trouve la propriété «adminAuth». Décommentez-la et l’authentification sera activée. Le login par défaut est admin, et son mot de passe password. 2.Créer un nouvel utilisateur Dans le fichier settings.js, la propriété «adminAuth» contient un tableau «user». Ce tableau contient la liste des utilisateurs, qui sont définis par les champs : ◦ username : l’identifiant de l’utilisateur ◦ password : le mot de passe de l’utilisateur , hashé au format bcrypt. Pour pouvoir créer un mot de passe, utilisez l’outil node-red-admin. La commande node-red-admin hash-pw vous invitera à entrer le mot de passe que vous voulez, et vous reverra le hashage, que vousn’aurez qu’à copier-coller dans le fichier settings. ◦ permissions : les permissions accordées. • * : Toutes les permissions • read : Ne peut pas deployer ni changer les paramètres et tout changement dans le flow ne pourra être sauvegardé. deltalabprototype.fr 9 3. Changer l’adresse de l’éditeur L’adresse par défaut de l’éditeur est [ip-raspberry]:1880. Vous pouvez la modifier grâce au fichier settings.js Vous pouvez changer le port en avec la ligne : uiPort: process.env.PORT || 1880 Vous pouvez ajouter une arborescence en décommentant la ligne : httpRoot: '/red'. Et en remplaçant le /red par le chemin que vous souhaitez utiliser L’adresse deviendra alors [ip-raspberry]:[votre port] / [votre chemin] Si vous souhaitez utiliser le port 80 ( ou tout port protégé ), vous ne pourrez pas démarrer Node-RED avec la commande de base, le port étant protégé. Vous devrez utiliser la commande sudo node-red -u .node-red , qui permet de lancer Node-RED en tant que root tout en utilisant votre répertoire node-red normal. NOTE : Le port 80 étant le uploads/Industriel/ serveur-nodered.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ew1f1Mr68vTKnj8neVa98cV07CVh47mAWGhAbKrp38NK5q0B6Al8KrfhD5vKaA6DtxRLyEnMYJdOwTDWPIXAckN1.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/0aPmKlKsSxAmRG9hGeRvlv1vOJu681ORI8Xhxrcst6rJU8zizlRV0SCXHM0i3LSM4RCTCeVr5q8CkxvAE77rBxwm.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Q11YvC15jRtB9h5HAfWqMUsRxiSQeQu5e4X6ONeDnl5201m8cVsqqaomyNPNglUZUfDrnmIgFnf1n8wl3K1PFxtd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/e1GNg7EdFvPQaQwLCFkH6zGzfbvQRSGXwXWGmXL5aBiDAOw8S74qQ7V7K7fvBOYuXSGFaPwcw2vjxfk8Kpuiyi76.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jIcYSaO3NMDPHE1smo00zgCe65YBFKaGPQ17ubrsFfKv5FbJACoL3w7NQNCA5UHLKR0pj6VGFVMQJKao0qSKEj8D.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/1aE7W5m9F2ckUT4Qbw08KLlS8YglD5O5BeGoPhr07wu2rb9xJRu0jKtNgG3LfMiYuNpBnc3Gs5lphMTdSy3odJl1.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/lFsk7f7Nl6GlJE8RHRfKVBMtDGSKpOE1q4oHqQfC0Aqn2OniuuLiSWdXrrHuu4eMlenKouPKhTfMH7QXURy1J8al.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/xx0Pxt9DLr39JVMebGvKkbKHIzI1TaAoUJNBlAwhYHC6mLjsjCDuH60Tm6tXyXE8bsVlOUu5fQZD9RBwN2m51pWX.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/9pxzbrLwTjJUkoWJpF2g0tXCoL9EkYDiQhoFurGeAbQ6ZFpUCsU8eEZLPozB42rW8hOUiPnRDab1eAzvraVzBGed.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/DleqfskHBcw2usIdBdB7k1mSqizLxkDIOpDlAIFd9wi1sF4zwnwX2yqGADpg1LZfNcgajyRuFq2NWwqPgMNPjuX6.png)
-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 13, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.5131MB