Hinter dem fünften Türchen des Adventskalenders finden Sie einen Taster, der in dem heutigen Versuch anstelle des Boot-Buttons eingesetzt werden soll. Der Button wird so an Pin 18 und GND angeschlossen, dass er beim Drücken den Pin auf Masse, also LOW, zieht. Wenn Sie nun das Programm des Tages auswählen und den Button drücken, wird wieder eine Nachricht über UDP übermittelt.

Versuchsaufbau
Versuchsaufbau

Heute werden Sie das Programm Node-RED kennenlernen, mit dem Sie Ihre eigenen kleinen Programmabläufe erstellen und Vorgänge automatisieren können. Node-RED ist eine kostenlose Software, die es uns ermöglicht, verschiedene Geräte, Onlinedienste und APIs (Programmierschnittstellen) über eine einfache grafische Oberfläche zu verbinden. Die Verbindungen, Flows genannt, werden dabei einfach per Mausklick gezogen.

Node-RED gibt es für Linux, Windows und macOS. Sinnvoll ist die Verwendung eines Raspberry Pi, da dieser ohne großen Energiebedarf immer aktiv sein kann, ganz im Sinne des Smarthome. Außerdem ist Node-RED dort unter Raspbian bereits vorinstalliert.

Ich stelle die Installation beispielhaft für Windows 10 vor. Die meisten dieser Befehle sind aber auf andere Systeme übertragbar.

Im ersten Schritt muss Node.js installiert werden. Diese Software bekommen Sie von der Webseite https://nodejs.org/, auf der auch eine genaue Installationsanweisung zu finden ist. Installieren Sie die ca. 16 MByte große MSI-Datei per Doppelklick. Um sicherzugehen, dass alles korrekt installiert wurde, sollten Sie nun das Windows-Terminal, auch Kommandozeile oder Shell genannt (Windows-Taste + [R] und dann cmd eingeben), öffnen und

node –version && npm –version

eingeben. Das Ergebnis lautet z. B. v8.10.0 und 5.6.0, Sie könnten aber bereits eine neuere Version haben. In der Kommandozeile müssen Sie dann den Befehl zur Installation von Node-RED eingeben:

npm install -g –unsafe-perm node-red

Das kann eine Weile dauern. Anschließend starten Sie Node-RED mit diesem Kommandozeilenbefehl:

node-red

Die Firewall meldet sich. Im Hintergrund startet Node-RED in der Konsole
Die Firewall meldet sich. Im Hintergrund startet Node-RED in der Konsole

Sofort meldet sich die Firewall, die wissen möchte, wie mit der neuen Verbindung vorgegangen werden soll. Wichtig ist, dass Sie Private Netzwerke und Zugriff zulassen wählen. Nur dann kann Node-RED richtig arbeiten. Wichtig ist auch, dass Sie das Terminal jetzt nicht schließen, denn damit beenden Sie auch Node-RED wieder.

Nun haben Sie Node-RED installiert und gestartet, aber außer ein paar Zeilen im Terminal noch nicht viel Nützliches gesehen. Das liegt daran, dass die Bedienoberfläche der Software über den Browser geöffnet wird. Dazu öffnen Sie die Adresse http://127.0.0.1:1880/****. Dabei handelt es sich um die localhost-Adresse, mit der Sie Ihren Rechner adressieren. Die Zahl 1880 steht für den Port, über den Sie Node-RED erreichen. Wenn Sie von einem anderen Rechner aus auf Node-RED zugreifen möchten, müssen Sie natürlich die richtige IP des Rechners verwenden. Nun sehen Sie die Oberfläche von Node-RED mit der Flow-Fläche in der Mitte, den Nodes auf der linken und Informationen auf der rechten Seite.

Einstellungen und eine empfangene Nachricht
Einstellungen und eine empfangene Nachricht

Auf der linken Seite finden Sie im Bereich Input einen Node mit der Bezeichnung udp. Ziehen Sie ihn in die freie Fläche in der Mitte. Etwas weiter unten unter dem Punkt output finden Sie debug. Ziehen Sie diesen Node ebenfalls auf die Fläche. Verbinden Sie die beiden Nodes durch Klicken und Ziehen mit der Maus. Anschließend klicken Sie doppelt auf den UDP-Node, um die Einstellungen zu öffnen. Geben Sie alles genau so ein, wie Sie es auf dem Bild oben sehen. Dann bestätigen Sie mit Done. Zum Start müssen Sie auf den Deploy-Button oben rechts in der Ecke klicken. Es erscheint kurz die Meldung Success****fully deployed. Der neue Flow ist jetzt aktiv. Als letzten Schritt wählen Sie am rechten Rand das Register debug aus und drücken dann auf den Button auf dem Steckboard. Im debug-Fenster erscheint eine Nachricht im bekannten JSON-Format: {“cmd”:“btn1_pressed”}. Die Verbindung zu Node-RED steht also.

Hinweis: Das Abzählen der Board-Pins kann mühsam sein. Deswegen gibt es auf der Boardseite im Bereich Pinout eine Schablone, die Sie ausdrucken, ausschneiden und auf das Board legen können.