Mach's einfach: Erste Schritte mit der Smart-Home-Programmierung | 1 |
Der Autor | 2 |
Impressum | 4 |
Einleitung | 5 |
Inhalt | 8 |
1. Was ist Node-RED? | 14 |
Entstehung als Open-Source-Projekt | 14 |
Grundgedanken zur Verwendung | 15 |
2. Node-RED für den Einsatz vorbereiten | 16 |
Linux und Raspberry Pi | 16 |
Node-RED von GitHub installieren | 16 |
Node-RED starten und beenden | 16 |
Das System administrieren | 16 |
Wichtige Dateien im Home-Verzeichnis | 17 |
Sicherheit mit Passwortauthentifizierung | 17 |
Windows | 18 |
Installation unter Windows | 19 |
Node-RED im Terminal starten | 20 |
Node-RED beim Windows-Start einbeziehen | 20 |
FRED (Front-End-Node-RED) | 21 |
3. Erste Schritte im Editor | 22 |
Browserzugriff auf Node-RED | 22 |
Eingaben im Node-RED-Editor | 22 |
Start mit einem »Hallo-Welt-Flow« | 23 |
4. Node-RED-Menü und Dashboard | 28 |
Operationen im Node-RED-Menü | 28 |
Daten importieren | 28 |
Export | 29 |
Flows | 30 |
Palette | 30 |
View und Keyboard | 31 |
Das Node-RED-Dashboard-Modul | 31 |
Installation über das Terminal | 31 |
Das Dashboard einrichten | 31 |
Das Dashbord im Browser aufrufen | 33 |
Hallo-Welt-Flow mit Dashboard-Ausgabe | 33 |
Exkurs Template-Node | 34 |
5. Messages als verbindendes Element | 36 |
Message-Objekte | 36 |
Die Message-Struktur | 37 |
6. Flows mit erweiterter Funktionalität | 40 |
Hallo Welt mit Zeitangabe | 40 |
Wetterbericht mit Audioansage und Frostwarnung | 42 |
OpenWeatherMap | 42 |
openweathermap-Node | 44 |
Die Wetter-Flow-Grundfassung | 44 |
Ein Audio-Wetterbericht | 46 |
Bau eines Frostwächters | 47 |
Weitere Wetter-Nodes | 49 |
Zeitschaltuhren steuern | 49 |
Fixe Zeitspannen | 49 |
Variable Zeitspannen | 51 |
Bewegungsalarm mit dem Raspberry Pi | 52 |
7. Mit Alexa kommunizieren | 56 |
Was genau ist Alexa? | 56 |
Smart-Home-Skills | 56 |
Zurück zur Alexa-App | 61 |
Alexa-Flow entwickeln | 62 |
8. 433-MHz-Geräte schalten | 64 |
Funksteckdosen steuern | 64 |
Funksteckdose und Fernbedienung | 65 |
WiringPi installieren | 66 |
Die Schaltung | 66 |
rcswitch-Node für den Flow | 67 |
9. Node-RED sprichtmit der USB-Schnittstelle | 70 |
Arduino-Nodes installieren | 71 |
Arduino-LED ansteuern | 71 |
Pflanzenbewässerung | 72 |
Schaltung des Bodenfeuchtigkeitsmessers | 73 |
serial-Nodes-Installation | 74 |
Optimierte Lösung zur Pflanzenbewässerung | 75 |
433-MHz-Geräte über USB steuern | 79 |
Der Flow | 83 |
10. Webanbindung und Netzendpunkt | 84 |
TCP-Anforderungen senden | 84 |
Websockets mit Node-RED | 86 |
Funktionsweise von Websockets | 87 |
Websocket für Dateitransfer nutzen | 89 |
11. ESP8266 undESP32 programmieren | 90 |
Die Mikrocontroller der ESP-Familie | 90 |
ESP8266-NodeMCU | 92 |
ESP8266 und DHT22 | 93 |
Die Schaltung | 93 |
Mit dem ESP8266 den DHT22 auslesen | 95 |
Modul mit dem WLAN verbinden | 97 |
DHT22-Daten ins Netz senden | 99 |
Smarte Datenausgabe am Browser | 101 |
Den ESP8266 über WLAN steuern | 103 |
12. MQTT verbindet | 106 |
Was verbirgt sind hinter MQTT? | 106 |
Einfacher Publish und Subscribe | 107 |
Industriell gefertigte MQTT-Geräte | 109 |
13. MQTT mit ESP8266 und DHT22 | 110 |
NTP: das Network Time Protocol | 110 |
Der ESP8266 holt sich die Zeit … | 110 |
… bildet Datenobjekte ... | 112 |
… und verbindet sich über MQTT | 113 |
ESP8266 empfängt MQTT-Messages | 114 |
Der ESP8266 wächst zu einem Sensormodul | 115 |
14. Konkrete Praxissituation mit?MQTT | 118 |
Heizungssteuerung für das Badezimmer | 118 |
MQTT-Nachricht abonnieren und aufbereiten | 118 |
Daten für Temperatur und Luftfeuchtigkeit separieren | 119 |
Dashboard-Ausgabe und Schwellenwerte | 120 |
MQTT-DHT22-Dashboard-Ausgabe | 121 |
Behandlung der Schwellenwerttemperatur | 122 |
Schwellenwertluftfeuchtigkeit | 122 |
MQTT-Nachricht aufbereiten und veröffentlichen | 123 |
15. Social Media nutzen | 126 |
Node-RED an Twitter anbinden | 126 |
Tweets versenden | 128 |
Beliebtheit von Personen | 128 |
dropdown, twitter, sentiment und debug | 129 |
Ergebnisse eines Zeitraums zusammenfassen | 131 |
Ergebnisse aufbereiten und ausgeben | 132 |
E-Mails versenden | 133 |
E-Mails abrufen | 135 |
Weitere Social-Media-Nodes | 136 |
16. »Flüchtige« Daten sichern | 138 |
Node-RED-context-Variable | 138 |
Daten in eine Datei ausgeben | 139 |
Daten aus einer Datei auslesen | 141 |
Sensormoduldaten sichern | 141 |
Link-out-Node und Link-in-Node | 142 |
Sensormoduldaten speichern | 143 |
Aktuelle Chart-Daten darstellen | 143 |
Historische Daten darstellen | 145 |
Das Dashboard ansprechender gestalten | 146 |
17. Ping in der Heimautomation | 148 |
Einfacher Ping | 148 |
Alarmanlage aktivieren | 148 |
Alle Familienmitglieder an Bord? | 150 |
Advanced Ping | 151 |
18. Times are Changing | 154 |
moment-Node | 154 |
humanizer-Node | 156 |
19. Anbindung alternativerSoftwarelösungen | 158 |
Stärken und Schwächen von Node-RED | 158 |
Alternative Hausautomationslösungen | 158 |
OpenHAB2 | 158 |
FHEM | 159 |
pilight | 159 |
domoticz | 159 |
Last, but not least: der Überallzugriff | 160 |
20. Anhang | 164 |
Anhang A: Node-RED-Nodes | 164 |
input-Nodes | 165 |
output-Nodes | 166 |
Funktions-Nodes | 166 |
social- und storage-Nodes | 168 |
social-Nodes | 168 |
storage-Nodes | 168 |
advanced- und analysis-Nodes | 169 |
advanced-Nodes | 169 |
analysis-Nodes | 169 |
Raspberry Pi-Nodes | 170 |
Dashboard-Nodes | 170 |
Weitere Nodes | 172 |
Anhang B: Arduino-IDE | 172 |
Arduino-Software installieren | 172 |
Arduino-IDE | 173 |
Arduino-Software einrichten | 173 |
Bibliotheken hinzufügen | 174 |
Boards hinzufügen | 175 |
ESP32 | 175 |
Anhang C: MQTT | 176 |
Linux/Raspberry Pi | 176 |
Windows | 177 |
Mosquitto-Testserver | 177 |
Mosquitto mit Passwort absichern (Raspberry Pi) | 178 |
Anhang D: Sketche | 179 |
TCP aus Kapitel 11 | 179 |
MQTT aus Kapitel 13 | 182 |
Index | 187 |