E-Book, Deutsch, 536 Seiten
Reihe: Rheinwerk Computing
Brandes Node-RED
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
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
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. - ...




