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 .js programmieren ... 506
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