Lektion II

Vorbereitung und was wird benötigt

  • Der Raspberry Pi aus Lektion I
  • Das Steckbrett inkl. einiger Kabel zum verdrathen
  • Der GPIO Adapter mit dem Anschlusskabel an den Raspberry Pi
  • Das Relaismodul
  • ein paar elektronische Bauelemente (Widerstände (100R, 150R), Potentiometer, LEDs (verschiedene Farben))
  • etwas Werkzeug

Wer hat ein Multimeter (Analog oder digital), das kann eventuell hilfreich sein.

Lernziel dieser Lektion

  • Installation der Node-RED Umgebung
  • Verbinden, anschliessen des Raspberry Pi mit dem Steckbrett
  • erste Erfahrungen mit dem System sammeln (Eingabe/ Ausgabe)
  • Grundsätzliche Erklärung der Node-RED Entwicklungsumgebung
  • Aufbau eines Dashboard

Rapsberry Pi vorbereiten

Hardware

Sollte der Raspberry Pi noch nicht mit der 40-poligen Stiftleiste ausgestattet sein, so muss diese jetzt eingelötet werden. Nur dann kann auch der Flachstecker angeschlossen werden. Eine LED kann über einen 150R Widerstand mit 5V verbunden werden. Eine weitere LED über einen 100R Widerstand mit 3.3V. So hat man schon einmal die Gewissheit, Betriebsspannung liegt am Steckbrett über den Extension Adapter an.

Wenn das Flachbandkabel mit Kabelbindern etwas zusammen gezurrt wird, ist es handlicher auf dem Tisch.

Raspi mit GPIO Extender, Steckbrett und eine LED für 3.3V, 5V

Anschluss der Relaiskarte

Bei der 4-fach oder 8-fach Relaiskarte ist eine Besonderheit zu beachten. Die Relais schalten wenn der Input PIN auf Masse gelegt wird. Das bedeutet sie haben eine umgekehrte Logik. 0 = Eingeschaltet, 1 = Ausgeschaltet

4-fach Relais Karte

Anschlussbelegung
Relaiskarte — Raspberry GPIO
GND — GND
VCC — +5V
IN1 — GPIO 13
IN2 — GPIO 19
IN3 — GPIO 26
IN4 — GPIO 21


Software

Jezt ist es an der Zeit die Node-RED Umgebung zu installieren. Die Installation erfolgt aus dem Internet, bedeutet der Raspi benötigt einen Internetzugang. Jeder dieser Befehle kann eine gewisse Zeit dauern, die Installation benötigt so ca. 15 Minuten. Fragen die im Rahmen des Installationsprozesses mit Y/N beantwortet werden müssen – immer mit Y bestätigen.

Node-Red

Die Installation von Node-RED erfolgt am einfachsten in einem Terminalfenster (Putty) in genau diesen nachfolgenden 5 Schritten. Die Befehle können per copy & paste übernommen werden.

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
  4. sudo systemctl enable nodered.service
  5. sudo reboot

Nach Abschluss des Kommandos „sudo rebbot“ startet der Raspberry Pi neu und das dauert einen Moment. Danach ist der Zugriff auf Node-RED über den Webbroser möglich. http://<IP-Adresse>:1880


Zugriff auf Node-RED

Nachdem der Raspberry Pi neu gestartet ist kann auf die Node-RED Umgebung zugegriffen werden. Im Browser sollte es dann so aussehen:

Node-Red Startbildschirm http://IP-Adresse:1880

Weitere Node-RED Module

Zur Anpassung der Node-RED Umgebung ist es notwendig weitere Module einzubinden. Durch das Einbinden von Modulen wird die Funktionalität erweitert. Dazu wird die sogenannte Palette erweitert. Im Node-RED im Browser oben rechts auf das Menue-Icon klicken (3 waagerechte Balken übereinander) und dann den Auswahlpunkt Palette verwalten wählen. Im Tab „Installierte Nodes“ ist zu sehen welche Nodes installiert sind und im Tab „Installation“ können weitere neue Nodes gesucht und installiert werden.

In dem Tab „Installation“ wird „node-red-dashboard“ eingegeben und das Modul installiert.

node-red-dashboard


Das erste Node-RED Programm

Nun ist es an der Zeit das Relais einmal anzusteuern. Dazu wird jetzt ein erstes kleiner Node-RED Ablauf erstellt. Ziel ist es jeden Kanal der Relaiskarte über den Browser im Dashboard einzeln schalten zu können. Für diesen Ablauf werden 2 Nodes benötigt. Switch aus dem Set Dashboard und rpi-gpio-out aus dem Set Raspberry Pi.

Node-RED Nodes transportieren in Ihrem Fluß eine Traglast (payload). Die Last kann unterschiedliche Formen annehmen. Eine Form ist boolean und hat genau 2 Zustände wahr oder falsch (english true oder false). Diese werden an den nächsten Knoten übergeben und dort verarbeitet.

Der Switch Node erstellt einen Schalter im Dashboard mit 2 Zuständen. Der Node rpi-gpio-out schaltet einen Port ein oder aus. Dieser Node ist die Schnittstelle zur Hardware des Raspberry Pi. Jeder Node hat weitere Konfigurationsparameter, diese werden über einen doppelklick auf den Node erreicht.

Jede Änderung am Flow wird erst nach einer Übernahme wirksam. Das ist quasi ein Neustart des Programs. Diese Übernahme (deploy) wird rot hinterlegt oben rechts im Bild angezeigt.

Node-Red Flow
Dasboard im Browser

Aufgaben

Aufgabe 1

Erstelle einen Flow mit dem über das Dashboard mit je einem Schalter für Gartenlich, Haustür, Garage und Terasse jeweils ein zugehöriger Relais Port geschaltet wird. bei start des Programs wird jeder Port ausgeschaltet initialisiert.

Beispiel für die Umsetzung

Aufgabe 2

Erstelle einen Flow durch den der Relais Port 1 sofort eingeschaltet wird, der Port 2 5 Sekunden später, Port 3 weitere 5 Sekunden später, Port 4 weitere 5 Sekunden später. Nach weiteren 5 Sekunden werden alle Relais Ports ausgeschaltet. Der Vorgang beginnt erneut sobald der Schalter gedrückt wird. Der Schalter ist im Dashboard sichtbar.

Beispiel für eine Umsetzung

Aufgabe 3

Installiere das Modul „node-red-contrib-ui-led“ und Setze für jeden Relaisport eine Status LED in das Dashboard. Die LEDs leuchten grün wenn das Relais nicht geschaltet ist und rot wenn es geschaltet ist.

Beispiel für eine Umsetzung