PDF Version: Hackathon Handwerk Guide.pdf

Benötigte Geräte, Bauteile und Zubehör

Im Laufe dieser Anleitung werden die folgenden Geräte, Bauteile und Elemente benötigt. Die aufgelisteten Elemente werden in der Anleitung wie in der Liste bezeichnet.

  • RaspberryPI 3 Model B+
  • GrovePI+
  • Dragino LoRa/GPS HAT 868
  • HDMI Display, HDMI Kabel
  • Tastatur, Maus
  • Netzwerk (via Kabel oder WiFi)
  • Rancher NodeRED
  • Grove IR Distanz Interrupt
  • Grove LED
  • Mikro SD Karte

Abbildungen der wichtigsten Module, Geräte und Elemente:

Fig. 1: RaspberryPI 3

Fig. 2: GrovePI+

Fig. 3: Dragino LoRa/GPS HAT 868

Fig. 4: HDMI Display, HDMI Kabel

Fig. 5: Grove IR Distanz Interrupt

Fig. 6: Grove LED

Module an den RaspberryPI anschließen

Damit der RaspberryPI mit allen Modulen genutzt werden kann, müssen diese mit dem RaspberryPI verbunden werden.

Der RaspberryPI verfügt über einen 40 PIN Header (siehe Fig. 7) sowie mehrere USB-, HDMI-, Netzwerk-und Kameraanschlüsse.

Zum Anschließen der Module folgen wir den Schritten 1.-3.

Fig. 7: RaspberryPI 3 Model B+ Anschlüsse

1. GrovePI+auf den 40 PIN Header stecken.

Fig. 8: RaspberryPI 3 Model B+ und GrovePI+

2. Dragino LoRa/GPS HAT 868auf den GrovePI+ Es werden nicht alle PINS benötigt.

Fig. 9: Dragino LoRa/GPS HAT 868 auf GrovePI+

3. HDMI Displayanschließen. Das hier verwendete Display hat eine Touch-Funktion. Dafür auch den USB-Anschluss anschließen.

HINWEIS: Die im Hackathon verwendeten RaspberryPIs sind für diese Displays vorkonfiguriert.

Fig. 10: RaspberryPI 3 Model B+ – Bildschirm

Installieren von Raspbian (RaspberryPI Betriebssystem)

Zum Installieren des Raspbian folgen wir den Schritten 1.-11.

1. Damit wir den RaspberryPI verwenden und programmieren können, müssen wir ein Betriebssystem auf die Micro SD Karte In diesem Fall handelt es sich um Raspbian: 

https://downloads.raspberrypi.org/raspbian_latest

HINWEIS: Beim Hackathon haben wir bereits Images von Raspbian auf den SD Karten erstellt und konfiguriert

2. Herunterladen von Etcher

https://etcher.io/

Hierfür wählen wir die Version, die mit unserem PC kompatibel ist, und fahren mit dem Download fort.

Fig. 11: Etcher Download-Seite

3. Nachdem die Etcher-Datei heruntergeladen ist, öffnen wir diese.

Das Programm installieren wir dann wie gehabt unter Windows bzw. Mac.

Fig. 12: Öffnen der heruntergeladenen Etcher-Installationsdatei

4. Das Programm Etcheröffnen, um Raspbian auf der Mikro SD Kartezu installieren.

5. Unter „Select Image“ die zuvor in Schritt 1 heruntergeladene Datei auswählen.

Fig. 13: Auswählen der Raspbian-Datei aus Schritt 1

6. Nun können wir die Mikro SD Karteauswählen, auf den wir den Inhalt übertragen möchten.

HINWEIS: Stellen Sie sicher, dass die Sperre auf Ihrem SD-Kartenadapter ausgeschaltet ist. Anderenfalls können Sie kein Bild auf die eingelegte Mikro SD Karte brennen.

Fig. 14: Etcher SD Karte auswählen

7. Danach müssen wir nur noch auf den “Flash!”-Button klicken und Etcherbeginnt damit, das Programm Raspbianauf unsere Mikro SD Kartezu Brennen.

Fig. 15: Speichern von Raspbian auf der Mikro SD Karte

8. Nachdem der Vorgang erfolgreich abgeschlossen wurde, können wir Etcherschließen und unsere Mikro SD Karteöffnen, die nun „boot“ heißt.

Fig. 16: Öffnen der Mikro SD Karte “boot”

9. Mikro SD Kartein den RaspberryPI

Fig. 17: Mikro SD Karte in Raspberry PI

10. RaspberryPIverbinden (siehe Fig. 18)

Fig. 18: RaspberryPI Verbindungen

11. Hat alles funktioniert, wird der Desktop auf dem Bildschirm angezeigt (RaspberryPI Startbildschirm, siehe Fig. 19).

Fig. 19: RaspberryPI Desktop

RaspberryPI mit dem Internet verbinden

Der RaspberryPI kann entweder über einen Ethernet-Stecker oder über WiFi mit dem Internet verbunden werden.

Um den RaspberryPI mit einem WiFi zu verbinden, führen wir die folgenden Schritte 1.-4. durch.

HINWEIS: Beim Hackathon sollte der RaspberryPI bereits mit dem Netz verbunden sein.

1. RaspberryPI WiFi-Land Gemäß rechtlicher Anforderungen (Frequenzen), muss das Land für die WiFi-Frequenz eingestellt werden (siehe Fig. 20,Fig. 21,Fig. 22):

Menü–> RPI Config–> Localisation–>WiFi Country–>Deutschland

Fig. 20: RaspberryPI: Fehlende Länderangabe für WiFi

Fig. 21: RaspberryPI – Menü -> Preferences -> Raspberry PI COnfiguration

Fig. 22: RaspberryPI – Wi-Fi Country

 2. Wifi auswählen (siehe Fig. 23)

Fig. 23: RaspberryPI: Wifi auswählen

3. Für das ausgewählte Wifi wie gehabt das Passwort

Fig. 24: RaspberryPI: Passwort eingeben

4. Den Browser öffnen und eine beliebige Adresse eingeben. Es sollte jetzt eine Verbindung mit dem Internet hergestellt werden.

RaspberryPI Einstellungen

HINWEIS: Die Einstellungen sollten für den Hackathon konfiguriert sein. Bei eigenen RaspberryPIs müssen die nachstehenden Einstellungen konfiguriert werden.

1. Damit alle Geräte genutzt werden können, müssen folgende Eingabemethoden bzw. Interfaces aktiviert werden (siehe Fig. 25):

  • Camera: Um eine Kamera anschließen zu können
  • SSH: Um per ssh Konsole den RaspberryPI verwalten zu können.
  • VNC: Remote Desktop, z.B. Teamviewer
  • SPI: Kommunikation mit Dragino LoRa/GPS HAT 868
  • I2C: Erlaubt das Ansteuern des GrovePI+
  • Serial: Fehlerbehebungen

Fig. 25: RaspberryPI Interfaces

NodeRED ‑ Überblick und erster Start

HINWEIS:  NodeRED ist i.d.R. vorkonfiguriert, beim Hackathon stehen allerdings spezielle Knoten zur Verfügung, die sonst erst installiert werden müssen.

HINWEIS: Für den Hackathon is NodeRED auf den RaspberryPIs so konfiguriert, dass es automatisch gestartet ist.

Es gibt zwei Möglichkeiten, NodeRED auf dem RaspberryPI zu öffnen bzw. zu starten. Für Option A(lokal) folgen wir den Schritten 1. und 2. Für die Option B(remote) folgen wir den Schritten 1.-5.

NodeRED starten

Option A ‑ Lokal

1. NodeRED über Menü öffnen. Raspbian Menü oben rechts -> Internet -> NodeRED

Fig. 26: NodeRED RaspberryPI Menü

2. Folgendes Fenster sollte sichtbar sein, wenn NodeRED gestartet ist:

Fig. 27: NodeRED: Startbildschirm

Option B ‑ Remote

HINWEIS: Durch die vorherige Konfiguration für den Hackathon Handwerk ist NodeRED auf dem RaspberryPI auch auf dem Laptop, Smartphone, etc. verfügbar.

1. Die Adresse des RaspberryPIs in den Browser eingeben, bspw. hackathon-handwerk.de:1880

HINWEIS: Den Port:1880 nicht vergessen. Ansonsten gibt es keine Verbindung.

2. Rausfinden der IP-Adresse: RaspberryPI-Konsole öffnen

Fig. 28: RaspberryPI-Konsole öffnen

3. Befehl eingeben: ifconfig(siehe Fig. 29)

HINWEIS: Der RaspberryPI hat mehrere Internet-Verbindungsmöglichkeiten. Ethernet (Kabel) und Wifi.

  • Ethernet / Kabel àIP-Adresse von eth0verwenden
  • WiFiàIP-Adresse von wlan0verwenden
  • Ist beides verbunden, kann man sich eins aussuchen

Fig. 29: RaspberryPI: ifconfig

4. Ausgelesene IP-Adressein den Browser eingeben, bspw. 192.168.0.2:1880

HINWEIS: Den Port, hier „:1880“, nicht vergessen, da sonst keine Verbindung aufgebaut werden kann.

5. Ist die IP-Adresse korrekt, wird folgende Seite im Browser angezeigt:

Fig. 30: NodeRED: Startbildschirm

NodeRED Überblick

NodeRED ist eine Webanwendung, die einen Flusseditor zur Verfügung stellt. Im Kern werden Knoten zu Flüssen verbunden, um Programm-Logik auf abstrakte Weise abzubilden. Wird NodeRED gestartet, so sieht man folgende Seite (siehe Fig. 27oder Fig. 30).

Knoten (Nodes)

Knoten sind die kleinsten Elemente in NodeRED. Knoten (siehe Fig. 31) sind kleine Funktionsbausteine, die eine bestimmte Aufgabe ausführen. Sie arbeiten mit einer Eingabe, führen eine Aufgabe aus und produzieren eine Ausgabe. Wenn Knoten miteinander zu einer Kette verbunden sind, erzeugen sie einen Fluss. Ein Fluss ist also eine Gruppe von Knoten, die miteinander sind, um eine Aufgabe abzuschließen. Die Knoten befinden sich in einer Knotenpalette auf der linken Seite des Editors. Sie sind in Abschnitte unterteilt, sodass wir die Knoten, die wir benötigen, leichter finden können. Außerdem gibt es oben eine Suchfunktion.

Fig. 31: NodeRED-Knoten

Konfigurationsknoten (configuring nodes)

Einige Knoten müssen für die Nutzung konfiguriert werden. Um einen Knoten zu konfigurieren, klicken wir mit einem Doppelkick auf den Knoten, sodass sich ein Formular (siehe Fig. 33) öffnet. In dem Formular können wir den Knoten mit den Einstellungen, die wir brauchen, konfigurieren.

Flüsse (Flows)

Für die Erstellung eines Flusses müssen wir lediglich zwei oder mehr Knoten auf das Blatt ziehen und deren Punkte, die sich beim Eingang und Ausgang der Knoten befinden, miteinander verbinden. Wenn ein Knoten ausgelöst wird, wird eine Nachricht von einem zum nächsten Knoten von links nach rechts übertragen, bis das Ende des Flusses erreicht ist. Fig. 33zeigt ein Beispiel, indem wir die Informationen aus einem Lichtsensor, der an den A0-Anschluss eines GrovePI+ angeschlossen ist, aus. Hiermit erstellen wir ein Liniendiagramm und senden die Informationen über den Nachrichtenservice PushBullet (]https://www.pushbullet.com/)

Fig. 32: NodeRED: Überblick (1)

Nachrichten / Information Packet (msg)

Das Informationspaket ist ein einfaches JavaScript-Objekt namens msg:

Das Nachrichten-Objekt kann von den Knoten des Flussen verändert werden. Es können Eigenschaften hinzugefügt, weggenommen oder geändert werden. Das Nachrichtenobjekt enthält einige Vordefinierte Eigenschaften die im Folgenden betrachtet werden. Es ist dabei wichtig sich an die Richtlinien des Nachrichtenobjekts zu halten um variable Flüsse zu bauen.

Payload Property/ Eigenschaft

Die wichtigste Eigenschaft des Nachrichtenobjektes ist die “payload”. Diese Eigenschaft wird verwendet um Nachrichten von einem Knoten zu einem anderen zu Transporten. Die meisten Knoten bearbeiten nur den Inhalt dieser Eigenschaft. Die „payload“ Eigenschaft ist ein Objekt das alle möglichen Daten, bspw. Datum, Wahrheitswerte, Zahlen, Wörter oder andere Objekte speichern kann.

Wenn Daten in der „payload“ Eigenschaft gespeichert werden muss man sich bewusst sein, dass diese von anderen Knoten geändert und gelöscht werden können. Wird der Knoten oder Fluss gestoppt oder gelöscht, gehen die Daten verloren. Sollen die Daten erhalten bleiben, müssen diese in einer Datenbank o.ä. gespeichert werden.

Topic Property/ Thema

Die Eigenschaft “topic” dient dazu einem Nachrichtenobjekt ein leserliches Thema zuzuweisen. Dies ist hilfreich bei der Fehlerbehebung.

_msgid Property

Die Eigenschaft “_msgid” wird intern von NodeRED genutzt um Nachrichtenobjekte zu unterscheiden.

Knoten-Palette

In dieser Liste werden alle Knoten, die in NodeRED installiert sind und zur Verfügung stehen, angezeigt. Mit einem Klick auf einen Knoten können detaillierte Informationen zur Verwendung angezeigt werden (siehe Fig. 32).

Arbeitsfläche

Auf die Arbeitsfläche in der Mitte können Knoten aus der Knoten-Palette gezogen werden. Die Arbeitsfläche dient als „Schreibtisch“. Dort werden Knoten verschoben und Ein- sowie Ausgänge verbunden und so Flüsse geformt.

Fig. 33: NodeRED: Überblick (2)

Knoteninformationen

Der rechte Bereich der NodeRED Oberfläche (Knoten-Informationen) enthält Details für den ausgewählten Knoten. Im oberen Bereich kann zwischen den Tabs bzw. Registern „Info“, für Informationen, „Debug“, für Fehlerbehebungsinformationen und „Dashboard“, für die Dashboard-Konfiguration gewechselt werden. Letzteres ist für die Erstellung von Dashboards mit den Dashboard-Knoten relevant.

Speichern eines Flusses

Änderungen auf der Arbeitsfläche werden nicht direkt gespeichert und bleiben zunächst im Browser. Schließt man also den Browser, gehen alle Änderungen verloren. Zudem wird die neue Logik noch nicht von NodeRED verarbeitet. Damit die Änderungen wirksam werden, muss der Fluss gespeichert werden. Beim Speichern werden die Informationen der Knoten aus dem Editor in die „Workflow Engine“ von NodeRED übertragen und somit wirksam.

Wichtige Knoten

Inject Knoten

Der „Inject“-Knoten ist besonders hilfreich beim Erstellen eines Programms. Er erlaubt es, Nachrichten in den Fluss zu „injecten“ (engl. Einführen). Damit können Flüsse getestet werden. Es stehen mehrere Optionen für die eingeführten Nachrichten zur Auswahl.

Fig. 34: Inject Knoten NodeRED

Debug Knoten / Fehlerbehebungsknoten

Der „Debug“ Knoten gibt alle eingehenden Nachrichten, oder Teile davon, im Tab „debug“ der Knoten-Information auf der rechten Seite aus. Dies ist hilfreich, um nachzuvollziehen zu können, wie welcher Knoten die durchlaufende Nachricht verändert hat (siehe Fig. 35).

Fig. 35: Debug Knoten

Flow 01 – Erste Sensordaten und Aktion

In diesem ersten Beispiel sollen Sensoren und Aktuatoren mit dem RaspberryPI verbunden und über NodeRED gesteuert werden. Hierfür folgen wir den Schritten 1.-8.

HINWEIS: Verwendete Knoten sind speziell für den Hackathon entwickelt und müssen sonst erst installiert werden.

1. NodeREDstarten (siehe NodeRED ‑ Überblick und erster Start).

2.Grove IR Distanz Interrupt- Sensor (siehe Fig. 37) mit dem GrovePI+an Port A0 verbinden (siehe Fig. 36).

3. Grove LED(siehe Fig. 38) mit dem GrovePI+an Port D2 Verbinden (siehe Fig. 36).

Fig. 36: GrovePI+ Ports

Fig. 37: Grove IR Distanz-Interrupt

Fig. 38: Grove LED

4. In NodeREDden Knoten „IR Distanz“ auf die Arbeitsfläche ziehen. Dieser Knoten enthält ein Bild und Hinweis bzgl. des Anschlusses in der „Knoten-Information“ (siehe Fig. 32).

HINWEIS: Beim ersten Verwenden eines GrovePI+ Knoten wird nach einer “Board-Konfiguration” gefragt, hier einfach das vorausgewählte verwenden (siehe Fig. 39& Fig. 40).

Die Board-Konfiguration wird benötigt, um die Kommunikation zwischen RaspberryPI und dem GrovePI+ Modul zu ermöglichen und muss nur einmalig definiert werden. Alle anderen GrovePI+ Knoten übernehmen diese Board-Konfiguration dann.

Fig. 39: IR Distanz Interrupt ‑ Board-Konfiguration

Fig. 40: Board-Konfiguration erstellen

5. Den Knoten„LED“ auf die Arbeitsfläche ziehen und für den Anschluss D2 konfigurieren.

6. Den Ausgang des „IR Distanz Interrupt“Knotens mit dem Eingang des LED Knotens verbinden.

7. Flow speichern.

8. Der Flow / Fluss sollte wie folgt aussehen (siehe Fig. 41). Hält man die Hand vor den Sensor, so wird eine „1“ angezeigt und and die Grove LED gesendet. Dies führt dazu, dass die Grove LED angeschaltet wird.

HINWEIS: Der „IR Distanz Interrupt“ Knoten sendet, je nach Einstellung, nur eine Nachricht, wenn sich sein Wert verändert. Es werden also nicht ständig „1, 1, 1, ,1 ,1“-Nachrichten gesendet, wenn das gewünscht ist.

Fig. 41: NodeRED “IR Distanz Interrupt ‑ LED” ‑ Fluss

Flow 02 – Daten in die “Cloud” über LoRaWAN und das The Things Network (TTN)

Aufbauend auf dem vorherigen Fluss wollen wir nun die Daten desGrove IR Distanz InterruptSensors mit LoRaWAN und dem TTN an unsere Hackathon-Cloud schicken.

Damit wir die Nachrichten senden können, wird ein The Things Network Account mit zugehöriger Anwendung und eingerichteten Geräten benötigt.

HINWEIS: Team Accounts für TTN wurden bereits erstellt und können verwendet werden.

HINWEIS: Eigene Accounts sind aber hilfreich außerhalb des Hackathons.

Registrierung beim TTN

The Things Network baut ein Netzwerk für das Internet der Dinge auf, indem es eine abundant Datenverbindung schafft, damit Anwendungen und Unternehmen davon profitieren können.

Die Technologie, die wir verwenden, heißt LoRaWAN und ermöglicht es, ohne 3G oder WiFi mit dem Internet zu kommunizieren, d.h. also keine WLAN-Codes und keine Mobiltelefonabonnement wird benötigt.

“It features low battery usage, long range and low bandwidth. Perfect for the internet of things.” (The Things Network (n.d.): Building a global internet of things network together [online]. Abgerufen von https://www.thethingsnetwork.org/[17.07.2018])

Für die Registrierung beim TTN und die Erstellung von TTN-Anwendungen und -Geräten folgen wir den Schritten 1.-9.

1. Folgende Seite öffnen und auf „Sign Up“ / „Registrieren“ klicken (siehe Fig. 42):

https://www.thethingsnetwork.org/

Fig. 42: TTN: Registrieren

2. Registrierungsformular ausfüllen:

Fig. 43: TTN: Registrierungsformular

Fig. 44: Erfolgreiche Anmeldung beim TTN

3. Nach erfolgreicher Anmeldung auf die Verwaltungsoberfläche navigieren. Klicken auf „Console“:

Fig. 45: TTN: Verwaltungskonsole

4. In der Konsole die Liste der Anwendungen aufrufen.

Fig. 46: TTN: Anwendungen auf Konsole aufrufen

5. Neue TTN-Anwendung erstellen. Dabei werden eine eindeutige (und sinnvolle) Application ID benötigt (siehe Fig. 48)

Fig. 47: Neue TTN-Anwendung erstellen (1)

Fig. 48: Neue TTN-Anwendung erstellen (2)

6. Ist die Anwendung erfolgreich erstellt, wird die Übersichtsseite gezeigt. Danach muss ein Gerät zu der Anwendung hinzugefügt werden. Ein Gerät in TTN ist die digitale Repräsentation eines physischen Gerätes.

Ein Gerät benötigt wieder eine sinnvolle, eindeutige Device ID. Weiterhin sollte auf den Button neben „DeviceEUI“ geklickt werden, damit das TTN automatisch eine DeviceEUI generiert (siehe Fig. 50).

Fig. 49: TTN-Anwendung: Gerät erstellen (1)

Fig. 50: TTN-Anwendung: Gerät erstellen (2)

7. Wurde das Gerät erfolgreich erstellt, wird die Übersichtsseite des Gerätes angezeigt. Diese Seite enthält Informationen zur Konfiguration des Gerätes und stellt einen Live-Daten-Ticker zur Verfügung.

Damit das Gerät mit der lokalen LoRa-Infrastruktur kommunizieren kann, muss die Aktivierungsmethode von „OTAA“ auf „APB“ geändert werden (siehe Fig. 51).

Das Deaktivieren der „Frame Counter Checks“ stellt in einer Prototyp-Umgebung kein Problem dar. In einer produktiven Anwendung sollte OTAA verwendet werden.

Fig. 51: TTN: Geräte-Übersicht

Fig. 52: TTN Geräte Einstellungen

8. Sind die Änderungen durchgeführt, wird eine andere Übersichtsseite mit anderen Informationen angezeigt. Diese Informationen werden später bei der Konfiguration in NodeRED benötigt.

Fig. 53: TTN: ABP Konfigurationsinformationen

9. Anwendungsdaten-Ticker: Hier werden in Echtzeit die eingehenden Nachrichten angezeigt. Die Nachrichten sind verschlüsselt und kodiert, sodass man i.d.R. nicht den Inhalt auslesen kann.

Inhalte von Nachrichten können über die Definition eines „Decoders“ im Tab „Payload Formats“ ausgelesen werden.

HINWEIS: Das Auslesen von Nachrichten geschieht beim Hackathon Handwerk über NodeRED in der Cloud-Umgebung. In TTN ist eine Dekodierung der Daten nicht notwendig.

Fig. 54: TTN: Anwendungsdaten Ticker

Daten über LoRaWAN an das TTN schicken

Nachdem die Daten vom Grove IR Distanz Interrupterfasst wurden, sollen diese nun an die zuvor angelegte TTN-Anwendung geschickt werden, um diese später weiterzuverarbeiten.

HINWEIS: Die LoRa-Knoten sind speziell für den Hackathon Handwerk entwickelt und müssen sonst erst installiert werden.

Zum Schicken von Daten über LoRaWAN an das TTN folgen wir den Schritten 1.-8.

1. Jede Änderung des Sensors soll an das TTN geschickt werden.

Dazu in den Einstellungen des „IR Distanz Interrupt“Knotens die Leseart auf„Nur Änderung“ stellen.

Die Leseart „Kontinuierlich“ liest in einem bestimmten Interval den Sensor aus und sendet die Information an den nächsten Knoten. Das Interval kann dabei über das Eingabefeld „Interval“ definiert werden.

Fig. 55: IR Distanz Interrupt Sensor ‑ Leseart

2. Damit die Daten des Sensors an das TTN über LoRaWAN verschickt werden können, müssen diese in ein „Datenpaket“ verpackt werden. Dazu den Knoten „LoRa Paket“ auf die Arbeitsfläche ziehen und mit dem Sensor verbinden.

3. Den Knoten „LoRa Paket“ konfigurieren (siehe Fig. 56). Doppelklick auf den Knoten.

  • Hier muss der Wertetyp ausgewählt werden. Anhand dieser Information werden die Daten komprimiert und verpackt. In den meisten Fällen kann der Typ „Zahl“ verwendet werden.
  • Die Auswahl „Nachrichten Inhalt“ kann verwendet werden, wenn andere Bestandteile der Nachricht verpackt werden sollen.

HINWEIS: Es können mehrere „LoRa Paket“ Knoten verwendet werden, um mehrere Informationen zu verpacken. Dabei ist die Reihenfolge des Verpackens für das spätere Entpacken wichtig. Die Information der Reihenfolge kann nach erfolgreichem Senden ausgelesen werden.

Fig.56: LoRa Paket Knoten Konfiguration

4. Knoten„TTN Nachricht Senden“ auf die Arbeitsfläche ziehen und den Eingang mit dem Ausgang des „LoRa Paket“Knotens verbinden.

5. Der „TTN Nachricht Senden“ Knoten benötigt die Informationen des zugehörigen Gerätes und der Anwendung die zuvor in der TTN Verwaltung erstellt wurden (siehe Fig. 53)

6. Die markierten Felder aus Fig. 59(rechts) nach Fig. 59(links) übertragen.

HINWEIS: Die Informationen werden benötigt, um die Daten zu verschlüsseln und der richtigen Anwendung mit dem richtigen Gerät zuzuordnen.

HINWEIS: Der zweite Ausgang des Knotens gibt Informationen zur Konfiguration der Empfangsknoten aus. Hier einen „Debug“ Knoten anschließen.

7. Den Kanal bzw. die Frequenz auswählen, auf der übertragen werden soll.

HINWEIS: Auf dem Hackathon Handwerk stehen Gateways zur Verfügung, die alle dargestellten Kanäle unterstützen.

HINWEIS: Die Dragino SG01-S Gateways unterstützen nur einen Kanal und wurden vom Hackathon Team auf den Kanal 868,1 mHz konfiguriert.

8. Den Fluss speichern. Immer wenn nun eine Änderung des Sensors, bspw. durch eine Hand vor dem Sensor, ausgelöst wird, wird die Information an das TTN übertragen und ist im Datenticker der TTN-Anwendung sichtbar (siehe Fig. 54).

Fig. 57: Sensor, Paket, TTN Senden Flow

Fig. 58: Knoten TTN Nachricht Senden ‑ Konfiguration

Fig. 59: Übertragen der Geräteinformationen aus dem TTN in den NodeRED Knoten

Flow 03 – LoRa-Daten vom TTN empfangen, verpacken und verarbeiten

Nachdem die Daten von den Sensoren am RaspberryPI erhoben, verpackt und gesendet wurden, sollen diese nun an die NodeRED-Cloud-Umgebung des Hackathons gesendet werden, um sie zu verarbeiten und zu verteilen.

Hinweis: Dies ist möglich da durch den Hackathon NodeRED-Cloud-Systeme mit speziellen Knoten zur Verfügung gestellt werden. Diese müssen sonst anderweitig beschafft und installiert werden.

Zum Empfangen, Verpacken und Verarbeiten von LoRa-Daten vom TTN folgen wir den Schritten 1.-6.

1. In die NodeRED-Cloud-Umgebung einloggen. Dazu den Browser aufrufen und die Adresse des Teams eingeben. Bspw. Team0.rancher.hackathon-handwerk.de. Es wird eine weitere NodeRED-Seite angezeigt (vgl. Fig. 27).

2. Den Knoten „TTN Uplink“ auf die Arbeitsfläche ziehen und konfigurieren (siehe Fig. 60,Fig. 61).

  • Dafür muss auf der TTN-Verwaltungskonsole die aktuelle Anwendung geöffnet werden (siehe Fig. 49)
  • Die Daten aus der Verwaltungskonsole dann wie in Fig. 61übertragen.

Fig. 60: TTN Uplink Knoten Konfiguration (1)

Fig. 61: TTN Uplink Knoten Konfiguration (2)

3. Ist die Konfiguration hergestellt, zeigt der Knoten den Status “Connected” an (siehe Fig. 60)

HINWEIS: „Debug“ Knoten mit dem Ausgang des „TTN Uplink“ Knotens verbinden um Nachrichten im Rohzustand zu sehen.

4. Den Knoten „LoRa Paket auspacken“ auf die Arbeits fläche ziehen und mit dem Ausgang des der TTN Uplikn Knotens verbinden.

Fig. 62: NodeRED Cloud TTN Nachricht entpacken

5. Die Konfiguration des Knotens „TTN Nachricht Senden“ aus dem Abschnitt „LoRa Nachricht senden“ kopieren und in die Konfiguration des „LoRa Paket auspacken“ Knoten kopieren (siehe Fig. 62).

Hinweis: zum Auslesen der Information kann ein „Debug“ Knoten verwendet werden und mit dem zweiten Ausgang (von oben) des „TTN Nachricht Senden“ Knotens verbunden werden. Der „Debug“ Knoten sollte nur die „Payload“ der Nachricht anzeigen.

Fig. 63: NodeRED Knoten “LoRa Paket auspacken” konfigurieren

6. Die Daten stehen nun zur Verwendung zur Verfügung.

Flow 04 – Dashboards mit NodeRED

Hinweis: Dashboards mit NodeRED ist möglich, da durch den Hackathon NodeRED-Cloud-Systeme mit speziellen Knoten zur Verfügung gestellt werden. Diese müssen ansonsten anderweitig beschafft und installiert werden.

Um ein Dashboard mit NodeRED zu erstellen folgen wir den Schritten 1.-8.

1. In die NodeRED-Cloud-Umgebung einloggen. Dazu den Browser aufrufen und die Adresse des Teams eingeben. Bspw. Team0.rancher.hackathon-handwerk.de. Es wird eine weitere NodeRED-Seite angezeigt (vgl. Fig. 27).

2. Den Knoten „chart“ auf die Arbeitsfläche ziehen und mit dem Ausgang des „TTN Nachricht auspacken“ Knotens verbinden.

Fig. 64: NodeRED Cloud – Graph Knoten für Dashboard

3. Danach den „chart“ Knoten und das Dashboard einrichten. Dafür die Konfigurationen aus Fig. 64,Fig. 65,Fig. 66,Fig. 67und Fig. 68durchführen.

Fig. 65: NodeRED – Chart Knoten Konfiguration

Fig. 66: NodeRED – Dashboard – UI Group – Knoten Konfiguration

Fig. 67: NodeRED Dashboard UI Tab Knoten Konfiguration

Fig. 68: NodeRED Dashboard anzeigen und Chart-Ergebnis

4. Immer wenn der Sensor („IR Distanz Interrupt“) erkennt, dass ein Objekt in der Nähe ist, soll eine Benachrichtigung im Dashboard angezeigt werden.

Dazu den Knoten „switch“ auf die Arbeitsfläche ziehen und mit dem „LoRa Paket auspacken“ Knoten verbinden (siehe Fig. 69).

5. Den „switch“ Knoten so konfigurieren, dass er nur bei einem Eingang von „1“ weiterleitet. 1 steht hierbei für den Wert, den der Sensor sendet, wenn die Nähe eines Objektes erkannt wrude (siehe Fig. 69).

Fig. 69: NodeRED-Cloud: Dashboard-Flow

Fig. 70: NodeRED-Cloud: Konfiguration switch Knoten

6. Um eine Benachrichtigung anzuzeigen, den Knoten “show notification” auf die Arbeitsfläche ziehen und mit dem „switch“ Knoten verbinden (siehe Fig. 69).

7. Den „show notification“ Knoten konfigurieren (siehe Fig. 71)

Fig.71: NodeRED-Cloud: Show notification Knoten konfigurieren

8. Den Flow speichern und das Dashboard öffnen. Hält man ein Objekt vor den Sensor, wird der Graph aktualisiert und eine Nachricht angezeigt (siehe Fig. 72).

Fig. 72: Dashboard-Ergebnis