34
Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger [email protected]

Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger [email protected]

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Node-RedDer Fluss der Dinge

oder

Klick dir dein Internet der Dinge zusammen

Uwe [email protected]

Page 2: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 2

Node-Red

Uwe Berger

● Beruf: Softwareentwickler● Freizeit: u.a. mit Hard- und

Software rumspielen● Linux seit ca. 1995● BraLUG e.V.● [email protected]

Page 3: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 3

Node-Red

Das Problem...

...Internet of Things (IoT)...:● Jedes neue „Ding“ bringt eine neue API mit...● Jeder neue Dienst bringt eine neue API mit...● Für eine IoT-Lösung müssen diese (vielen) unterschiedli-

chen Dinge und Dienste verknüpft werden…!

Es kostet Zeit, immer wieder darüber nachzudenken, wie man das Zusammenspiel vieler unterschiedlicher Schnittstel-len implementiert!

Page 4: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 4

Node-Red

...eine Lösung

Ein Baukasten...:● ...in dem die APIs bereits implementiert und untereinander

„normalisiert“ sind...● ...und in dem man die „Dinge“ einfach nur noch

zusammenstecken muss...

→ Node-Red könnte da eine Lösung sein!

Page 5: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 5

Node-Red

Hääää,… Baukasten…?

...ich bin doch ein Programmier-Nerd...?#!.+?!...?

Page 6: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 6

Node-Red

Inhalt● Was ist Node-Red?● Installation, Konfiguration von Node-Red● Arbeiten mit Node-Red...

Page 7: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 7

Node-Red

Node-Red („Kennzahlen“)● Erstes Release: 2013● IBM; Nick O‘Leary, Dave Conway-Jones● mittlerweise Open Source (Apache License 2.0)● Basiert auf Node.js (damit auch plattformübergreifend)● Browser-basierte Entwicklungsumgebung● Konzept der Datenflussprogrammierung...

Page 8: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 8

Node-Red

...Datenflussprogrammierung...

Page 9: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 9

Node-Red

Node-Red ist...● ein Baukasten zum Zusammensetzen von Anwendungen...● ...via Drag and Drop● Ideal für Prototyp-Entwicklung (proof of concept)● Ideal zur Implementierung von einfachen Abläufen● einfach zu erweitern● mehr als ein Baukasten zum Zusammenstellen von

Weboberflächen!

Page 10: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 10

Node-Red

Node-Red ist...● ...keine Laufzeitumgebung für unternehmenskritische

Anwendungen

Page 11: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 11

Node-Red

Node-Red installieren...● Node.js und npm (node package manager) via apt instal-

lieren● Node-Red via npm installieren

$ sudo apt-get install nodejs npm…

$ sudo npm install -g --unsafe-perm node-red…

Page 12: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 12

Node-Red

Node-Red konfigurieren...

● Datei settings.js (Reihenfolge der Suche)● über Kommandozeilenparameter● in /home/<user>/.node­red/● im Installationsverzeichnis von Node-Red

● Was kann konfiguriert werden?● Ports, Verzeichnisse● Sicherheitseinstellungen(!)● ...etc. (originale settings.js ist gut kommentiert und/oder

RTFM)

Page 13: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 13

Node-Red

Node-Red starten...● Kommandozeile:$ whereis node-rednode-red: /usr/local/bin/node-red

$ node-red…

● …oder als Dienst:● RTFM…● ...mit systemd z.B.:

→ https://diyprojects.io/node-red-installation-configuration-ubuntu-16-04-lts/

Page 14: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 14

Node-Red

http://localhost:1880/

Page 15: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 15

Node-Red

Nodes (Eingabe/Verarbeitung/Ausgabe)

Page 16: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 16

Node-Red

...viele weitere Nodes

...für Raspberry Pi gibt es da auch was…!

Page 17: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 17

Node-Red

Nodes nachinstallieren...

Page 18: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 18

Node-Red

Hilfe zu Nodes

Page 19: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 19

Node-Red

Message-Objekt...● In der Regel immer:

● msg.topic● msg.payload

● ...plus node-spezifische Eigenschaften

Page 20: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 20

Node-Red

Live… - ein „Hello World!“

Page 21: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 21

Node-Red

Dashboard● ...nachinstallieren… (node-red-dashboard)● u.a. diverse Ein-/Ausgabe-Elemente für

Weboberflächen (mit Node-Red)● http://localhost:1880/ui/

Page 22: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 22

Node-Red

Live… ein kleines Dashboard

Page 23: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 23

Node-Red

Stichworte für eigene Experimente...

Arbeiten mit Flows● Export/Import von Flows● Subflows

Programmieren● Function-Nodes (die mit eigenem JavaScript-Code „befüllt“

werden können)● Variablenreichweite:

● Node-weit: context.set(), context.get(), ...● Flow-weit: flow.set(), flow.get(), ...● Node-Red-weit: global.set(), global.get(), ...

Page 24: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 24

Node-Red

Function-Node

Page 25: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 25

Node-Red

Beispiel: Computer

Page 26: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 26

Node-Red

Beispiel: Computer (Flow)

Page 27: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 27

Node-Red

Beispiel: Wettervorhersage

Page 28: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 28

Node-Red

Beispiel: Wettervorhersage (Flow)

Page 29: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 29

Node-Red

Beispiel: Wetter

Page 30: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 30

Node-Red

Beispiel: Wetter (Flow)

Page 31: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 31

Node-Red

Beispiel: Sensoren

Page 32: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 32

Node-Red

Beispiel: Sensoren (Flow)

Page 33: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 33

Node-Red

Weiterführende Informationen● https://nodered.org/● https://github.com/node-red/node-red

Page 34: Node-Red - programm.froscon.de · Node-Red Der Fluss der Dinge oder Klick dir dein Internet der Dinge zusammen Uwe Berger bergeruw@gmx.net

Uwe Berger; 2018 34

Node-Red

Fragen, Feedback...?