Node-RED

Node-RED installieren unter Windows, Linux und auf dem Raspberry Pi

Ein Praxisleitfaden, um Node-RED unter Windows, Linux, auf dem Raspberry Pi und mit Docker zu installieren, beim Booten automatisch zu starten, den Editor abzusichern und einen ersten Flow zu bauen, der einen echten MQTT-Broker abonniert.

Illustration zum Installieren von Node-RED mit Windows-, Linux- und Raspberry-Pi-Rechnern, auf denen der Node-RED-Editor mit einem MQTT-Broker verbunden läuft
Probieren Sie es auf Ihrem eigenen MQTT-Broker ausHolen Sie sich im Free-Tarif einen privaten, verwalteten MQTT-Broker und starten Sie mit fertigen Codebeispielen.
Kostenlos testen Codebeispiele Keine Kreditkarte erforderlich

Node-RED lässt sich in wenigen Minuten auf fast jedem Rechner installieren, vom Windows-Laptop bis zum Raspberry Pi im Fabrikregal. Dieser Leitfaden führt durch jede Plattform, zeigt, wie Sie Node-RED als Dienst betreiben, sichert den Editor ab und endet mit einem funktionierenden ersten Flow, der einen echten MQTT-Broker abonniert, sodass Sie echte Nachrichten eintreffen sehen. In der Fertigung läuft Node-RED häufig auf einem Edge-PC neben der SPS, liest dort Maschinendaten etwa per OPC UA oder Modbus und speist sie in einen Unified Namespace (UNS) auf dem Broker ein.

Was Sie vor dem Start brauchen

Node-RED ist eine Node.js-Anwendung, daher ist die einzige echte Voraussetzung eine unterstützte Node.js-Version. Node-RED 4.x erfordert Node.js 18 oder neuer, und neuere Releases können dieses Minimum anheben; verwenden Sie daher nach Möglichkeit die aktuelle LTS-Version von Node.js. Außerdem brauchen Sie:

  • Ein Benutzerkonto mit der Berechtigung, Software zu installieren (Administrator unter Windows, sudo unter Linux).
  • Netzwerkzugriff auf npm (die Paket-Registry von Node.js) während der Installation.
  • Einen Browser, um den Editor auf Port 1880 zu öffnen.
Plattform Empfohlene Methode Startet beim Booten Typischer Einsatz
Windows 10/11 Node.js-Installer + npm Mit PM2 oder einem Service-Wrapper Entwicklung, Edge-PCs
Debian / Ubuntu Offizielles Installationsskript Ja (systemd) Server, Gateways
Raspberry Pi OS Offizielles Installationsskript Ja (systemd) Edge-Gateways, Heimlabore
Jedes Betriebssystem mit Docker Image nodered/node-red Ja (Restart-Policy) Reproduzierbare Deployments

Node-RED unter Windows installieren

  1. Laden Sie den LTS-Installer von Node.js (.msi) von nodejs.org herunter und führen Sie ihn mit den Standardoptionen aus. Akzeptieren Sie die Option, Node.js zum PATH hinzuzufügen.
  2. Öffnen Sie ein neues PowerShell-Fenster und prüfen Sie die Versionen:
node --version
npm --version
  1. Installieren Sie Node-RED global:
npm install -g --unsafe-perm node-red
  1. Starten Sie es:
node-red

Das Log endet mit einer Zeile wie Server now running at http://127.0.0.1:1880/. Öffnen Sie diese Adresse in Ihrem Browser, und der Editor erscheint. Ihre Flows und Einstellungen werden in C:\Users\<you>\.node-red gespeichert.

Damit Node-RED nach dem Schließen des Terminals weiterläuft und beim Booten startet, ist PM2 ein gängiger Ansatz:

npm install -g pm2
pm2 start "$env:APPDATA\npm\node_modules\node-red\red.js" --name node-red
pm2 save

Unter Windows braucht PM2 einen zusätzlichen Helfer wie pm2-installer oder einen Windows-Service-Wrapper, um beim Booten zu starten; folgen Sie dessen Anleitung oder nutzen Sie die Aufgabenplanung, um pm2 resurrect bei der Anmeldung auszuführen.

Node-RED unter Linux und auf dem Raspberry Pi installieren

Für Debian, Ubuntu und Raspberry Pi OS stellt das Node-RED-Projekt ein Installationsskript bereit, das eine passende Node.js-Version und Node-RED installiert und einen systemd-Dienst einrichtet. Führen Sie es als normaler Benutzer mit sudo-Rechten aus, nicht als root:

bash <(curl -sL https://github.com/node-red/linux-installers/releases/latest/download/update-nodejs-and-nodered-deb)

Das Skript stellt einige Fragen, unter anderem, ob eine vorhandene Node.js-Installation ersetzt und ob Pi-spezifische Nodes installiert werden sollen. Wenn es fertig ist, starten Sie Node-RED und aktivieren den Start beim Booten:

node-red-start                      # startet den Dienst und zeigt das Log an
sudo systemctl enable nodered.service

Nützliche Befehle für danach:

node-red-stop
node-red-restart
node-red-log

Rufen Sie dann http://<device-ip>:1880 im Browser auf. Die Adresse des Pi finden Sie mit hostname -I. Dasselbe Skript ist auch der einfachste Weg für spätere Upgrades: Führen Sie es erneut aus, und es aktualisiert Node.js und Node-RED direkt. Alle Details und Optionen finden Sie in der offiziellen Getting-Started-Dokumentation von Node-RED.

Auf anderen Distributionen installieren Sie Node.js LTS über Ihren Paketmanager oder NodeSource, führen sudo npm install -g --unsafe-perm node-red aus und erstellen dann Ihre eigene systemd-Unit.

Node-RED mit Docker installieren

Wenn Sie bereits Container nutzen, ist Docker die sauberste Option, denn Upgrades und Rollbacks sind nur Image-Tags:

docker volume create node_red_data
docker run -d --name nodered --restart unless-stopped \
  -p 1880:1880 -v node_red_data:/data nodered/node-red:latest

Das Volume /data enthält Ihre Flows, Zugangsdaten und installierten Nodes, sodass sie Container-Upgrades überstehen. Für eine feste Version ersetzen Sie latest durch einen bestimmten Tag. Unser Leitfaden zu Node-RED mit Docker behandelt Docker Compose, Umgebungsvariablen und Backups.

Den Editor absichern, bevor Sie ihn freigeben

Standardmäßig hat der Editor kein Login. Auf 127.0.0.1 ist das in Ordnung, aber auf einem Raspberry Pi oder Server kann jeder im Netzwerk Port 1880 öffnen und über einen Function- oder Exec-Node beliebigen Code ausführen. Bevor Sie Node-RED in einem geteilten Netzwerk verwenden:

  1. Erzeugen Sie einen Passwort-Hash:
node-red admin hash-pw
  1. Bearbeiten Sie settings.js in Ihrem Benutzerverzeichnis (~/.node-red/settings.js) und aktivieren Sie adminAuth:
adminAuth: {
    type: "credentials",
    users: [{
        username: "admin",
        password: "PASTE_THE_BCRYPT_HASH_HERE",
        permissions: "*"
    }]
},
  1. Setzen Sie in derselben Datei ein credentialSecret, damit gespeicherte Zugangsdaten mit einem Schlüssel verschlüsselt werden, den Sie kontrollieren, und starten Sie Node-RED neu.

Zu HTTPS, Reverse Proxys und weiterer Härtung lesen Sie, wie Sie Node-RED absichern.

Ihr erster MQTT-Flow nach der Installation von Node-RED

Verbinden Sie Node-RED jetzt mit einem echten Broker. Der öffentliche MQTT-Broker unter broker.connectmq.com ist für Tests und Prototypen gedacht und akzeptiert anonyme Verbindungen, sodass Sie ohne Konto testen können. Verwenden Sie ein eindeutiges Topic-Präfix und denken Sie daran, dass der öffentliche Bereich für alle sichtbar ist.

Öffnen Sie im Editor das Menü (oben rechts), wählen Sie Import, fügen Sie das folgende JSON ein und klicken Sie auf Import:

[
  {
    "id": "c0a1b2c3d4e5f601",
    "type": "mqtt-broker",
    "name": "ConnectMQ public",
    "broker": "broker.connectmq.com",
    "port": "1883",
    "clientid": "nodered-first-4d9e",
    "autoConnect": true,
    "usetls": false,
    "protocolVersion": "4",
    "keepalive": "60",
    "cleansession": true,
    "autoUnsubscribe": true
  },
  {
    "id": "c0a1b2c3d4e5f602",
    "type": "inject",
    "name": "Send test reading",
    "props": [{ "p": "payload" }, { "p": "topic", "vt": "str" }],
    "repeat": "",
    "once": false,
    "topic": "connectmq/demo/4d9e/sensor",
    "payload": "{\"temperature\":21.5}",
    "payloadType": "json",
    "x": 160,
    "y": 80,
    "wires": [["c0a1b2c3d4e5f603"]]
  },
  {
    "id": "c0a1b2c3d4e5f603",
    "type": "mqtt out",
    "name": "Publish",
    "topic": "",
    "qos": "0",
    "retain": "false",
    "broker": "c0a1b2c3d4e5f601",
    "x": 380,
    "y": 80,
    "wires": []
  },
  {
    "id": "c0a1b2c3d4e5f604",
    "type": "mqtt in",
    "name": "Subscribe demo topics",
    "topic": "connectmq/demo/4d9e/#",
    "qos": "0",
    "datatype": "auto-detect",
    "broker": "c0a1b2c3d4e5f601",
    "nl": false,
    "rap": true,
    "rh": 0,
    "inputs": 0,
    "x": 180,
    "y": 160,
    "wires": [["c0a1b2c3d4e5f605"]]
  },
  {
    "id": "c0a1b2c3d4e5f605",
    "type": "debug",
    "name": "Show message",
    "active": true,
    "tosidebar": true,
    "console": false,
    "complete": "true",
    "targetType": "full",
    "x": 410,
    "y": 160,
    "wires": []
  }
]

Ersetzen Sie 4d9e in der Client ID und in beiden Topics durch eigene zufällige Zeichen und klicken Sie dann auf Deploy. Die MQTT-Nodes zeigen einen grünen Status „connected“. Klicken Sie auf die Schaltfläche am Inject-Node, und die Debug-Seitenleiste zeigt die vollständige Nachricht, wobei payload dank der Auto-Detect-Einstellung bereits in ein Objekt geparst ist. Sie können auch aus einem anderen Tool publizieren, etwa mit mosquitto_pub -h broker.connectmq.com -p 1883 -i cli-4d9e -t connectmq/demo/4d9e/cli -m hello, und zusehen, wie die Nachricht ankommt.

Von hier aus behandelt das Node-RED-MQTT-Tutorial Topics, QoS, JSON-Verarbeitung und Dashboards im Detail.

Fehlerbehebung bei der Installation

  • node-red wird nicht erkannt (Windows): Schließen und öffnen Sie PowerShell erneut, damit der aktualisierte PATH geladen wird, oder prüfen Sie, ob %APPDATA%\npm im PATH steht.
  • Port 1880 ist bereits belegt: Eine andere Instanz läuft. Beenden Sie sie oder starten Sie mit node-red -p 1881.
  • Editor von einem anderen Rechner aus nicht erreichbar: Prüfen Sie die Firewall und stellen Sie sicher, dass Node-RED nicht über uiHost in settings.js nur an localhost gebunden ist.
  • MQTT-Nodes hängen bei „connecting“: Prüfen Sie den ausgehenden Zugriff auf Port 1883 und stellen Sie sicher, dass die Client ID nicht leer ist und von keinem anderen Client verwendet wird. Unser Leitfaden Node-RED MQTT verbindet sich nicht listet weitere Ursachen auf.
  • Installationsskript scheitert auf einem alten Pi: Sehr alte Modelle mit ARMv6-CPUs werden von aktuellen Node.js-Builds unter Umständen nicht unterstützt; Hinweise finden Sie in der Ausgabe des Installers.

Vom öffentlichen Broker in die Produktion

Der öffentliche Broker ist ideal für einen ersten Flow, doch Produktions-Flows brauchen private Zugangsdaten und Verschlüsselung. Wechseln Sie auf Port 8883 mit TLS; das ist eine Checkbox und einige Felder im Broker-Konfigurations-Node, und unser Leitfaden zu Node-RED MQTT mit TLS führt Sie hindurch. Den Broker selbst zu betreiben, bedeutet Patches, Zertifikate und Kapazitätsplanung. Deshalb kombinieren viele Teams Node-RED mit einem verwalteten MQTT-Broker. ConnectMQ bietet Node-RED einen privaten Broker mit TLS auf 8883, im Portal generierten Zugangsdaten und einem Live-Topic-Explorer, mit dem Sie prüfen, was Ihre Flows publizieren. Für das Gesamtbild lesen Sie unseren Leitfaden zum Cloud-MQTT-Broker.

Ihre Node-RED-Flows auf ConnectMQ betreiben

Registrieren Sie sich unter app.connectmq.com, wählen Sie den kostenlosen Serverless-Plan ohne Kreditkarte, erstellen Sie einen Broker und fügen Sie den generierten Benutzernamen, das Passwort und die Client ID in Ihren mqtt-broker-Konfigurations-Node ein. Ihre neue Node-RED-Installation ist dann mit einem privaten, verschlüsselten ConnectMQ-Broker verbunden.

Häufig gestellte Fragen

Welche Node.js-Version brauche ich für Node-RED?

Node-RED 4.x erfordert Node.js 18 oder neuer. Verwenden Sie die aktuelle LTS-Version von Node.js, sofern Ihre Plattform keine besondere Einschränkung hat.

Wo speichert Node-RED meine Flows?

Im Benutzerverzeichnis, standardmäßig ~/.node-red unter Linux und macOS und C:\Users\<you>\.node-red unter Windows, bzw. /data im Docker-Container. Sichern Sie diesen Ordner einschließlich flows_cred.json.

Wie aktualisiere ich Node-RED?

Unter Debian, Ubuntu und Raspberry Pi OS führen Sie das Installationsskript erneut aus. Mit npm führen Sie npm install -g --unsafe-perm node-red aus. Mit Docker ziehen Sie ein neueres Image und erstellen den Container mit demselben Volume neu.

Kann ich Node-RED ohne Internetzugang installieren?

Ja, aber Sie müssen Node.js und die npm-Pakete auf einem anderen Rechner vorab herunterladen und übertragen oder anderswo ein Docker-Image bauen und laden. Für die spätere Verbindung zu einem Cloud-Broker ist natürlich ausgehender Netzwerkzugang nötig.

Verwandte Artikel

Node-RED als OPC-UA-Client zu MQTT mit ISA-95-Topics

Mit node-red-contrib-opcua OPC-UA-Variablen auf einer SPS oder einem Simulationsserver abonnieren, Node-IDs auf MQTT-Topics im ISA-95-Stil abbilden und Werte mit Qualität und Zeitstempel publizieren.

9 Min. Lesezeit

Node-RED Diagramm-Verlauf: MQTT-Chartdaten über Neustarts hinweg behalten

Dashboard-Diagramme vergessen alles, wenn Node-RED neu startet. Dieser Leitfaden zeigt zwei zuverlässige Wege, den Node-RED Diagramm-Verlauf für MQTT-Daten zu behalten: dateibasierten Context-Speicher und eine kleine SQLite-Tabelle, beide beim Start in Dashboard 2.0 zurückgespielt.

8 Min. Lesezeit

Alle Artikel →

Ihr privater MQTT-Broker ist nur wenige Klicks entfernt

Konto anlegen, Broker-Zugangsdaten erhalten und das erste Gerät verbinden — ohne Server, die installiert, gepatcht oder skaliert werden müssen.