Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:node-red

Dies ist eine alte Version des Dokuments!


Node-RED

Beschreibung
https://nodered.org/

Installation

Node-RED ist auf dem VZ-Raspberry-Image nicht vorinstalliert. Die folgende Beschreibung orientiert sich an der englischen Originalanleitung.

sudo apt-get install build-essential python-rpi.gpio
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

Um Node-RED als Hintergrunddienst einzurichten folgende Befehle nacheinander ausführen:

sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/nodered.service -O /lib/systemd/system/nodered.service
sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/node-red-start -O /usr/bin/node-red-start
sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/node-red-stop -O /usr/bin/node-red-stop
sudo chmod +x /usr/bin/node-red-st*
sudo systemctl daemon-reload

Man kann Node-RED nun an der Kommandozeile mit

node-red-start

aufrufen und mit

node-red-stop

beenden.

Um den Dienst beim Boot automatisch zu starten:

sudo systemctl enable nodered.service

Editor

Um Node-RED zu programmieren wird über einen Browser der Editor aufgerufen. Es muss die IP-Adresse des RaspberryPi eingefügt werden:

http://IP_des_Rpi:1880/

paar Worte zum Import


Anbindung

Es gibt diverse Möglichkeiten ein- und ausgehende Daten zwischen Volkszähler und Node-RED auszutauschen.

Push-Server

Für Echtzeitdaten eignet sich zum Beispiel der Push-Server als Datenquelle. Zählerstände und Impulseingänge werden in Leistung umgerechnet. Es werden nur Kanäle ausgeliefert die in der Middleware angelegt sind. Parallelbetrieb mit Push fürs Frontend ist möglich.

Der Push-Server muss, wie in der Anleitung beschrieben in Betrieb genommen werden. Die zusätzliche websocket-Ausgabe aktiviert man indem die vorhandene Zeile in der volkszaehler.conf.php geändert wird:

sudo nano /var/www/volkszaehler.org/etc/volkszaehler.conf.php
volkszaehler.conf.php
$config['push']['routes']['websocket'] = array('/socket'); 

Danach den Push-Server neu starten:

sudo systemctl stop push-server
sudo systemctl start push-Server

In Node-RED wird ein websocket-Eingang angelegt.

code für Import

vzlogger

Die Echtzeitdaten des vzloggers können auch direkt an Node-RED übergeben werden. Es werden für alle channel (auch api: „none“) die Rohdaten (Zählerstände, Impulse) ausgegeben.
parllelbetrieb PS?

Dazu die vzlogger.conf erweitern:

sudo nano /ect/vzlogger.conf
vzlogger.conf
"push": [
  {
    "url": "http://127.0.0.1:1880/vzpush"
  }
],

In Node-RED wird ein http-Input mit http-Response angelegt:

flow
[
    {
        "id": "501f06e2.822648",
        "type": "http in",
        "z": "b4a68325.c47d9",
        "name": "",
        "url": "/vzpush",
        "method": "post",
        "swaggerDoc": "",
        "x": 125,
        "y": 132,
        "wires": [
            [
                "aca936f6.646be8",
                "72ead14f.819f1"
            ]
        ]
    },
    {
        "id": "aca936f6.646be8",
        "type": "debug",
        "z": "b4a68325.c47d9",
        "name": "",
        "active": false,
        "console": "false",
        "complete": "true",
        "x": 323,
        "y": 192,
        "wires": []
    },
    {
        "id": "72ead14f.819f1",
        "type": "http response",
        "z": "b4a68325.c47d9",
        "name": "",
        "x": 322,
        "y": 133,
        "wires": []
    }
]

VZ-API


Beispielanwendungen

InfluxDB per MQTT

howto/node-red.1491845275.txt.gz · Zuletzt geändert: 2017/04/10 19:27 von jau