Skip to main content

5. Recibe los datos del ESP en NodeRED con MQTT

La cosa ya se empieza a complicar...

TODO

  • Explica MQTT
  • Instalar plugin NodeRED dashboard

Tipo

Descripción Unidades Topic MQTT
Sensor Lectura sensor temperatura DHT11 ºC taller/tXX/sens/DHT11/temp
Sensor Lectura sensor humedad relativa DHT11 %rh taller/tXX/sens/DHT11/hum
Sensor Lectura sensor luminosidad LDR Volts taller/tXX/sens/LDR
Actuador LED Indicador LED Verde   taller/tXX/leds/verde
Actuador LED Indicador LED Rojo   taller/tXX/leds/rojo

NOTA: tXX será tu número de equipo. Es decir, en caso de que sea es el equipo número uno (equipo 1) deberás publicar los datos de temperatura en el topic taller/t01/sens/DHT11/temp

Ejercicio: 

 

 

Solución [No abrir, no seas tramposo]
[
    {
        "id": "5778ea97cd1ed074",
        "type": "tab",
        "label": "ESP8266",
        "disabled": false,
        "info": "Solución ejercicio visualización sensores y actuadores ESP8266",
        "env": []
    },
    {
        "id": "02973140566ef55c",
        "type": "mqtt in",
        "z": "5778ea97cd1ed074",
        "name": "DHT11 Temperatura",
        "topic": "taller/t00/sens/DHT11/temp",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "b5bdeb4155381a5d",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 450,
        "y": 160,
        "wires": [
            [
                "7aa944fea3c07822"
            ]
        ]
    },
    {
        "id": "609bc96d69db82e8",
        "type": "mqtt in",
        "z": "5778ea97cd1ed074",
        "name": "DHT11 Humedad",
        "topic": "taller/t00/sens/DHT11/hum",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "b5bdeb4155381a5d",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 440,
        "y": 220,
        "wires": [
            [
                "9e44099297dcc3a5"
            ]
        ]
    },
    {
        "id": "e0f0357e049277d2",
        "type": "mqtt in",
        "z": "5778ea97cd1ed074",
        "name": "LDR Luminosidad",
        "topic": "taller/t00/sens/LDR",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "b5bdeb4155381a5d",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 450,
        "y": 280,
        "wires": [
            [
                "280c63846cb13519"
            ]
        ]
    },
    {
        "id": "d34f1d5a1ba21375",
        "type": "mqtt out",
        "z": "5778ea97cd1ed074",
        "name": "LED Verde",
        "topic": "taller/t00/leds/verde",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "b5bdeb4155381a5d",
        "x": 830,
        "y": 400,
        "wires": []
    },
    {
        "id": "971b18f52f42468f",
        "type": "mqtt out",
        "z": "5778ea97cd1ed074",
        "name": "LED Rojo",
        "topic": "taller/t00/leds/rojo",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "b5bdeb4155381a5d",
        "x": 820,
        "y": 460,
        "wires": []
    },
    {
        "id": "7aa944fea3c07822",
        "type": "ui_gauge",
        "z": "5778ea97cd1ed074",
        "name": "Temperatura",
        "group": "3de4d1022cadb73f",
        "order": 0,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Temperatura",
        "label": "ºC",
        "format": "{{value}}",
        "min": "-10",
        "max": "40",
        "colors": [
            "#00b3b0",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "diff": false,
        "className": "",
        "x": 930,
        "y": 160,
        "wires": []
    },
    {
        "id": "9e44099297dcc3a5",
        "type": "ui_gauge",
        "z": "5778ea97cd1ed074",
        "name": "Humedad",
        "group": "3de4d1022cadb73f",
        "order": 1,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Humedad",
        "label": "%RH",
        "format": "{{value}}",
        "min": 0,
        "max": "100",
        "colors": [
            "#1500b3",
            "#cbe600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "diff": false,
        "className": "",
        "x": 920,
        "y": 220,
        "wires": []
    },
    {
        "id": "280c63846cb13519",
        "type": "ui_gauge",
        "z": "5778ea97cd1ed074",
        "name": "Luminosidad",
        "group": "3de4d1022cadb73f",
        "order": 2,
        "width": "6",
        "height": "3",
        "gtype": "gage",
        "title": "Luminosidad",
        "label": "units",
        "format": "{{value}}",
        "min": 0,
        "max": "1000",
        "colors": [
            "#000000",
            "#e6e600",
            "#ffffff"
        ],
        "seg1": "",
        "seg2": "",
        "diff": false,
        "className": "",
        "x": 930,
        "y": 280,
        "wires": []
    },
    {
        "id": "34e6bf482f2f4e81",
        "type": "ui_switch",
        "z": "5778ea97cd1ed074",
        "name": "LED Verde",
        "label": "LED Verde",
        "tooltip": "",
        "group": "71d9266564131fe1",
        "order": 0,
        "width": "4",
        "height": "2",
        "passthru": false,
        "decouple": "false",
        "topic": "topic",
        "topicType": "msg",
        "style": "",
        "onvalue": "1",
        "onvalueType": "num",
        "onicon": "",
        "oncolor": "",
        "offvalue": "0",
        "offvalueType": "num",
        "officon": "",
        "offcolor": "",
        "animate": true,
        "className": "",
        "x": 510,
        "y": 400,
        "wires": [
            [
                "d34f1d5a1ba21375"
            ]
        ]
    },
    {
        "id": "6a9f570b1bcbf20c",
        "type": "ui_switch",
        "z": "5778ea97cd1ed074",
        "name": "LED Rojo",
        "label": "LED Rojo",
        "tooltip": "",
        "group": "71d9266564131fe1",
        "order": 1,
        "width": "4",
        "height": "2",
        "passthru": true,
        "decouple": "false",
        "topic": "topic",
        "topicType": "msg",
        "style": "",
        "onvalue": "1",
        "onvalueType": "num",
        "onicon": "",
        "oncolor": "",
        "offvalue": "0",
        "offvalueType": "num",
        "officon": "",
        "offcolor": "",
        "animate": false,
        "className": "",
        "x": 500,
        "y": 460,
        "wires": [
            [
                "971b18f52f42468f"
            ]
        ]
    },
    {
        "id": "b5bdeb4155381a5d",
        "type": "mqtt-broker",
        "name": "Broker MakersUPV",
        "broker": "mqtt.makersupv.com",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "3de4d1022cadb73f",
        "type": "ui_group",
        "name": "Sensores",
        "tab": "be3445ce783f56f1",
        "order": 1,
        "disp": true,
        "width": "12",
        "collapse": false,
        "className": ""
    },
    {
        "id": "71d9266564131fe1",
        "type": "ui_group",
        "name": "Actuadores",
        "tab": "be3445ce783f56f1",
        "order": 2,
        "disp": true,
        "width": "12",
        "collapse": false,
        "className": ""
    },
    {
        "id": "be3445ce783f56f1",
        "type": "ui_tab",
        "name": "ESP8266",
        "icon": "fa-thermometer-half",
        "disabled": false,
        "hidden": false
    }
]

 

X. Ejercicio extra para los más valientes [OPCIONAL]

¿Te através a cambiar la luminosidad de los leds mediante el nodo Slider de la UI?

Esta vez sin pistas... y sin solución!