Brandes | Node-RED | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 536 Seiten

Reihe: Rheinwerk Computing

Brandes Node-RED

Das umfassende Handbuch
4. Auflage 2026
ISBN: 978-3-367-11393-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Das umfassende Handbuch

E-Book, Deutsch, 536 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-11393-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Einfach visuell programmieren

Bauen Sie komplexe Schaltungen auf, ohne eine einzige Zeile Code zu schreiben – Node-RED macht es möglich. Mit dem visuellen Programmierkonzept erstellen Sie Flows und Logiken, die Ihre Projekte steuern. Udo Brandes stellt Ihnen dazu in diesem Handbuch alle Nodes vor und zeigt Ihnen, wie Sie Ihre Anforderungen übersichtlich modellieren und passende Dashboards erstellen. So lesen Sie im Handumdrehen automatisiert Sensoren aus, speichern Messwerte ab oder teilen Daten über das Netzwerk mit anderen Systemen.

  • Von den Grundlagen bis zum fertigen Dashboard
  • Steuerungen und Logik visuell programmieren
  • Daten in der Heimautomation, in Maker- & IoT-Projekten verarbeiten

Aus dem Inhalt:

  • Installation und Grundlagen
  • Das zentrale Tool: Der Node-RED-Editor
  • Die Basics: Nodes und Flows
  • Das Dashboard von Node-RED
  • Funktionen programmieren
  • Grundlagenwissen für JavaScript, Node.js und gutes Programmieren
  • Daten abrufen und speichern
  • Datenaustausch über MQTT und TCP/IP
  • Hacks: Fortgeschrittene Nodes nutzen
  • Appsteuerung und externe Anbindung
  • Eigene Nodes entwickeln
  • Mikrocontroller ansteuern
Brandes Node-RED jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


  Materialien zum Buch ... 13

  Einleitung ... 15

  1.  Node-RED -- das Setup: So starten Sie ... 23


       1.1 ... Node-RED -- das zentrale Element ... 23

       1.2 ... Node-RED aufsetzen ... 25

       1.3 ... Node-RED überall: Docker-Container starten ... 34

       1.4 ... Die Ausgaben von Node-RED beim Start ... 38

       1.5 ... Node-RED administrieren ... 39

       1.6 ... Node-RED absichern ... 43

       1.7 ... Node-RED Projekte ... 51

       1.8 ... Fazit ... 60

  2.  Das zentrale Tool: der Node-RED-Editor ... 61


       2.1 ... Den Node-RED-Editor in einem Browser öffnen ... 61

       2.2 ... Die Kopfleiste ... 64

       2.3 ... Die linke Seitenleiste ... 74

       2.4 ... Der Arbeitsbereich ... 83

       2.5 ... Die rechte Seitenleiste ... 93

       2.6 ... Der erste Flow ... 97

       2.7 ... Flows mit AI entwickeln ... 99

       2.8 ... Gute Programmierung ... 101

       2.9 ... Flows mit dem Flow-Debugger debuggen ... 109

       2.10 ... Probleme mit nrlinter aufspüren ... 112

       2.11 ... Fazit ... 115

  3.  Das Fundament: die Basics von Node-RED ... 117


       3.1 ... Das Message-Konzept von Node-RED ... 117

       3.2 ... Die Geschwister inject-Node und debug-Node ... 125

       3.3 ... Messages manipulieren: Der change-Node und seine Begleiter ... 129

       3.4 ... Der delay-Node ... 133

       3.5 ... Dateiformate konvertieren ... 133

       3.6 ... Auf Prozessereignisse reagieren ... 135

       3.7 ... Sequenzen (Folgen) ... 139

       3.8 ... Fazit ... 144

  4.  Das Node-RED-Dashboard ... 145


       4.1 ... Installation ... 145

       4.2 ... Browseraufruf und Einstellungen ... 147

       4.3 ... Der Schnelleinstieg: So erstellen Sie Ihre erste Dashboard-Ausgabe ... 147

       4.4 ... Das Dashboard-Design bestimmen ... 150

       4.5 ... Die Dashboard-Widgets in Aktion ... 158

       4.6 ... Charts und Messanzeigen mit dem Raspberry Pi ... 168

       4.7 ... Das Diagramm-Kaleidoskop ... 177

       4.8 ... Das Dashboard 2.0 ... 178

       4.9 ... Fazit ... 183

  5.  Funktionen programmieren ... 185


       5.1 ... Einsatz und Funktionsweise des function-Nodes ... 185

       5.2 ... Programmierung mit JavaScript ... 193

       5.3 ... Programmbeispiele für den function-Node ... 227

       5.4 ... Externe Module laden ... 233

       5.5 ... Der Monaco-Codeeditor ... 236

       5.6 ... Fazit ... 236

  6.  Daten über Netzwerkprotokolle abrufen ... 237


       6.1 ... Daten von einem Server im Netz abrufen ... 237

       6.2 ... MQTT: das IoT-Protokoll ... 263

       6.3 ... Arduino & Co. über USB anbinden ... 275

       6.4 ... Fazit ... 282

  7.  Daten mit Node-RED teilen ... 283


       7.1 ... E-Mails versenden ... 283

       7.2 ... Instant-Messaging und Bots mit Telegram ... 293

       7.3 ... Geräte mit Pushbullet vernetzen ... 310

       7.4 ... Sprachsteuerung mit Alexa ... 320

       7.5 ... Google-Dienste integrieren ... 326

       7.6 ... Mit künstlicher Intelligenz experimentieren ... 333

       7.7 ... Fazit ... 338

  8.  Daten speichern und archivieren ... 339


       8.1 ... Kontextvariablen ... 339

       8.2 ... Daten in Dateien speichern ... 345

       8.3 ... Node-RED und InfluxDB ... 356

       8.4 ... Node-RED und SQLite ... 376

       8.5 ... Fazit ... 385

  9.  Node-RED-Hacks ... 387


       9.1 ... Python-Skripte einbinden ... 387

       9.2 ... Timer ... 389

       9.3 ... »Himmelserscheinungen« auswerten ... 393

       9.4 ... Wetterdaten mit OpenWeatherMap ... 395

       9.5 ... Zeitangaben formatieren ... 399

       9.6 ... Mit Bilddateien arbeiten ... 402

       9.7 ... Einen QR-Code generieren ... 404

       9.8 ... Geräte mit Ping orten ... 406

       9.9 ... Auf eine FRITZ!Box zugreifen ... 410

       9.10 ... FTP -- Daten zwischen Rechnern übertragen ... 416

       9.11 ... Benachrichtigungen mit Ntfy versenden ... 423

       9.12 ... Fazit ... 426

10.  Apps und externe Anbindung ... 427


       10.1 ... Apps aus den App-Stores ... 427

       10.2 ... Blynk 2.0 ... 428

       10.3 ... Die Termux-App ... 444

       10.4 ... Der »Überall-Zugriff« mit ngrok ... 451

       10.5 ... Fazit ... 457

11.  Dashboards für Fortgeschrittene ... 459


       11.1 ... Dynamische Dashboard-Steuerung ... 459

       11.2 ... Der template-Node (Widget) ... 461

       11.3 ... Ein aufwendigeres Beispiel ... 479

       11.4 ... Ein alternatives Dashboard mit uibuilder ... 482

       11.5 ... Fazit ... 488

12.  Node-RED in andere Dienste integrieren ... 489


       12.1 ... ioBroker ... 489

       12.2 ... Node-RED versus externe Dienste ... 500

       12.3 ... Fazit ... 502

13.  Eigene Nodes erstellen ... 503


       13.1 ... Anforderungen definieren ... 503

       13.2 ... Arbeitsverzeichnis erstellen und ausgestalten ... 504

       13.3 ... Die Datei package.json generieren ... 505

       13.4 ... Die Datei

       13.5 ... Ein Icon erstellen ... 511

       13.6 ... Die Datei basic-math.html generieren ... 511

       13.7 ... Den Node basic-math in Node-RED testen ... 514

       13.8 ... Ausblick ... 518

       13.9 ... Fazit ... 518

14.  Mit Node-RED Mikrocontroller programmieren ... 519


       14.1 ... Der Soft- und Hardwarerahmen ... 520

       14.2 ... Installation von Moddable ... 520

       14.3 ... Den Mikrocontroller an Moddable anbinden ... 523

       14.4 ... Einrichtung in Node-RED und Test ... 525

       14.5 ... Fazit ... 528

  Index ... 529


Einleitung


Mit individuellen Lösungen aus dem Smart-Home-Bereich machen Sie aus einem Haus Ihr ganz persönliches Zuhause. Es ist dort nämlich so wie in nahezu allen Lebensbereichen: Industrielle Angebote entsprechen oft nicht den persönlichen Bedürfnissen, oder die angebotenen Produkte treffen nicht den Geschmack. Daher wünscht man sich eine Lösung, die man selbst umgesetzt hat. Und zudem kann man so den Dingen auf den Grund zu gehen und weiß ganz genau, mit was man es zu tun hat.

Der Wunsch, dies auch auf Steuerungsmechanismen des häuslichen Umfelds (Hausautomation) oder kleine Helfer (Personal Assistants) zu beziehen, ist da keine Ausnahme. Ohne vertiefte Programmierkenntnisse gestaltete sich dieser Zugang jedoch lange Zeit schwierig und war vornehmlich Insidern oder speziell ausgebildeten und technisch affinen Personen vorbehalten.

Das hat sich allerdings in den letzten Jahren geändert: Mit Hausautomatisierungslösungen wie etwa Home Assistant, openHAB und Einplatinenrechnern wie dem Raspberry Pi können nun auch engagierte Maker ihre Vorstellungen in Eigenregie verwirklichen. Während der Raspberry Pi die zuverlässige und sparsame Hardware darstellt, schafft die angebotene Software einen Rahmen, innerhalb dessen Sie Ihre individuellen Vorstellungen entwickeln können. Auch wenn dieser Rahmen zwischenzeitlich recht weit gespannt ist, vermag er doch nicht alle denkbaren Varianten abzudecken.

Hier kommt Node-RED ins Spiel. Mit Node-RED können Sie professionelle Setups erstellen, die mit einer Vielzahl von Diensten kommunizieren, sich aber gleichzeitig einfach und überschaubar programmieren lassen, ohne dass langjährige Erfahrung in der Softwareentwicklung notwendig ist.

Die Geschichte von Node-RED ist noch relativ jung. Es wurde ursprünglich Ende 2013 von Nick O’Leary und Dave Conway-Jones, beide Wissenschaftler der IBM Engineering Technologies Group, als Open-Source-Projekt entwickelt. Mit ihm sollen auf einfache Weise unterschiedliche Geräte, Webdienste und Programmierschnittstellen verbunden werden.

Der Kern von Node-RED ist in der Programmiersprache JavaScript geschrieben und baut auf der Laufzeitumgebung Node.js auf. Das Wort »Node« steht daher auch Pate für einen Namensbestandteil. Der Zusatz »RED« hat wohl keine tiefere Bedeutung. Er geht wahrscheinlich auf einen Vorschlag von Dave Conway-Jones zurück, wohl weil sich der gesamte Name wie »Code-Red« anhört, vormals eine weitverbreitete Gruppe von Computerwürmern. Und es klingt schlicht cool.

Node-RED ist eine rasante Erfolgsgeschichte. Innerhalb kurzer Zeit hat es eine große Popularität erreicht und ist heute ein weitverbreitetes Programmier- und Prototyping-Werkzeug. Das liegt an der überaus einfachen Handhabung, die hin und wieder etwas despektierlich als »Klick-dich-glücklich-Programmierung« bezeichnet wird. Dies ist insofern zutreffend, als dass Node-RED auch Einsteigern recht schnell Erfolgserlebnisse verschafft. Node-RED bietet Ihnen aber auch ein nahezu unerschöpfliches Betätigungsspektrum, wenn Sie tiefer in die Programmierung einsteigen und professionell arbeiten möchten.

Um Node-RED ist eine lebhafte Benutzer- und Entwicklergemeinschaft entstanden. Eine Kerngruppe kümmert sich um den Node-RED-Code selbst; eine Vielzahl anderer Entwickler und Entwicklerinnen steuert Nodes oder Flows zur Node-Bibliothek bei. Das offizielle Forum (https://discourse.nodered.org) ist zwar englischsprachig, aber sehr rege. Mit etwas Glück antwortet sogar Nick O’Leary persönlich auf ein Problem. Wenn Sie Informationen auf Deutsch suchen, bietet https://forum.heimnetz.de/forums/node-red.26/ eine gute Anlaufstelle.

Der Ansatz des Buchs


Dieses Buch ist keine schrittweise Einführung in ein spezielles und abgegrenztes Anwendungsgebiet von Node-RED wie z. B. die Robotik, die Hausautomation oder das Internet of Things (IoT). Sie werden also kein durchgehendes Projekt finden und auch keine breite Autobahn, auf der Sie durch alle Abschnitte dahinrauschen könnten.

Stattdessen möchte ich Ihnen möglichst umfassend verschiedene Aspekte näherbringen. Mit diesem Konzept möchte ich Sie zum Experimentieren anregen und Ihnen den Einstieg auch in komplexere Vorhaben ermöglichen, die Sie dann für Ihre individuellen Projekte nutzen können. Es ist deshalb nicht nötig (und wäre sogar eher ermüdend), das Buch sequenziell abzuarbeiten. Picken Sie sich einzelne Themen heraus und verknüpfen Sie sie mit anderen Blöcken. Nehmen Sie nur das mit, was Sie aktuell brauchen, und kehren Sie vielleicht später zurück, um dann in die Tiefe zu gehen.

Neben den Erklärungen spielen Abbildungen eine tragende Rolle. Getreu dem Motto, dass Bilder mehr als tausend Worte sagen, lässt sich mit ihnen trotz des Platzes, den Bilder nun einmal einnehmen, die zu vermittelnde Botschaft einfach besser darstellen.

Für wen ist dieses Buch gedacht?


Das Buch richtet sich an alle,

  • die einen Einstieg in die Hausautomation, das IoT und die Anwendung persönlicher Assistenten suchen,

  • die neugierig sind und gerne einmal »über den Tellerrand schauen«,

  • die mit einfachen Mitteln schnell loslegen möchten,

  • die nicht nur einen Einstieg in ein ausgewähltes Anwendungsgebiet suchen, sondern das gesamte Leistungsspektrum vorgestellt bekommen möchten,

  • die es begrüßen, ausgewählte Techniken der Softwareentwicklung und Programmierung vorgestellt zu bekommen, und

  • die gern eigene Projekte unabhängig von industriellen Produkten für den Massenmarkt entwickeln möchten.

Der Inhalt des Buchs


Das Buch soll eine umfassende Unterstützung bei der Programmierung mit Node-RED bieten. Das Universum von Node-RED ist zwischenzeitlich aber so groß geworden, dass nicht jeder Winkel und jede Option beleuchtet werden kann. Deshalb sprechen die Kapitel nicht alle Möglichkeiten an, sondern versuchen, eine breite und tragfähige Basis für eigenes Erkunden zu sein.

  • Kapitel 1: Node-RED – das Setup: So starten Sie
    Zum Einstieg geht es um unterschiedliche Arten der Installation von Node-RED und um Fragen der Administration.

  • Kapitel 2: Das zentrale Tool: der Node-RED-Editor
    Der Schwerpunkt dieses Kapitels ist der Einsatz des Node-RED-Editors. Im Editor werden Sie bei der Arbeit mit Node-RED die meiste Zeit verbringen, daher sollten Sie zum Einstieg auf jeden Fall einen Blick hineinwerfen.

  • Kapitel 3: Das Fundament: die Basics von Node-RED
    Dieses Kapitel stellt die Core-Nodes vor und zeigt, wie Sie Nachrichten durch Flows schleusen.

  • Kapitel 4: Das Node-RED-Dashboard
    Dieser Teil geht auf die wesentlichen Dashboard-Nodes ein. Sie lernen, wie Sie Informationen visualisieren und darstellen.

  • Kapitel 5: Funktionen programmieren
    Sie können Node-RED sehr flexibel nutzen, wenn Sie eigene Funktionen programmieren. Dieses Kapitel zeigt, wie das geht.

  • Kapitel 6: Daten über Netzwerkprotokolle abrufen
    Dieses Kapitel befasst sich mit der Anbindung von Node-RED an das Netz und unterschiedliche Netzwerkprotokolle, damit Sie Daten abrufen und nutzen können.

  • Kapitel 7: Daten mit Node-RED teilen
    In diesem Kapitel geht es um das Zusammenspiel von Node-RED mit verschiedenen Social-Media-Kanälen. Wenn Sie Temperaturwerte Ihres Sensors mit der ganzen Welt teilen wollen, sind Sie hier richtig.

  • Kapitel 8: Daten speichern und archivieren
    Dieser Teil widmet sich den Möglichkeiten und Erfordernissen, Daten in und mit Node-RED zu speichern.

  • Kapitel 9: Node-RED-Hacks
    Dieses Kapitel geht auf Nodes ein, die nicht im Standardpaket enthalten sind. So können Sie Node-RED erweitern und anpassen.

  • Kapitel 10: Apps und externe Anbindung
    Sie wollen Node-RED bestimmt nicht nur auf Ihrem Bürorechner nutzen. Wie Sie Node-RED auf und mit mobilen Geräten einsetzen, skizziere ich in diesem Kapitel.

  • ...


Brandes, Udo
Udo Brandes ist selbständiger Programmierer, IT-Entwickler und Autor. Die Möglichkeiten der Mikrocontrollerprogrammierung sind Zukunftsthemen, die ihn faszinieren und mit deren Chancen und Risiken er sich seit langem intensiv befasst. Zuvor war er Systementwickler beim Rechenzentrum der Finanzverwaltung des Landes Nordrhein-Westfalen und hat in unterschiedlichen Aufgaben für die Stadt Wuppertal gearbeitet.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.