Rasp-Node-Red-Basic-Nodes

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche



MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Intro

Voici une petite vue des nœuds déjà disponibles dans l'installation de base.

Rasp-Node-Red-Basic-Nodes-00.jpg

Sur une installation Raspberry-Pi, l'ensemble des noeuds dévolu au stockage sont plus limités que sur une machine normale.

Rasp-Node-Red-Basic-Nodes-01.png


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