Node red entorno de trabajo


En este post vamos a conocer el entorno de trabajo de node red, sus principales características, como crear editar y ejecutar un proyecto y cómo trabajar con los nodos

oscar Escrito por oscar 25 July 2020 3242 0

Acerca del proyecto

En este post vamos a conocer el entorno de trabajo de node red, sus principales características, como crear editar y ejecutar un proyecto y cómo trabajar con los nodos, también vamos a aprender a importar o exportar cada uno de los nodos y ver su configuración principal.

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
¿Qué es node red? Node RED es una herramienta de programación donde muestra visualmente las relaciones y funciones por bloques y nodos, sin tener que aprender un nuevo lenguaje de programación.

Iniciar node red

En los posts que hemos mencionado anteriormente explicamos como hacer la instalación de node red es los diferentes sistemas operativos, además en cada uno hacemos la explicación de como iniciar node red, en esta sección vamos a dar una pequeña explicación de cómo iniciarlo pero si quieren ir al detalle Les recomiendo ver cada post.

Se han instalado manualmente node red utilizando como gestor de paquetes npm de node js, lo único que tienen que hacer es en la terminal cmd de Windows o en la terminal de comandos de su distribución Linux ejecutar la siguiente instrucción:

node-red

Si van a trabajar con docker utilizando sus contenedores y la imagen propia que existen las recomiendo ver el post de docker Para que vean Cómo se inicia bajo docker-compose

Después de haber iniciado no de red lo que vamos a hacer ahora es ingresar a su entorno de trabajo web el cual al momento ejecutar la instrucción nos ha dejado una url con un puerto específico el cual es el siguiente:

http://localhost:1880/

Esta nos mostrará la pantalla principal a cuál vamos a ver en el siguiente apartado

Entorno de trabajo

Editor de flujo

Al iniciar en el navegador nos vamos para la siguiente pantalla la cual a simple vista está dividida en tres secciones

Editor de flujo
Editor de flujo

La primera es la paleta de nodos la vamos a encontrar normalmente en la parte izquierda de la pantalla y ahí se van a contener todos los nuevos activos que podemos utilizar para crear nuestro programa por medio del flujo de estos nodos, la segunda parte es el entorno de trabajo dónde vamos a realizar nuestro programa por medio de los nudos lo que hacemos Es tomar el nodo y arrastrarlo hacia la pantalla central y allí vamos a ir conectando cada uno de los modos para crear el programa es lo vamos a ver más adelante y la última sección corresponde al área de ayuda de configuración o dibujo está se va a habilitar dependiendo del nodo que seleccionemos del flujo de trabajo iba Mostrar diferentes características y funcionalidades.

Crear nuevos flujos

Para crear un nuevo flujo dentro de nuestro editor de flujo lo único que tenemos que hacer es en la paleta de nodos seleccionar un nuevo y arrastrarlo hacia el entorno de trabajo lo soltamos y con esto ya podemos empezar a crear nuestros programas por medio de los nodos y los flujos así como se observa en la siguiente imagen

Crear nuevos flujos
Crear nuevos flujos

Al dar click sobre el nodo en la parte derecha se nos desplegará la ventana de información con respecto a este nuevo, aquí podremos ver sus características principales podremos ver el tipo de nodo que es identificador único y como dicen al se nos puede presentar la ayuda para poder trabajar con este nodo

Ahora para conectar los nodos el internet trabajo facilita por medio de las líneas de enlace estás permiten tomar la salida de un nuevo y conectarla a una entrada para poder hacer la comunicación y transmitir el flujo de datos.

Observe en la paleta de nodos la cuales podemos ver que algunos tienen tanto entradas como salidas las cuales nos permiten crear el flujo del programa, en los nodos se puede conectar tantas líneas como sea necesario dependiendo de la lógica que estemos desarrollando

Propiedades del nodo
Propiedades del nodo

Al dar click sobre cualquier nudo en la parte derecha están los desplegarán las propiedades que posee, en estas propiedades podemos hacer la configuración o modificación de las características y el comportamiento que va a tener el nodo en el flujo del programa, por ejemplo en el caso del nudo de búho nosotros podemos cambiarle la salida podemos darle un nombre de etiqueta para que sea más específico y otros valores adicionales que vamos a ver más adelante.

Tipos de nodo

Así como expliquen en el post de nodos en una red Existen tres tipos de nodos los cuales son Iniciadores, intermedios y terminales, las características de estos nodos son las siguientes Aunque cómo les mencionaba en el post está a detalle la funcionalidad

Iniciadores

Estos no son los que inician el flujo del programa o son los que disparan los eventos para que se ejecute el programa. Estos no se caracterizan por solamente tener el puerto de salida, y están a la escucha de eventos programados o de actividades de supervisión que suceden dentro del flujo del programa como lo pueden ser llamadas de tópicos de mqtt la entrada de un archivo, ecuación de algún proceso en un intervalo de tiempo; al detectar Estos factores lo que van a hacer es tomar la señal de entrada si proviene una con datos la van a almacenar y se la van a pasar a los nodos que dependen de esta señal de disparo.

Intermedios

Estos nodos lo que hacen es realizar acciones con las señales que llegan de los nodos indicadores estas acciones pueden ser transformar datos como hace cálculos, utilizar las expresiones de comparación y bucles para realizar algún proceso lógico que necesiten nuestro flujo de programa. Estos nuevos intermedios Se caracterizan por tener una entrada y una salida, además la característica de red es que permite extender más nodos de funcionalidades o intermedios para extender la lógica del flujo del programa.

Terminales

Los nuevos terminales son los que se disponen al final de un flujo de datos y se disparan solamente cuando se haya alcanzado la acción que se dispuso hacer desde la entrada o desde los indicadores y los intermediarios estos se caracterizan por Mostrar información generar eventos de negocio como lo son mensajes tipo mqtt qué es lo que más se utilizan o simplemente Mostrar alguna salida o un dibujo dependiendo la lógica de nuestro programa.

Para entender el funcionamiento de los nodos observemos a la siguiente imagen donde tenemos un ejemplo:

Tipos de nodo
Tipos de nodo

Estás en tu estamos validando valores que estamos ingresando en entrada en el intermedio forma eso estamos validando si el número que nos interesa es mayor a 6 y en la salida solamente estamos mostrando los valores por deuda que correspondan a números mayores a 6, en la entrada tenemos tres valores de entrada numéricos los cuales podemos ejecutar manualmente dándole un clic en el recuadro que está al principio es lo que va hacer es disparar el evento que va a llegar al nodo de switch mientras no tenemos la validación para que realice la comparación de los valores con el número 6 si es mayor a 6 lo que va hacer es en la salida enviarle al nuevo el coliseo encargar de visualizar el número si corresponde con la condición que hemos dejado.

Extensibilidad

Una de las características principales que tienen un node red es una amplia gama de nodos con las cual nosotros podemos trabajar para crear las aplicaciones y los flujos necesarios para que el programa realice lo que nosotros necesitamos hacer, si necesita más nodos tiene a disposición una gran amplia colección de nodos creados y soportados por la comunidad los cuales puedo encontrar plugin oficiales otros que han hecho desarrolladores y lo comparten.

Para descargar estos nodos adicionales lo que vamos a hacer en el menú, en la opción Manage palette la cual nos desplegará una ventana nueva con opción de búsqueda, allí podemos introducir el nombre del plugin que necesitamos y éste lo buscará en su sitio oficial, devolvieron una lista con los nombres de los paquetes que encontrado y la posibilidad de instalar si lo necesitamos, como ejemplo vamos a buscar el siguiente plugin: node-red-dashboard

Extensibilidad
Extensibilidad 

Después de seleccionar e instalarlo automáticamente en la paleta de nudos se mostrarán los nuevos nuevos que acabamos de descargar estando listos para poderlos utilizar.

Deploy

Al crear nuestro flujo de trabajo podemos adicionar 4 nuevos queramos Y cuántas conexiones que éramos una vez que después de que terminemos el programa necesitamos configurarlo para que pueda iniciar esta tarea la vamos a llamar deploy, node red nos facilita hacer el de deploy rápidamente y él se encarga de hacer la verificación, compilación y mostrarnos un error si algo salió mal, lo que vamos a hacer es dirigirnos hacia la parte superior derecha donde vamos a encontrar un botón rojo que dice deploy este botón rojo tiene varias opciones si desplegamos el submenú, las cuales son hacer el de deply completo, hacer el de deploy de las modificaciones que realizamos, hacer el deploy de un nodo específico o por último reiniciar el programa por si necesitamos volver a probar algo.

Deploy
Deploy

Al hacer cualquier modificación sobre un nodo o sobre una conexión éste se va a Resaltar con un color anaranjado indicándonos que se tiene que hacer el deploy para tener los cambios Al momento de ejecutar la aplicación

Exportar flujos

Node red nos permiten exportar todos los flujos que nosotros hayamos creado para poderlos compartir, para aportación lo que tenemos que hacer es dirigirnos hacia el menú principal y Buscar la opción exportar esto nos abrirá una nueva moda donde podremos seleccionar los nuevos que vamos a exportar, los flujos que vamos a exportar o si queremos exportar todo el proyecto como esto generar un código es un tipo json el cual podemos descargar o copiar y pegar para ser enviado algún compañero o alguien que necesite nuestro código

Exportar flujos
Exportar flujos

Importar flujos

Para importar flujos lo que vamos a hacer es tomar el archivo json y para ello disponemos de la modal de importación la cual vamos a buscar en el menú, vamos a buscar la opción importar o import, esta pantalla nos permite hacer selección del archivo con extensión json o de poder copiar y pegar todo el formato dentro del cuadro de texto que está disponible Al momento de darle en el botón import que se encuentra en la parte inferior derecha vamos a tener todos los flujos con los nudos y las conexiones listas para poder trabajar nuevamente en el proyecto

Importar flujos
Importar flujos

Debug

En la descripción y ayuda como vimos en la segunda imagen tenemos la pantalla de Ver el dibujo, esta pantalla es muy importante tenerla ya que nos permite visualizar la información que estamos manejando dentro del flujo del programa, está Solamente se va a ver si estamos trabajando con el nodo de salida de bus el cual nos permite visualizar valores o un texto específico Al momento de crear los programas

Debug
Debug

Comentario

Debe aceptar antes de enviar