Tutorial de Node-RED: Cómo utilizar los nodos HTTP con el PLC industrial Raspberry

Aprende a realizar peticiones HTTP para la automatización industrial y de Raspberry Pi
22 de septiembre de 2021 por
Tutorial de Node-RED: Cómo utilizar los nodos HTTP con el PLC industrial Raspberry
Boot & Work Corp. S.L., Fernandez Queralt Martinez

Introducción

HTTP significa protocolo de transferencia de hipertexto. Es un protocolo que permite la comunicación entre diferentes sistemas. Lo más habitual es que se utilice para transferir datos desde un servidor web a un navegador para ver páginas web.

En este post, aprenderás a crear un endpoint HTTP para utilizarlo con el cliente HTTP y el servidor HTTP, y con el PLC basado en Raspberry Pi.

Enlaces relacionados

Cómo

Conectar un PLC Raspberry de código abierto al Wi-Fi

Leer > 

Raspberry PLC

Familia de productos para la automatización industrial

Ver > 

Cómo

Programar entradas de interrupción del PLC Raspberry con Python.

Leer > 

Conceptos básicos

Salidas analógicas del PLC industrial Raspberry Pi

Leer > 

Touchberry Pi

Familia de productos para el control industrial

Ver > 

Cómo

Encuentra su PLC industrial perfecto

Leer > 


Requisitos

HTTP

Según MDN, HTTP es un protocolo que permite obtener recursos, como documentos HTML. Es la base de cualquier intercambio de datos en la Web y es un protocolo cliente-servidor, lo que significa que las solicitudes son iniciadas por el destinatario, normalmente el navegador web. Un documento completo se reconstruye a partir de los diferentes subdocumentos obtenidos, por ejemplo, el texto, la descripción del diseño, las imágenes, los vídeos, los scripts, etc.

Los clientes y los servidores se comunican mediante el intercambio de mensajes individuales (en lugar de un flujo de datos). Los mensajes enviados por el cliente, normalmente un navegador web, se denominan peticiones, y los mensajes enviados por el servidor en respuesta se denominan respuestas.

Inicio

Si es la primera vez que desarrollas una aplicación con Node-RED, echa un vistazo a la página web de Node-RED para aprender a crear tu primer flujo. >>>

Problema

Lo que quieres hacer es crear un endpoint HTTP que responda a las peticiones GET con algún contenido estático, como una página HTML o una hoja de estilos CSS.

Solución

Para ello, utilizarás el nodo HTTP In para escuchar las peticiones, un nodo Template para incluir el contenido estático, y un nodo HTTP Response para responder a la petición.

HTTP Nodos

Como vas a crear un ejemplo muy básico, solo añadirástres nodos:

1. El primero, un nodo HTTP IN para crear un endpoint HTTP. Establece un método GET a tu URL personalizada. En este caso: /test.

Odoo • Image and Text

2. El segundo será un nodo de plantilla de función para establecer la propiedad: msg.payload basado en la plantilla proporcionada, donde escribirás tus entidades HTML.

<html>
    <head></head>
    <body>
        <h1>YOUR-MESSAGE-HERE</h1>
    </body>
</html>
Odoo • Image and Text

3. El tercero será el nodo HTTP Response para enviar respuestas a las peticiones recibidas del nodo HTTP Input.

Así es como se verá este flujo:

[{"id":"f2c95db5.ba59a","type":"tab","label":"Flow 1","disabled":false,"info":"Examples of how to scan for devices"},{"id":"59ff2a1.fa600d4","type":"http in","z":"f2c95db5.ba59a","name":"","url":"/test","method":"get","upload":false,"swaggerDoc":"","x":340,"y":100,"wires":[["54c1e70d.ab3e18"]]},{"id":"54c1e70d.ab3e18","type":"template","z":"f2c95db5.ba59a","name":"page","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n    <head></head>\n    <body>\n        <h1>Hi everyone from Industrial Shields!</h1>\n    </body>\n</html>","x":550,"y":100,"wires":[["266c286f.d993d8"]]},{"id":"266c286f.d993d8","type":"http response","z":"f2c95db5.ba59a","name":"","statusCode":"","headers":{},"x":770,"y":100,"wires":[]}]
Odoo • Image and Text

Finalmente, despliega el flujo, y añade la misma URL que establecistes en el primer nodo justo después del localhost:1880. En tu caso, /test. Por lo tanto, ve a:

localhost:1880/test
y comprueba el mensaje HTTP que acabas de recibir!

Recetas HTTP

¿Quieres saber más? Echa un vistazo a: Recetas HTTP >>> de Node-RED y aprende a servir contenido JSON, publicar datos sin procesar en un flujo u obtener una respuesta JSON analizada, entre otras cosas.

Buscar en nuestro blog

Tutorial de Node-RED: Cómo utilizar los nodos HTTP con el PLC industrial Raspberry
Boot & Work Corp. S.L., Fernandez Queralt Martinez 22 de septiembre de 2021
Compartir

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Industrial PLC comparison >>>