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
Inhaltsverzeichnis
Materialien zum Buch . . . 15 Einleitung . . . 17 1. Node-RED -- das Setup: So starten Sie . . . 25 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. Das zentrale Tool: der Node-RED-Editor . . . 65 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. Das Fundament: die Basics von Node-RED . . . 119 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. Das Node-RED-Dashboard . . . 149 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. Funktionen programmieren . . . 185 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. Daten über Netzwerkprotokolle abrufen . . . 239 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. Daten mit Node-RED teilen . . . 291 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. Daten speichern und archivieren . . . 351 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. Node-RED-Hacks . . . 401 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 . . . 43910. Apps und externe Anbindung . . . 441 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 . . . 47111. Dashboards für Fortgeschrittene . . . 473 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 . . . 50812. Node-RED in andere Dienste integrieren . . . 509 12. 1 . . . ioBroker . . . 509 12. 2 . . . Node-RED versus externe Dienste . . . 521 12. 3 . . . Fazit . . . 52313. Eigene Nodes erstellen . . . 525 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 . . . 54114. Mit Node-RED Mikrocontroller programmieren . . . 543 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 Index . . . 553