Beschreibung
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.
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
Inhalt
1.1 ... Node-RED -- das zentrale Element ... 25
1.2 ... Node-RED aufsetzen ... 27
1.3 ... Node-RED überall: Docker-Container starten ... 35
1.4 ... Die Ausgaben von Node-RED beim Start ... 39
1.5 ... Node-RED administrieren ... 41
1.6 ... Node-RED absichern ... 45
1.7 ... Node-RED Projekte ... 52
1.8 ... Fazit ... 63
2.1 ... Den Node-RED-Editor in einem Browser öffnen ... 65
2.2 ... Die Kopfleiste ... 67
2.3 ... Die Node-Palette ... 79
2.4 ... Der Arbeitsbereich ... 87
2.5 ... Die rechte Seitenleiste ... 96
2.6 ... Der erste Flow ... 100
2.7 ... Gute Programmierung ... 102
2.8 ... Flows mit dem Flow-Debugger debuggen ... 111
2.9 ... Probleme mit nrlinter aufspüren ... 115
2.10 ... Fazit ... 117
3.1 ... Das Message-Konzept von Node-RED ... 119
3.2 ... Die Geschwister inject-Node und debug-Node ... 127
3.3 ... Messages manipulieren: Der change-Node und seine Begleiter ... 131
3.4 ... Der delay-Node ... 135
3.5 ... Dateiformate konvertieren ... 136
3.6 ... Auf Prozessereignisse reagieren ... 138
3.7 ... Sequenzen (Folgen) ... 141
3.8 ... Fazit ... 147
4.1 ... Installation ... 149
4.2 ... Browseraufruf und Einstellungen ... 151
4.3 ... Der Schnelleinstieg: So erstellen Sie Ihre erste Dashboard-Ausgabe ... 151
4.4 ... Das Dashboard-Design bestimmen ... 154
4.5 ... Die Dashboard-Widgets in Aktion ... 162
4.6 ... Charts und Messanzeigen mit dem Raspberry Pi ... 172
4.7 ... Das Diagramm-Kaleidoskop ... 181
4.8 ... Fazit ... 183
5.1 ... Einsatz und Funktionsweise des function-Nodes ... 186
5.2 ... Programmierung mit JavaScript ... 194
5.3 ... Programmbeispiele für den function-Node ... 229
5.4 ... Externe Module laden ... 235
5.5 ... Der Monaco-Codeeditor ... 238
5.6 ... Fazit ... 238
6.1 ... Daten von einem Server im Netz abrufen ... 239
6.2 ... MQTT: das IoT-Protokoll ... 267
6.3 ... Arduino & Co. über USB anbinden ... 282
6.4 ... Fazit ... 289
7.1 ... E-Mails versenden ... 291
7.2 ... Instant-Messaging und Bots mit Telegram ... 302
7.3 ... Geräte mit Pushbullet vernetzen ... 320
7.4 ... Sprachsteuerung mit Alexa ... 331
7.5 ... Google-Dienste integrieren ... 337
7.6 ... Mit künstlicher Intelligenz experimentieren ... 345
7.7 ... Fazit ... 349
8.1 ... Kontextvariablen ... 351
8.2 ... Daten in Dateien speichern ... 357
8.3 ... Node-RED und InfluxDB ... 368
8.4 ... Node-RED und SQLite ... 389
8.5 ... Fazit ... 399
9.1 ... Python-Skripte einbinden ... 401
9.2 ... Timer ... 403
9.3 ... »Himmelserscheinungen« auswerten ... 407
9.4 ... Wetterdaten mit OpenWeatherMap ... 410
9.5 ... Zeitangaben formatieren ... 414
9.6 ... Mit Bilddateien arbeiten ... 417
9.7 ... Einen QR-Code generieren ... 419
9.8 ... Geräte mit Ping orten ... 421
9.9 ... Auf eine FRITZ!Box zugreifen ... 425
9.10 ... FTP -- Daten zwischen Rechnern übertragen ... 432
9.11 ... Fazit ... 439
10.1 ... Apps aus den App-Stores ... 441
10.2 ... Blynk 2.0 ... 442
10.3 ... Die Termux-App ... 459
10.4 ... Der »Überall-Zugriff« mit ngrok ... 467
10.5 ... Fazit ... 471
11.1 ... Dynamische Dashboard-Steuerung ... 473
11.2 ... Der template-Node (Widget) ... 475
11.3 ... Ein aufwendigeres Beispiel ... 494
11.4 ... Ein alternatives Dashboard mit uibuilder ... 497
11.5 ... Fazit ... 508
12.1 ... ioBroker ... 509
12.2 ... Node-RED versus externe Dienste ... 521
12.3 ... Fazit ... 523
13.1 ... Anforderungen definieren ... 525
13.2 ... Arbeitsverzeichnis erstellen und ausgestalten ... 526
13.3 ... Die Datei package.json generieren ... 527
13.4 ... Die Datei .js programmieren ... 528
13.5 ... Ein Icon erstellen ... 533
13.6 ... Die Datei basic-math.html generieren ... 533
13.7 ... Den Node basic-math in Node-RED testen ... 536
13.8 ... Ausblick ... 540
13.9 ... Fazit ... 541
14.1 ... Der Soft- und Hardwarerahmen ... 544
14.2 ... Installation von Moddable ... 544
14.3 ... Den Mikrocontroller an Moddable anbinden ... 547
14.4 ... Einrichtung in Node-RED und Test ... 549