Brandes | Mach's einfach: Erste Schritte mit der Smart-Home-Programmierung | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 190 Seiten

Reihe: Smart Home

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

Einstieg in die Hausautomation mit Node-RED
1. Auflage 2019
ISBN: 978-3-645-22479-6
Verlag: Franzis Verlag
Format: EPUB
Kopierschutz: 6 - ePub Watermark

Einstieg in die Hausautomation mit Node-RED

E-Book, Deutsch, 190 Seiten

Reihe: Smart Home

ISBN: 978-3-645-22479-6
Verlag: Franzis Verlag
Format: EPUB
Kopierschutz: 6 - ePub Watermark



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.
Brandes Mach's einfach: Erste Schritte mit der Smart-Home-Programmierung jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


 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 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 .

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 befinden. Dies sind:

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

JAVASCRIPT-OBJEKTE

Die Datei 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.

: In dieser Datei werden alle Flows gespeichert, ist der Name des Rechners, auf dem Node-RED läuft (z. B. ). 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 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 anpassen:

Meistens liegt die Konfigurationsdatei unter . 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 , 5 (Paketmanager für JavaScript) und die Windows-Build-Tools für einige Node-RED-Nodes unter Windows.

installieren:

Die Standardinstallation von unter Windows erfordert lokale Administratorrechte. Nach der Navigation zur -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.

installieren:

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

Node-RED für mehrere Benutzer:

wird wie erwartet in den Ordner installiert. Wird jedoch ein globales Paket wie Node-RED mit npm -g installiert, wird es für den aktuellen Benutzer im Ordner 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).

-Windows-Build-Tools installieren:

Viele -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 -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...



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.