Sie sind hier
E-Book

Mach's einfach: Erste Schritte mit der Smart-Home-Programmierung

Einstieg in die Hausautomation mit Node-RED

AutorUdo Brandes
VerlagFranzis
Erscheinungsjahr2019
Seitenanzahl190 Seiten
ISBN9783645224796
FormatePUB
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis9,99 EUR
Das Buch richtet sich an alle, die einen Einstieg in die Hausautomation mit Smart-Home-Programmierung suchen. Das zentrale Werkzeug, über das man die unterschiedlichsten Smart-Home-Geräte mit Webdiensten und Programmierschnittstellen verbindet, ist Node-RED. Wie das geht, wird anhand praktischer Beispiele ausführlich erläutert. Node-RED ist eines der Top-Tools für das Internet der Dinge. Der Grundgedanke von Node-RED ist, vordefinierte Codeblöcke (Nodes) für die Ausführung von Aufgaben nutzbar zu machen. Die Nodes werden miteinander verbunden, sodass eine Linie von Eingangs-Node über Verarbeitungs-Node bis Ausgabe-Node entsteht. Ein solches Gebilde wird 'Flow' (engl. Datenfluss) genannt. Kleine, überschaubare Flow-Beispiele führen Sie behutsam in die neue Materie ein. Mit diesem Buch werden Sie schon nach kurzer Zeit in der Lage sein, kleine Helfer zur Unterstützung im Alltag selbst zu entwickeln - ganz ohne dass Sie sich durch spröde Materie für Nerds und Computer-Freaks quälen müssen. In diesem Sinne ist das Buch Wegbereiter und Ideengeber für eigene, gelingende Smart-Home-Lösungen unter dem Dach des 'Internet of Things'.

Udo Brandes war mehrere Jahre lang Systementwickler beim Rechenzentrum der Finanzverwaltung des Landes Nordrhein-Westfalen. Nach verschiedenen Tätigkeiten bei der Stadt Wuppertal arbeitet er seit einigen Jahren als selbstständiger Programmierer und IT-Entwickler. Ansätze und Möglichkeiten der Hausautomation sind Zukunftsthemen, die den Autor faszinieren und mit deren Chancen und Risiken er sich seit Langem intensiv befasst.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

 2 NODE-RED FÜR DEN EINSATZ VORBEREITEN


Eingangs des vorigen Kapitels war von Werkzeug, von Software, die Rede, die wir für unsere Heimautomationslösung benötigen. Nachfolgend werden drei Möglichkeiten beschrieben, sich das Werkzeug Node-RED in den Werkzeugkasten zu legen und es für den Einsatz vorzubereiten.

Linux und Raspberry Pi


Bei den meisten Linux-Installationen ist Node-RED bereits vorinstalliert. Das gilt insbesondere für den Raspberry Pi. Überprüfen lässt sich das mit der Eingabe von node –v. Als Ergebnis wird dann die installierte Version, z. B. v8.11.3, ausgegeben.

Node-RED von GitHub installieren

Sollte das nicht der Fall sein, kann Node-RED von GitHub4 installiert werden. Hierzu öffnen wir ein Terminal. Zunächst sollte jedoch wie fast immer mit sudo apt-get update das System auf den neuesten Stand gebracht werden. Mit der Eingabe von

bash <(curl -sL https://raw.githubusercontent.com/node-red/

raspbian-deb-package/master/resources/update-nodejs-and-Node-RED)

werden die notwendigen Pakete heruntergeladen und befinden sich im Ordner .node-red des Home-Verzeichnisses.

Node-RED starten und beenden

Im Terminal kann mit node-red-start Node-RED gestartet werden. Alternativ geht das auch auf der grafischen Benutzeroberfläche mit dem Icon unter Menu/Programming/Node-RED.

In einem neu zu öffnenden Terminal kann dann Node-RED durch die Eingabe von node-red-stop beendet werden.

Das System administrieren

Mit der Eingabe von

sudo systemctl enable Node-RED.service

am Terminal kann das System so konfiguriert werden, dass Node-RED beim Bootvorgang mit gestartet wird. Mit sudo service Node-RED status wird der Status überprüft, mit sudo service Node-RED stop wird Node-RED beendet.

Wichtige Dateien im Home-Verzeichnis

Es gibt zwei wichtige Dateien, die sich im Home-Verzeichnis .node-red befinden. Dies sind:

settings.js: Hier sind die Standardvoreinstellungen gespeichert. So kann z. B. die maximale Länge der Ausgabe des debug-Nodes erhöht werden – debugMaxLength: 5000.

JAVASCRIPT-OBJEKTE

Die Datei settings.js exportiert ein JavaScript-Objekt. Um Node-RED zu konfigurieren, sollte ein Grundverständnis hinsichtlich des Hinzufügens und Änderns von Schlüsselpaaren in JavaScript-Objekten vorhanden sein.

flows_<Rechnername>.json: In dieser Datei werden alle Flows gespeichert, <Rechnername> ist der Name des Rechners, auf dem Node-RED läuft (z. B. raspberrypi). Diese Datei sollte vor jeder Änderung in Node-RED gesichert werden, da einige Updates diese Datei in den Urzustand zurücksetzen.

Sicherheit mit Passwortauthentifizierung

Nach der Installation ist Node-RED nicht gesichert. Das heißt, jeder, der Zugang im und zum eigenen Netz hat, kann auf den Node-RED-Editor zugreifen und so Flows verändern und über spezielle Nodes auf den gesamten Rechner zugreifen. Eine Authentifizierung mittels Passwort kann helfen, das zu vermeiden. Was also zu tun ist:

Ein Passwort-Hash erzeugen:

Das zu verwendende Passwort muss als Hash in der Konfigurationsdatei settings.js abgelegt werden, und zwar mithilfe der Admin-CLI-Tools. In der Regel müssen diese aber noch nachinstalliert werden. Bei der Installation kann es zu einigen Warn- und Fehlerhinweisen kommen, die in der Regel ignoriert werden können.

sudo npm install -g node-red-admin

Nun kann das Tool aufgerufen werden. Es erfragt das Passwort und gibt den Hash aus.

sudo node-red-admin hash-pw

Mit Copy-and-paste in eine leere Textdatei kann der Hash zunächst einmal gesichert werden.

Die Datei setting.js anpassen:

Meistens liegt die Konfigurationsdatei unter /home/pi/.node-red/settings.js. Diese Datei öffnen wir in einem Editor, suchen den bereits vorgegebenen, aber auskommentierten Bereich Security Node-Red und ergänzen ihn wie folgt:

001

adminAuth: {

002

type: "credentials",

003

users: [{

004

username: "admin",

005

password: "der-generierte-Hash",

006

permissions: "*"

007

}]

008

},

"*" bei permissions besagt, dass der Benutzer admin alle Berechtigungen haben soll. Wird nun nach einem Neustart der Node-RED-Editor aufgerufen, erscheint eine Log-in-Maske, in der sich der Benutzer authentifizieren muss.

Bild 2.1: Das Node-RED-Log-in.

Windows


Bedauerlicherweise funktionieren nicht alle Nodes unter Windows. Auch ist die Installation unter Windows etwas aufwendiger, da unter Umständen Programme eingerichtet werden müssen, die in einem Linux-System bereits vorhanden sind.

Installation unter Windows

Benötigt werden Node.js, npm5 (Paketmanager für JavaScript) und die Windows-Build-Tools für einige Node-RED-Nodes unter Windows.

Node.js installieren:

Die Standardinstallation von Node.js unter Windows erfordert lokale Administratorrechte. Nach der Navigation zur Node.js-Download-Page stehen sowohl eine 32-Bit- als auch 64-Bit-Versionen zur Verfügung. Durch Doppelklick auf die gewünschte Version öffnet sich ein Fenster, in dem ausgewählt werden kann, ob der MSI-Installer heruntergeladen und danach ausgeführt oder direkt ausgeführt werden soll. Nach Aufruf des Installers wird mittels entsprechender Dialogfenster durch den gesamten Installationsprozess geführt.

npm installieren:

Wenn Node.js installiert wird, kann auch gleichzeitig der npm-Paketmanager eingerichtet werden. npm- und Node.js-Version sollten zueinander passen. Deshalb wird davon abgeraten, eine neuere npm-Version als die entsprechende von Node.js zu installieren.

Node-RED für mehrere Benutzer:

Node.js wird wie erwartet in den Ordner Programme installiert. Wird jedoch ein globales Paket wie Node-RED mit npm -g installiert, wird es für den aktuellen Benutzer im Ordner $ env: APPDATA \ npm (% APPDATA% \ npm mit cmd) installiert. Das ist weniger hilfreich, wenn die Installation z. B. auf einem PC für mehrere Benutzeranmeldungen durchgeführt werden soll. In diesem Fall ist ein erweitertes Vorgehen nötig (siehe unten).

Node.js-Windows-Build-Tools installieren:

Viele Node.js-Module, die von Node-RED oder installierten Nodes verwendet werden, haben binäre Komponenten, die kompiliert werden müssen, bevor sie unter Windows funktionieren. Damit npm-Binärdateien auf der Windows-Plattform kompilieren können, ist das windows-build-tools-Modul erforderlich. Hierzu ist eine Terminalsitzung mit Administratorrechten zu starten und folgendes Kommando einzugeben:

npm install –global –production windows-build-tools

Wenn Sie möchten, dass die integrierte Installation von Python v2.7 zur Verwendung freigegeben wird, können Sie folgenden Befehl eingeben:

npm install –global –production add-python-zu-pfad windows-build-tools

Während der Installation kann es vorkommen, dass vom Befehl node-gyp einige Fehler gemeldet werden. Das sind in der Regel keine schwerwiegenden Fehler, die sich auf optionale Compilerabhängigkeiten beziehen, die bei der Erstellung der Module angegeben werden können. Node-RED funktioniert ohne diese optionalen...

Blick ins Buch

Weitere E-Books zum Thema: Sonstiges

Schimmelpilze in Wohngebäuden

E-Book Schimmelpilze in Wohngebäuden
Ursachen, Vermeidung und Bekämpfung Format: PDF

Mit der Verringerung des Lüftungsaustausches in den Wohnungen, der Entstehung von Wärmebrücken nach der Sanierung u.a. werden die schon immer vorhandenen Schimmelpilze durch lokale…

Schimmelpilze in Wohngebäuden

E-Book Schimmelpilze in Wohngebäuden
Ursachen, Vermeidung und Bekämpfung Format: PDF

Mit der Verringerung des Lüftungsaustausches in den Wohnungen, der Entstehung von Wärmebrücken nach der Sanierung u.a. werden die schon immer vorhandenen Schimmelpilze durch lokale…

Daumendrücken

E-Book Daumendrücken
Der ganz normale Aberglaube im Alltag Format: PDF

Warum klopfen wir auf Holz? Warum gilt die Sieben als Glückszahl, warum aber nicht im 'verflixten siebten Jahr'? Warum sind selbst 'Sonntagskinder' nicht vor 'Hexenschuss' gefeit? - Ob wir wollen…

Daumendrücken

E-Book Daumendrücken
Der ganz normale Aberglaube im Alltag Format: PDF

Warum klopfen wir auf Holz? Warum gilt die Sieben als Glückszahl, warum aber nicht im 'verflixten siebten Jahr'? Warum sind selbst 'Sonntagskinder' nicht vor 'Hexenschuss' gefeit? - Ob wir wollen…

Generation 50 plus

E-Book Generation 50 plus
Ratgeber für Menschen in den besten Jahren Format: PDF

Vor gar nicht allzu langer Zeit galt ein Mensch jenseits der 60 als 'alt'. Heute wissen wir, dass mit '66 noch lange nicht Schluss' ist. Dank der Erkenntnisse der modernen Medizin ist es den meisten…

Generation 50 plus

E-Book Generation 50 plus
Ratgeber für Menschen in den besten Jahren Format: PDF

Vor gar nicht allzu langer Zeit galt ein Mensch jenseits der 60 als 'alt'. Heute wissen wir, dass mit '66 noch lange nicht Schluss' ist. Dank der Erkenntnisse der modernen Medizin ist es den meisten…

Networking

E-Book Networking
Kontakte nutzen, Beziehungen pflegen Format: PDF

Networking ist für die Karriere von großer Wichtigkeit - und nicht zu verwechseln mit Vetternwirtschaft. Wie man ein persönliches Netzwerk aufbaut und Kontakte pflegt, beschreibt…

Grammatik 5. und 6. Klasse

E-Book Grammatik 5. und 6. Klasse
Format: PDF

Du bist mit deiner Deutschnote nicht zufrieden? Du könntest beim Aufsatzschreiben und beim Diktat noch besser sein, wenn du in der deutschen Grammatik sicherer wärst? Möchtest du die…

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

AUTOCAD & Inventor Magazin

AUTOCAD & Inventor Magazin

FÜHREND - Das AUTOCAD & Inventor Magazin berichtet seinen Lesern seit 30 Jahren ausführlich über die Lösungsvielfalt der SoftwareLösungen des Herstellers Autodesk. Die Produkte gehören zu ...

Baumarkt

Baumarkt

Baumarkt enthält eine ausführliche jährliche Konjunkturanalyse des deutschen Baumarktes und stellt die wichtigsten Ergebnisse des abgelaufenen Baujahres in vielen Zahlen und Fakten zusammen. Auf ...

Berufsstart Bewerbung

Berufsstart Bewerbung

»Berufsstart Bewerbung« erscheint jährlich zum Wintersemester im November mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

e-commerce magazin

e-commerce magazin

PFLICHTLEKTÜRE – Seit zwei Jahrzehnten begleitet das e-commerce magazin das sich ständig ändernde Geschäftsfeld des Online- handels. Um den Durchblick zu behalten, teilen hier renommierte ...