Introducción
Anteriormente, aprendimos a conectar nuestro sensor Dallas a un PLC Raspberry utilizando el protocolo 1-Wire.
Luego, aprendimos a obtener la temperatura de nuestro sensor Dallas desde Linux.
En este blog, vamos a aprender cómo analizar la temperatura y cómo obtenerla de Node-RED.
Enlaces relacionados
Explicación
Abriendo Node-RED
El PLC Raspberry es un PLC muy útil ya que incorpora el sistema operativo Raspbian y puedes programarlo fácilmente utilizando todo el software de código abierto que quieras. Uno de nuestros favoritos es Node-RED, realmente útil para el desarrollo de hardware de código abierto.
Una vez que su sensor de Dallas está conectado así >>> y puedes obtener tu temperatura como se muestra >>> ¡analicemos el valor!
Si estás conectado al PLC Raspberry por ssh a la dirección IP por defecto 10.10.10.20, ve a tu navegador favorito y escribe lo siguiente para entrar en Node-RED.
http://10.10.10.20:1880/
De lo contrario, conecta tu PLC Raspberry al Wi-Fi e instala Node-RED escribiendo:
sudo apt install build-essential git curl
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
sudo systemctl enable nodered.service
Finally, go to your browser and type:
http://localhost:1880/
Nodos de Node-RED
Por último, ve a tu navegador y escribe:
1. En primer lugar, vamos a añadir un nodo exec, ya que es un nodo que ejecuta un comando del sistema y devuelve su salida. Arrastra y suelta el nodo en el editor, y añade el siguiente comando que ya utilizamos anteriormente para obtener la temperatura:
sudo cat /sys/bus/w1/devices/28-0000072b7724/w1_slave | sed -e 's/.*t=//' | sed '1d'
Recuerda sustituir el 28-0000072b7724 por el nombre del directorio que empieza por 28 que aparece en tu directorio /sys/bus/w1/devices/

2. Si añadimos un nodo de inyección con el parámetro por defecto antes del nodo de ejecución, y un nodo de depuración justo después del nodo de ejecución, conectado a la salida stdout. Cuando hagamos clic en el botón de inyección, en la pestaña de mensajes de depuración obtendremos la salida tal y como la obtenemos en Linux, así:
3. Para analizar la cadena y devolver un número de punto flotante, vamos a añadir un nodo de función entre el nodo exec y el nodo debug. Esta es la función que vamos a añadir:
msg.payload = parseFloat((msg.payload/1000).toFixed(3)); return msg;
4. Despliega los cambios y haz clic en el nodo de inyección para obtener la temperatura analizada.


And with that information, you can create graphs or graphical interfaces to see the information in a much friendlier way.
III. Sensor de temperatura y PLC Raspberry: Cómo analizar la temperatura utilizando Node-RED