Operácie

Node-RED: Rozdiel medzi revíziami

Z SensorWiki

Riadok 1: Riadok 1:
Moje hratky s Node-RED
 
  
Pripojit sem aj poznamky z desktopu
+
== Quick Start ==
  
Node-RED
+
# Inštalácia: https://nodered.org/docs/getting-started/windows
 +
#* Online Node-RED environment FRED: https://fred.sensetecnic.com/
 +
# START http://localhost:1880/
 +
#* Start Dashboard http://localhost:1880/ui
 +
# Základy
 +
#* Node-RED Guide http://noderedguide.com
 +
#* Cookbook: https://cookbook.nodered.org/basic/map-between-different-number-ranges
 +
# Knižnice: obvykle radia cez npm (node package manager), ale mne to velmi neslo, preto odporucam postup priamo z Node-RED menu: Settings -> Palette -> Install
 +
# Ukladanie: vytvorené flows sa nikam extra neukladajú, ale ak by to náhodou spadlo, prídete o ne. Preto odporúčam cez Menu -> Export uložiť to čo potrebujete
 +
# Koniec: Ctrl+C
  
* START http://localhost:1880/
+
Hlbšie znalosti:
* START Dashboard http://localhost:1880/ui
 
  
* http://noderedguide.com/node-red-lecture-3-basic-nodes-and-flows/
+
* Node-RED Guide: http://noderedguide.com
* Cookbook: https://cookbook.nodered.org/basic/map-between-different-number-ranges
+
* Toto je dolezite pochopit https://nodered.org/docs/user-guide/messages#understanding-the-structure-of-a-message
 +
* Dashboard podrobnejšie http://noderedguide.com/lecture-7-node-red-dashboard-part2/
 +
 
 +
 
 +
 
 +
 
 +
V tychto prikladoch sme použili okrem iného:
  
 
* https://discourse.nodered.org/t/multiple-lines-on-a-graph-from-one-message/9315/4
 
* https://discourse.nodered.org/t/multiple-lines-on-a-graph-from-one-message/9315/4
 
* http://noderedguide.com/tutorial-node-red-dashboards-multiple-lines-on-a-chart/
 
* http://noderedguide.com/tutorial-node-red-dashboards-multiple-lines-on-a-chart/
 +
* https://flows.nodered.org/node/node-red-contrib-ui-level - Pekny indikator
  
* https://flows.nodered.org/node/node-red-contrib-ui-level - Pekny indikator
 
  
 
A sem dame jeden priklad na Dashboard s viacerymi prvkami
 
A sem dame jeden priklad na Dashboard s viacerymi prvkami
  
 
<source lang="json">
 
<source lang="json">
[
 
    {
 
        "id": "667ca37f.39af9c",
 
        "type": "tab",
 
        "label": "Flow 1",
 
        "disabled": false,
 
        "info": ""
 
    },
 
    {
 
        "id": "716b65e3.f5fd44",
 
        "type": "ui_tab",
 
        "z": "",
 
        "name": "FEI STU Bratislava : N48 11 06 E 017 12 023 : meteo",
 
        "icon": "dashboard",
 
        "disabled": false,
 
        "hidden": false
 
    },
 
    {
 
        "id": "3fbaf987.a5a6f6",
 
        "type": "ui_group",
 
        "z": "",
 
        "name": "Aktuálne počasie",
 
        "tab": "716b65e3.f5fd44",
 
        "disp": true,
 
        "width": "19",
 
        "collapse": false
 
    },
 
    {
 
        "id": "53a055fc.9dee3c",
 
        "type": "ui_base",
 
        "theme": {
 
            "name": "theme-dark",
 
            "lightTheme": {
 
                "default": "#0094CE",
 
                "baseColor": "#0094CE",
 
                "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif",
 
                "edited": true,
 
                "reset": false
 
            },
 
            "darkTheme": {
 
                "default": "#097479",
 
                "baseColor": "#0b3f7d",
 
                "baseFont": "Copperplate,Copperplate Gothic Light,fantasy",
 
                "edited": true,
 
                "reset": false
 
            },
 
            "customTheme": {
 
                "name": "Untitled Theme 1",
 
                "default": "#4B7930",
 
                "baseColor": "#4B7930",
 
                "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"
 
            },
 
            "themeState": {
 
                "base-color": {
 
                    "default": "#097479",
 
                    "value": "#0b3f7d",
 
                    "edited": true
 
                },
 
                "page-titlebar-backgroundColor": {
 
                    "value": "#0b3f7d",
 
                    "edited": false
 
                },
 
                "page-backgroundColor": {
 
                    "value": "#111111",
 
                    "edited": false
 
                },
 
                "page-sidebar-backgroundColor": {
 
                    "value": "#000000",
 
                    "edited": false
 
                },
 
                "group-textColor": {
 
                    "value": "#1162c3",
 
                    "edited": false
 
                },
 
                "group-borderColor": {
 
                    "value": "#555555",
 
                    "edited": false
 
                },
 
                "group-backgroundColor": {
 
                    "value": "#333333",
 
                    "edited": false
 
                },
 
                "widget-textColor": {
 
                    "value": "#eeeeee",
 
                    "edited": false
 
                },
 
                "widget-backgroundColor": {
 
                    "value": "#0b3f7d",
 
                    "edited": false
 
                },
 
                "widget-borderColor": {
 
                    "value": "#333333",
 
                    "edited": false
 
                },
 
                "base-font": {
 
                    "value": "Copperplate,Copperplate Gothic Light,fantasy"
 
                }
 
            },
 
            "angularTheme": {
 
                "primary": "indigo",
 
                "accents": "blue",
 
                "warn": "red",
 
                "background": "grey"
 
            }
 
        },
 
        "site": {
 
            "name": "Node-RED Dashboard",
 
            "hideToolbar": "false",
 
            "allowSwipe": "false",
 
            "lockMenu": "false",
 
            "allowTempTheme": "true",
 
            "dateFormat": "DD/MM/YYYY",
 
            "sizes": {
 
                "sx": 48,
 
                "sy": 48,
 
                "gx": 6,
 
                "gy": 6,
 
                "cx": 6,
 
                "cy": 6,
 
                "px": 0,
 
                "py": 0
 
            }
 
        }
 
    },
 
    {
 
        "id": "73736cc1.367c2c",
 
        "type": "ui_spacer",
 
        "name": "spacer",
 
        "group": "3fbaf987.a5a6f6",
 
        "order": 2,
 
        "width": 12,
 
        "height": 1
 
    },
 
    {
 
        "id": "eff3ead5.cab97",
 
        "type": "inject",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "topic": "",
 
        "payload": "",
 
        "payloadType": "str",
 
        "repeat": "300",
 
        "crontab": "",
 
        "once": false,
 
        "onceDelay": "",
 
        "x": 190,
 
        "y": 300,
 
        "wires": [
 
            [
 
                "8cd83d4d.d778a"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "8cd83d4d.d778a",
 
        "type": "http request",
 
        "z": "667ca37f.39af9c",
 
        "name": "Recent Quakes",
 
        "method": "GET",
 
        "paytoqs": false,
 
        "url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/significant_week.csv",
 
        "tls": "",
 
        "persist": false,
 
        "proxy": "",
 
        "authType": "",
 
        "x": 360,
 
        "y": 300,
 
        "wires": [
 
            [
 
                "f313061e.b57498"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "f313061e.b57498",
 
        "type": "csv",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "sep": ",",
 
        "hdrin": true,
 
        "hdrout": "",
 
        "multi": "one",
 
        "ret": "\\n",
 
        "temp": "",
 
        "skip": 0,
 
        "strings": true,
 
        "x": 530,
 
        "y": 300,
 
        "wires": [
 
            [
 
                "cd545c9b.47f688",
 
                "29043f0a.fc5768"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "cd545c9b.47f688",
 
        "type": "debug",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "active": false,
 
        "tosidebar": true,
 
        "console": false,
 
        "tostatus": false,
 
        "complete": "payload",
 
        "targetType": "msg",
 
        "x": 690,
 
        "y": 300,
 
        "wires": []
 
    },
 
    {
 
        "id": "29043f0a.fc5768",
 
        "type": "switch",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "property": "payload.mag",
 
        "propertyType": "msg",
 
        "rules": [
 
            {
 
                "t": "gte",
 
                "v": "6",
 
                "vt": "num"
 
            }
 
        ],
 
        "checkall": "true",
 
        "repair": false,
 
        "outputs": 1,
 
        "x": 570,
 
        "y": 360,
 
        "wires": [
 
            [
 
                "cb876b20.7e69e8"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "cb876b20.7e69e8",
 
        "type": "change",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "rules": [
 
            {
 
                "t": "set",
 
                "p": "payload",
 
                "pt": "msg",
 
                "to": "PANIC!",
 
                "tot": "str"
 
            }
 
        ],
 
        "action": "",
 
        "property": "",
 
        "from": "",
 
        "to": "",
 
        "reg": false,
 
        "x": 710,
 
        "y": 420,
 
        "wires": [
 
            [
 
                "2acc7858.b3f5"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "2acc7858.b3f5",
 
        "type": "debug",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "active": false,
 
        "complete": false,
 
        "x": 810,
 
        "y": 360,
 
        "wires": []
 
    },
 
    {
 
        "id": "686552cf.1e648c",
 
        "type": "comment",
 
        "z": "667ca37f.39af9c",
 
        "name": "Poznamka",
 
        "info": "# Poznamocka\n\nTento komentar ma dve casti\n\n## Prva\n\nTu je dolezita **informacia**\n\n## Druha\n\nA tu je tiez nejaka informacia aj s odkazom na\nwebstranku [robotika.sk](http://robotika.sk)",
 
        "x": 180,
 
        "y": 160,
 
        "wires": [],
 
        "icon": "node-red/alert.svg"
 
    },
 
    {
 
        "id": "6edc0476.ff6ae4",
 
        "type": "inject",
 
        "z": "667ca37f.39af9c",
 
        "name": "temperature",
 
        "topic": "temperature",
 
        "payload": "10",
 
        "payloadType": "num",
 
        "repeat": "1",
 
        "crontab": "",
 
        "once": false,
 
        "onceDelay": 0.1,
 
        "x": 140,
 
        "y": 440,
 
        "wires": [
 
            [
 
                "655ff53d.c446a4",
 
                "3c2afec9.d14f4a"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "46876adc.ff037c",
 
        "type": "join",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "mode": "custom",
 
        "build": "object",
 
        "property": "",
 
        "propertyType": "full",
 
        "key": "topic",
 
        "joiner": "\\n",
 
        "joinerType": "str",
 
        "accumulate": false,
 
        "timeout": "",
 
        "count": "3",
 
        "reduceRight": false,
 
        "reduceExp": "",
 
        "reduceInit": "",
 
        "reduceInitType": "",
 
        "reduceFixup": "",
 
        "x": 570,
 
        "y": 460,
 
        "wires": [
 
            [
 
                "e707a31.e2eb56"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "e707a31.e2eb56",
 
        "type": "debug",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "active": false,
 
        "tosidebar": true,
 
        "console": false,
 
        "tostatus": false,
 
        "complete": "true",
 
        "targetType": "full",
 
        "x": 870,
 
        "y": 500,
 
        "wires": []
 
    },
 
    {
 
        "id": "397cee7c.3b22e2",
 
        "type": "inject",
 
        "z": "667ca37f.39af9c",
 
        "name": "humidity",
 
        "topic": "humidity",
 
        "payload": "",
 
        "payloadType": "num",
 
        "repeat": "1",
 
        "crontab": "",
 
        "once": false,
 
        "onceDelay": 0.1,
 
        "x": 120,
 
        "y": 500,
 
        "wires": [
 
            [
 
                "ad5871c6.a407c"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "248e3e7b.d21dc2",
 
        "type": "inject",
 
        "z": "667ca37f.39af9c",
 
        "name": "pressure",
 
        "topic": "pressure",
 
        "payload": "999",
 
        "payloadType": "num",
 
        "repeat": "1",
 
        "crontab": "",
 
        "once": false,
 
        "onceDelay": 0.1,
 
        "x": 120,
 
        "y": 560,
 
        "wires": [
 
            [
 
                "2be11026.fe49b8"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "655ff53d.c446a4",
 
        "type": "function",
 
        "z": "667ca37f.39af9c",
 
        "name": "nahodne cislo",
 
        "func": "msg.payload = Math.round(Math.random()*100);\nreturn msg;",
 
        "outputs": 1,
 
        "noerr": 0,
 
        "x": 340,
 
        "y": 440,
 
        "wires": [
 
            [
 
                "46876adc.ff037c",
 
                "1d61e023.7b57e8",
 
                "e4e3aa12.79ac8"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "ad5871c6.a407c",
 
        "type": "function",
 
        "z": "667ca37f.39af9c",
 
        "name": "nahodne cislo",
 
        "func": "msg.payload = Math.round(Math.random()*100);\nreturn msg;",
 
        "outputs": 1,
 
        "noerr": 0,
 
        "x": 340,
 
        "y": 500,
 
        "wires": [
 
            [
 
                "46876adc.ff037c",
 
                "1d61e023.7b57e8",
 
                "775a9045.e6d6c"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "2be11026.fe49b8",
 
        "type": "function",
 
        "z": "667ca37f.39af9c",
 
        "name": "nahodne cislo",
 
        "func": "msg.payload = Math.round(Math.random()*100);\nreturn msg;",
 
        "outputs": 1,
 
        "noerr": 0,
 
        "x": 340,
 
        "y": 560,
 
        "wires": [
 
            [
 
                "46876adc.ff037c",
 
                "1d61e023.7b57e8",
 
                "e925c588.27715"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "1d61e023.7b57e8",
 
        "type": "ui_chart",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "group": "3fbaf987.a5a6f6",
 
        "order": 6,
 
        "width": 19,
 
        "height": 5,
 
        "label": "Tri veličiny:",
 
        "chartType": "line",
 
        "legend": "true",
 
        "xformat": "HH:mm:ss",
 
        "interpolate": "linear",
 
        "nodata": "",
 
        "dot": false,
 
        "ymin": "",
 
        "ymax": "",
 
        "removeOlder": 1,
 
        "removeOlderPoints": "100",
 
        "removeOlderUnit": "60",
 
        "cutout": 0,
 
        "useOneColor": false,
 
        "colors": [
 
            "#1f77b4",
 
            "#aec7e8",
 
            "#ff7f0e",
 
            "#2ca02c",
 
            "#98df8a",
 
            "#d62728",
 
            "#ff9896",
 
            "#9467bd",
 
            "#c5b0d5"
 
        ],
 
        "useOldStyle": false,
 
        "outputs": 1,
 
        "x": 630,
 
        "y": 640,
 
        "wires": [
 
            []
 
        ]
 
    },
 
    {
 
        "id": "3c2afec9.d14f4a",
 
        "type": "debug",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "active": true,
 
        "tosidebar": true,
 
        "console": false,
 
        "tostatus": false,
 
        "complete": "true",
 
        "targetType": "full",
 
        "x": 320,
 
        "y": 380,
 
        "wires": []
 
    },
 
    {
 
        "id": "e4e3aa12.79ac8",
 
        "type": "ui_gauge",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "group": "3fbaf987.a5a6f6",
 
        "order": 3,
 
        "width": 7,
 
        "height": 4,
 
        "gtype": "gage",
 
        "title": "Teplota",
 
        "label": "&deg; C",
 
        "format": "{{value}} ",
 
        "min": 0,
 
        "max": "100",
 
        "colors": [
 
            "#49c4fe",
 
            "#c927e0",
 
            "#ca3838"
 
        ],
 
        "seg1": "",
 
        "seg2": "",
 
        "x": 620,
 
        "y": 500,
 
        "wires": []
 
    },
 
    {
 
        "id": "775a9045.e6d6c",
 
        "type": "ui_chart",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "group": "3fbaf987.a5a6f6",
 
        "order": 4,
 
        "width": 4,
 
        "height": 4,
 
        "label": "Vlhkost",
 
        "chartType": "bar",
 
        "legend": "false",
 
        "xformat": "HH:mm:ss",
 
        "interpolate": "linear",
 
        "nodata": "",
 
        "dot": false,
 
        "ymin": "0",
 
        "ymax": "100",
 
        "removeOlder": 1,
 
        "removeOlderPoints": "",
 
        "removeOlderUnit": "3600",
 
        "cutout": 0,
 
        "useOneColor": false,
 
        "colors": [
 
            "#1f77b4",
 
            "#aec7e8",
 
            "#ff7f0e",
 
            "#2ca02c",
 
            "#98df8a",
 
            "#d62728",
 
            "#ff9896",
 
            "#9467bd",
 
            "#c5b0d5"
 
        ],
 
        "useOldStyle": false,
 
        "outputs": 1,
 
        "x": 620,
 
        "y": 540,
 
        "wires": [
 
            []
 
        ]
 
    },
 
    {
 
        "id": "e925c588.27715",
 
        "type": "ui_gauge",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "group": "3fbaf987.a5a6f6",
 
        "order": 5,
 
        "width": 8,
 
        "height": 4,
 
        "gtype": "donut",
 
        "title": "Tlak",
 
        "label": "kPa",
 
        "format": "{{value}}",
 
        "min": 0,
 
        "max": "100",
 
        "colors": [
 
            "#00b500",
 
            "#e6e600",
 
            "#ca3838"
 
        ],
 
        "seg1": "",
 
        "seg2": "",
 
        "x": 610,
 
        "y": 580,
 
        "wires": []
 
    },
 
    {
 
        "id": "2ed48bea.985704",
 
        "type": "inject",
 
        "z": "667ca37f.39af9c",
 
        "name": "",
 
        "topic": "",
 
        "payload": "",
 
        "payloadType": "date",
 
        "repeat": "1",
 
        "crontab": "",
 
        "once": false,
 
        "onceDelay": 0.1,
 
        "x": 130,
 
        "y": 640,
 
        "wires": [
 
            [
 
                "2567a87a.c4cdb"
 
            ]
 
        ]
 
    },
 
    {
 
        "id": "5541894f.182c98",
 
        "type": "ui_text",
 
        "z": "667ca37f.39af9c",
 
        "group": "3fbaf987.a5a6f6",
 
        "order": 1,
 
        "width": 7,
 
        "height": 1,
 
        "name": "",
 
        "label": "Dátum",
 
        "format": "{{msg.payload}}",
 
        "layout": "row-right",
 
        "x": 620,
 
        "y": 720,
 
        "wires": []
 
    },
 
    {
 
        "id": "2567a87a.c4cdb",
 
        "type": "function",
 
        "z": "667ca37f.39af9c",
 
        "name": "Datum",
 
        "func": "// Create a Date object from the payload\nvar date = new Date(msg.payload);\n// Change the payload to be a formatted Date string\nmsg.payload = date.toString();\n// Return the message so it can be sent on\nreturn msg;\n",
 
        "outputs": 1,
 
        "noerr": 0,
 
        "x": 340,
 
        "y": 660,
 
        "wires": [
 
            [
 
                "5541894f.182c98"
 
            ]
 
        ]
 
    }
 
]
 
 
 
</source>
 
</source>

Verzia zo dňa a času 15:40, 12. máj 2020

Quick Start

  1. Inštalácia: https://nodered.org/docs/getting-started/windows
  2. START http://localhost:1880/
  3. Základy
  4. Knižnice: obvykle radia cez npm (node package manager), ale mne to velmi neslo, preto odporucam postup priamo z Node-RED menu: Settings -> Palette -> Install
  5. Ukladanie: vytvorené flows sa nikam extra neukladajú, ale ak by to náhodou spadlo, prídete o ne. Preto odporúčam cez Menu -> Export uložiť to čo potrebujete
  6. Koniec: Ctrl+C

Hlbšie znalosti:



V tychto prikladoch sme použili okrem iného:


A sem dame jeden priklad na Dashboard s viacerymi prvkami