Ir al contenido

IV. Sensor de temperatura y Touchberry: Cómo mostrar la temperatura utilizando Node-RED

Sensor DS18B20 y uso del PLC y Node-RED de Touchberry
8 de marzo de 2024 por
IV. Sensor de temperatura y Touchberry: Cómo mostrar la temperatura utilizando Node-RED
Boot & Work Corp. S.L, DAVID CORONADO TRAVASET

Introducción

Anteriormente, aprendimos a conectar nuestro sensor Dallas a un PLC Raspberry utilizando el protocolo 1-Wire.





Mira cómo (Parte I)

Luego, aprendimos a obtener la temperatura de nuestro sensor Dallas desde Linux.


Mira cómo (Parte II)

Después, aprendimos a interpretar la temperatura y a obtenerla desde Node-RED.

Mira cómo (Parte III)

En este post vamos a aprender a mostrar esta información de forma amigable, con una Touchberry Pi.

Enlaces relacionados

Raspberry PLC

Familia de Productos

Ver

Cómo

Programar entradas de interrupción del PLC Raspberry con Pyhton

Leer

Touchberry Pi

Familia de Productos

Ver

Explicación

Uso del panel Touchberry Pi para mostrar información

Para este ejemplo usaremos el nuevo Touchberry Pi, un panel que será muy útil para ver directamente los datos obtenidos. (El sensor debe conectarse a un pin con GPIO directo, como el pin CS1 del Touchberry, que se conecta al GPIO 7; así solo tendremos que hacer la configuración igual que en el Raspberry PLC, pero con el pin gpio 7 en lugar del 25). 

Touchberry-Pi

Si usas un Raspberry PLC, no necesitarás configurar nada adicional.

Con el sensor bien conectado y con Node-RED obteniendo los datos pertinentes, ya podemos crear la interfaz que prefiramos; aquí te dejamos un ejemplo.


EJEMPLO

Así se vería el ejemplo que proponemos.

Dashboard-temperatura

Para ello, debemos añadir algunos bloques:

Bloques-necesarios-para-generar-el-dashboard

Como podemos ver, hemos añadido algunos bloques de función para transformar los grados Celsius a los distintos tipos de unidades de medida de temperatura. Además, hemos añadido los bloques necesarios para mostrar los datos en formato de indicador (gauge).

Aquí te dejamos el código para que lo importes en tus proyectos. 

Recuerda que, en el bloque de ejecución, debes sustituir el nombre del directorio, ya que tendrá otro nombre.

CÓDIGO:

Para obtener este ejemplo solo tienes que copiar el JSON que te dejamos a continuación, e importarlo en Node-RED pegando el código.

[{"id":"711d6d4e196989c7","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"e9eb17d866a83f7a","type":"inject","z":"711d6d4e196989c7","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"0.5","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":200,"wires":[["9ead71aef2ae83f5"]]},{"id":"9ead71aef2ae83f5","type":"exec","z":"711d6d4e196989c7","command":"sudo cat /sys/bus/w1/devices/28-01204f9f82f6/w1_slave | sed -e 's/.*t=//' | sed '1d'","addpay":"","append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"","x":510,"y":200,"wires":[["5bf1762b8f47306c","cdd59e7e050bedea"],[],[]]},{"id":"5bf1762b8f47306c","type":"function","z":"711d6d4e196989c7","name":"get_temp","func":"msg.payload = parseFloat((msg.payload / 1000).toFixed(3));\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":900,"y":200,"wires":[["6306d3e51cb99169","fbe6da72b9906651","28e9622a81066ade"]]},{"id":"6306d3e51cb99169","type":"ui_gauge","z":"711d6d4e196989c7","name":"","group":"3d1764834ab89c7d","order":2,"width":10,"height":6,"gtype":"gage","title":"Celsius","label":"","format":"{{value}} ºC","min":"-50","max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":1340,"y":220,"wires":[]},{"id":"dda3aa2879ccde60","type":"ui_gauge","z":"711d6d4e196989c7","name":"","group":"3d1764834ab89c7d","order":4,"width":10,"height":6,"gtype":"gage","title":"Fahrenheit","label":"","format":"{{value}} ºF","min":"-58","max":"212","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":1350,"y":160,"wires":[]},{"id":"fbe6da72b9906651","type":"function","z":"711d6d4e196989c7","name":"Celsius2Fahrenheit","func":"msg.payload = (9/5 * msg.payload + 32).toFixed(3)\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1110,"y":160,"wires":[["dda3aa2879ccde60"]]},{"id":"8802b29b44a16a36","type":"ui_gauge","z":"711d6d4e196989c7","name":"","group":"3d1764834ab89c7d","order":3,"width":10,"height":6,"gtype":"gage","title":"Kelvin","label":"","format":"{{value}} K","min":"224","max":"374","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":1330,"y":100,"wires":[]},{"id":"28e9622a81066ade","type":"function","z":"711d6d4e196989c7","name":"Celsius2Kelvin","func":"msg.payload = (msg.payload + 273.15).toFixed(3)\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1100,"y":100,"wires":[["8802b29b44a16a36"]]},{"id":"0e6277e00911b3e5","type":"ui_text","z":"711d6d4e196989c7","group":"3d1764834ab89c7d","order":1,"width":0,"height":0,"name":"","label":"Temperature measured from the Dallas DS18B20 sensor","format":"{{msg.payload}}","layout":"col-center","className":"","style":true,"font":"Arial Black,Arial Black,Gadget,sans-serif","fontSize":"30","color":"#000000","x":1490,"y":40,"wires":[]},{"id":"cdd59e7e050bedea","type":"debug","z":"711d6d4e196989c7","name":"debug","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":890,"y":240,"wires":[]},{"id":"3d1764834ab89c7d","type":"ui_group","name":"Dashboard","tab":"ebd052791c5bf967","order":1,"disp":true,"width":"30","collapse":false,"className":""},{"id":"ebd052791c5bf967","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]



Buscar en nuestro blog

IV. Sensor de temperatura y Touchberry: Cómo mostrar la temperatura utilizando Node-RED
Boot & Work Corp. S.L, DAVID CORONADO TRAVASET 8 de marzo de 2024
Compartir esta publicación

¿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.

Comparativa de PLCs