Rasp-Node-Red-Basic-Nodes
Intro
Voici une petite vue des nœuds déjà disponibles dans l'installation de base.
Sur une installation Raspberry-Pi, l'ensemble des noeuds dévolu au stockage sont plus limités que sur une machine normale.
Les noeuds d'entrée
Vous les trouverez dans la collection de noeud "Input".
Il y a 7 noeuds d'entrée de base dans l'installation par défaut. Ces noeuds couvrent les mécanismes de communication de base utilisé principalement par les applications IoT. Cela s'étale des protocoles Internet fondamentaux tels que UDP et TCP jusqu'à un niveau plus élevé tels que HTTP et les mécanismes MQTT de publication/souscription (publish/subscribe).
Nom de Noeud | Description |
inject | Injectez un timestamp (nombre de millisecondes écoulées depuis 1970) ou un texte utilisateur dans un message. Peut-être configuré pour injecter le texte manuellement, a intervalle régulier ou horaires spécifiques (en utilisant Cron). |
catch | Capture les erreurs générée par les noeuds dans le même volet (la même feuille). Si un noeud lance une erreur pendant le traitement d'un message alors le flux s'arrête (fonctionnement typique). Ce noeud peut être utilisé pour capture ces erreurs retournant un message avec une propriété détaillant l'erreur, le type et le noeud ayant provoqué l'erreur. |
mqtt | Faire une souscription sur un broker MQTT et "écoutant" un sujet particulier (topic), retourne toutes les données publiées sur le sujet (topic) comme un nouveau message. Supporte les niveaux de "Quality of Service" et rétention de la dernière donnée. |
http | Réceptionne des requêtes HTTP permettant à Node-RED d'agir comme un serveur web rudimentaire. Le corps de la requête HTTP est délivrée comme message de sortie (ainsi qu'avec la réponse correspondante). Le message peut contenir une URL standard ou JSON. |
websocket | Offre un point contact (endpoint) permettant d'établir une connexion websocket avec Node-RED. Offre une connexion duplex pour établir un canal de communication de type navigateur/serveur. |
tcp | Utiliser pour accepter les requêtes TCP entrante sur le port spécifié (ou pour se connecter sur un port TCP distant). Génère des messages contenant les données TCP comme un simple – ou un flux/stream de – buffer, string ou string encodée en base64. |
udp | Utilisé pour accepter les paquet UDP entrant (ou paquets multicast) sur le port spécifié. Génère un message contenant un les données UDP sous forme de BUFFER, string ou string encodée en base64. |
serial in | Lit les données provenant d'un port série. Peut être configuré pour lire des buffers, durant une période de temps spécifique ou attendre un "line breaks". |
Les noeuds de sortie
Vous les trouverez dans la collection de noeud "Output".
The output nodes are essentially the mirror images of the basic set of input nodes and provide a way to send data on the same set of protocols, i.e. mqtt, http, udp etc.
Nom de Noeud | Description |
debug | Offre une façon simple de voir des message qui sont affichés dans le volet "debug" (de débogage). Peut être configuré pour afficher le seul msg.payload ou l'objet msg en entier. |
mqtt | Souscrit un broker MQTT et poste des données (msg.payload) qu'il reçoit en message entrant vers un sujet/topic MQTT. Supporte les niveaux de "Quality de Service" et la rétention de la dernière donnée. |
http | Renvoi une réponse à une requête HTTP reçue sur le noeud d'entrée HTTP. Le corps de la réponse (body) est déterminé par msg.payload et peut définir le code du header et du statut. |
websocket | Renvoi msg.payload sur le Websocket configuré. Si msg._session est définit alors renvoi l'information vers le client d'origine sinon fait un boardcast vers tous les clients connectés. |
tcp | Répond sur le port TCP configuré. Peut également être utilisé pour envoyer des données sur un port spécifique. |
udp | Envoyer un message UDP vers l'hôte et le port configuré (adresse ip address). Supporte le broadcast. Comme la plupart des noeuds, configuré par l'intermédiaire de l'interface utilisateur ou propriétés du message. |
serial out | Envoi sur le port série configuré. Peut être configuré pour envoyer un retour à la ligne optionnel après les messages (message payload). |
Les noeuds de fonction
Vous les trouverez dans la collection de noeuds "Function".
La catégorie "fonction" contient une une série de noeud supportant des fonctions de traitement. Cela va d'un simple noeud délai (delay), à un noeud d'aiguillage (switch), à noeud de fonction programmable qui peut être adapté à presque tous les besoins de programmation.
Nom de Noeud | Description |
function | Noeud générique pour programmation de fonction. En utilisant du JavaScript standard, le noeud peut être personnalisé pour réaliser des tâches de traitement complexe sur les messages d'entrées et générant un ou plusieurs messages en sortie. |
template | Configuré avec un modèle/template (en utilisant le format moustache) de complexité arbitraire. Ce noeud accepte un message d'entrée contenant des paires nom:valeur a insérer dans le modèle/template . C'est très pratique pour construire des messages, HTML, fichier config, etc. |
delay | Un noeud générique pour retarder un message d'un temps donné (ou temps aléatoire). Peut également être configuré pour ralentir le flux des messages (ex: 10 ms par sec). |
trigger | Créer deux messages de sortie séparé par intervalle de temps configurable lorsqu'un message d'entrée est reçu. Peut également être utilisé comme une horloge "watchdog". |
comment | Un simple commentaire visuel configuré avec un titre et un corps. |
http request | Permet de construire et envoyer une requête HTTP vers une URL spécifique. La méthode (PUT, GET, etc), "headers" et "payload" son tous configurable via l'interface ou par programmation. |
tcp request | Un noeud pour effectuer une simple requête TCP. Il envoi le contenu msg.payload vers le port tcp et attend la réponse. Peut être configuré pour attendre la réponse (les données), attendre après un caractère spécifique ou termine immédiatement son exécution. |
switch | Ce noeud aiguille (fait un routage) des messages sur base des propriétés du message. Les propriétés sont configurées en utilisant l'interface utilisateur et une variété de tests logiques (>, <, >= etc) appliqués aux propriétés du message. |
change | Le noeud "change" peut être utilisé pour fixer, changer ou effacer (set, change, delete) les propriétés du message entrant. Une série de règles complexes autorise des modifications avancées incluant des recherches et remplacement dans le msg.payload |
range | Noeud permettant d'échantillonner une valeur numérique en entrée pour la mapper vers une nouvelle sortie. Utilisé pour convertir ou borner les valeur (ex: la température). Non défini (Undefined) pour les données non numérique. |
Nom de Noeud | Description |
csv | Ce noeud fait un parsing de "msg.payload" et essaye de le convertis vers/depuis CSV. S'il reçoit une string CSV, il sort un objet JavaScript et s'il reçoit un objet JavaScript, il sort une string CSV. |
html | Extrait les éléments d'un document html dans msg.payload en utilisant un sélecteur configurable (syntaxe de sélection CSS). Principalement utilisé pour parser un contenu HTML et retourner un tableau d'élément correspondant au filtre. |
json | Ce noeud converti les informations depuis/vers un objet JSON. S'il reçoit un objet Javascript, il sort un contenu JSON. Et s'il reçoit un contenu JSON, il sort un objet JavaScript. |
xml | Ce noeud converti les informations depuis/vers un format XML. S'il reçoit un objet JavaScript, il sort une string XML. S'il reçoit une string XML, il sort un objet JavaScript. |
rbe | Noeud "Report By Exception". Génère un message seulement lorsque le message sur son entrée est différent de l'entrée précédente (string ou nombre) ou si l'entrée est modifiée d'une quantité configurable (mode "deadband", uniquement pour les valeurs numériques). |
Les noeuds sociaux
Vous les trouverez dans la collection de noeuds "Social".
Les noeuds "media sociaux" supporte les interactions avec les email et avec Twitter. Ces noeuds permettent d'envoyer ou recevoir des email, ou d'envoyer et recevoir des tweets.
Nom de Noeud | Description |
email in | Peut être pour se connecter répétitivement sur un serveur IMAP et retourner les nouveaux emails lorsqu'ils arrivent. Initialiser le sujet avec msg.topic et le corps du mail avec soit msg.payload ou msg.html s'il s'agit d'un email en HTML. |
twitter in | Retourne les Tweets comme des messages. Peut être utilisé pour faire des recherches publiques ou sur des fils utilisateur contenant un terme de recherche configuré OU tous les tweets d'un utilisateur spécifique OU les messages reçu par un utilisateur authentifié. |
email out | Envoi les messages entrants (dans le noeuds) comme un email via le serveur IMAP configuré. Le sujet et le destinataire sont configurable. Convertira des données binaires en fichier attaché. |
twitter out | Tweets le msg.payload sur le compte configuré. Peut envoyé des messages directs et enverra des données binaires comme une image. |
Noeud de stockage
Vous les trouverez dans la collection de noeuds "Storage".
Etant donné que nous utilisons une version pour Raspberry-Pi, le contenu de la section "stockage" est plus restreint que sur une installation normale.
Nom de Noeud | Description |
tail | Tails (i.e. watches for things to be added) to the configured file. (Linux/Mac ONLY). This won’t work on Windows file systems, as it relies on the tail -F command. |
file in | Reads the specified file and sends the content as msg.payload, and the filename as msg.filename. The filename can be configured in the node. If left blank, it should be set on msg.filename in an incoming |
file | Writes msg.payload to the file specified, e.g. to create a log. The filename can be configured in the node. If left blank, it should be set on msg.filename in an incoming message. The default behaviour is to append to the file. This can be changed to overwrite the file each time; for example, if you want to output a “static” web page or report |
Noeud d'analyse
Analysis nodes perform standard analyses on incoming messages. In the default node set, the only node provided is the sentiment node, which can be used to try and determine the sentiment of an incoming message based on the words used in the message, for example, an email or tweet.
Nom de Noeud | Description |
sentiment | The sentiment node analyses the msg.payload and scores the sentiment of the message based on word analysis. It adds a msg.sentiment object that contains the resulting AFINN-111 sentiment score as msg.sentiment.score. Score typically ranges from -5 to +5. |
Noeud avancés
Il existe également des noeuds offrant des fonctionnalités avancées.
Nom de Noeud | Description |
watch | Watches a directory or file for changes. You can enter a list of comma-separated directories and/or files. You will need to put quotes “…” around any that contain spaces. On Windows, you must use double backslashes \\ in all directory names. The full filename of the file that actually changed is put into msg.payload, while a stringified version of the watch list is returned in msg.topic. msg.file contains just the short filename of the file that changed. msg.type has the type changed, usually file or directory, while msg.size holds the file size in bytes. |
feedparse | This node monitors an RSS/atom feed for new entries and delivers new entries as messages. It can be configured to query the feed at a specific interval. |
exec | Calls out to a system command and provides 3 outputs: stdout, stderr, and return code. By default uses exec(), which calls the command, blocks while waiting for completion, and then returns the complete result in one go, along with any errors. |
Les noeuds Raspberry-Pi
Nom de Noeud | Description |
rpi_gpio in | Raspberry Pi input node. Generates a msg.payload with either a 0 or 1, depending on the state of the input pin. You may also enable the input pullup resistor or the pulldown resistor. The msg.topic is set to pi/{the pin number} Requires the RPi.GPIO python library version 0.5.8 (or better) in order to work. Note: we are using the actual physical pin numbers on connector P1 as they are easier to locate. |
rpi_gpio out | Raspberry Pi output node. Expects a msg.payload with either a 0 or 1 (or true or false). Will set the selected physical pin high or low, depending on the value passed in. The initial value of the pin at deploy time can also be set to 0 or 1. When using PWM mode, expects an input value of a number 0 – 100. Requires the RPi.GPIO Python library version 0.5.8 (or better) in order to work. |
rpi_mouse | Raspberry Pi mouse button node. Generates a msg.payload with either a 1 or 0 when the selected mouse button is pressed and released. Also sets msg.button to the code value, 1 = left, 2 = right, 4 = middle, so you can work out which button or combination was pressed. |
Source: Raspberry Pi Hosting Node-Red
Créé par C. Mobberley pour AdaFruit Industries.
Traduction réalisée et augmentée par Meurisse D. pour MCHobby.be.
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.
Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com