Ahora realizaremos un flujo para responder a peticiones HTTP. Necesitas los siguientes nodos:
1. Input HTTP: Habilita al flujo para escuchar peticiones http
2. HTTP Response: Habilita al flujo para brindar una respuesta vÃa http
3. Function: Transforma el objeto msg con el código que ingreses (tienes que conocer JavaScript para generar el código de NodeRed)
Crea un flujo como se muestra a continuación:
Configura el nodo HTTP para recibir las peticiones vÃa HTTP:
Escribe el siguiente código en el nodo function:
msg.payload="Hola";
msg.headers={"Content-Type":"text/html"}
return msg;
¿Qué estamos haciendo aquÃ?
La primer lÃnea, estamos sobreescribiendo el contenido de payload (msg.payload). Payload es muy importante en los flujos sobre todo en la salida ya que por lo general cuando conectas con la nube se toma la información de aquÃ, tomate un tiempo para jugar con los payload y aprende a manipularlos.
La segunda lÃnea: msg.headers. Estamos indicando que el contenido de Payload es tipo html con esto el navegador podrá interpretar la salida adecuadamente.
La última lÃnea: return msg. Estamos indicando que sale el objeto msg armado como lo necesitamos
El último nodo no necesita configuración, sólo transporta el objeto msg de salida al flujo. Prueba el flujo. Desde la url donde acceder node-red agrega lo siguiente: /test sà dejaste la ruta como en la imagen. En mi caso, la ruta del node-red de mà raspberry es:
http://192.168.100.8:1880/#
para acceder al ejemplo hice lo siguiente:
http://192.168.100.8:1880/test
Debes ver una pantalla similar a la siguiente:
Una de las grandes ventajas de NodeRed es que puedes
compartir flujos hechos por otras personas. Estos se almacenan en
formato JSON y es sólo texto. Te comparto, el código de este flujo para
que lo puedas probas de inmediato:
[{"id":"84baa13.0011ce","type":"http in","z":"46b56b4.316c894","name":"/test","url":"/test","method":"get","swaggerDoc":"","x":149,"y":130.5,"wires":[["cc6f9871.e0a5"]]},{"id":"9e45d205.e88cc","type":"http response","z":"46b56b4.316c894","name":"","x":489.15997314453125,"y":131.8300018310547,"wires":[]},{"id":"cc6f9871.e0a5","type":"function","z":"46b56b4.316c894","name":"","func":"msg.payload=\"Hola\";\nmsg.headers={\"Content-Type\":\"text/html\"}\nreturn msg;\n","outputs":1,"noerr":0,"x":321.5,"y":131.75,"wires":[["9e45d205.e88cc"]]}]
Dentro de node red, crea un flujo nuevo y en el menú selecciona importar desde el clipboard y pegas el código anterior.
Listo!!!! Ya tienes un flulo de Node Red que realiza una salida al navegador
No hay comentarios:
Publicar un comentario