Node-RED

Unter dem Menüpunkt “Node-RED” findest du Links zu einer Node-RED-Instanz, wenn für dein Konto oder dessen Sub-Konten Instanzen angelegt wurden. Der IoT Service Builder verwendet Node-RED als flussbasiertes Entwicklungstool für die visuelle Programmierung. Node-RED bietet einen browser-basierten Flow-Editor, mit dem JavaScript-Funktionen angelegt werden können. Elemente von Anwendungen können zur Wiederverwendung gespeichert oder freigegeben werden. Die Laufzeitumgebung basiert auf Node.js. Die in Node-RED erstellten Flows werden mit JSON gespeichert. Seit seiner letzte Version können MQTT-Knoten ordnungsgemäß konfigurierte TLS-Verbindungen herstellen.

Der IoT Service Builder ist ein leistungsfähiges visuelles Editor-Studio, mit dem du Dashboards und Kundenanwendungen selbst anlegen und Dienste konfigurieren kannst. Dazu gehören lediglich das Hinzufügen neuer Knoten zu seiner Palette.

Einbindung eigener Node-Red-Instanzen

Du kannst eigene Node Red-Instanzen über niotix authentizifieren und einbinden, wenn du die entsprechenden Berechtigungen hast. Die SSL-gesichterte NodeRed-Isntanz erfolgt mittels oAuth2. So erstellst du eine neue Instanz:

  1. Füge eine IoT Service Builder URL zu dem Konto hinzu, über das die Instanz laufen soll, gefolgt von einem Instanz-Namen: https://DESTINATION/INSTANCE-NAME. In dieser Anleitung nutzen wir folgendes Beispiel: https://yourdomain.com/node-red-1
  2. Klicke auf den “Speichern”-Button und füge einen entsprechenden Service in die Docker-Compose Datei ein, wie im folgenden Beispiel.
  3. Kopiere die erscheinenden “OAUTH Einstellungen” in den neu hinzugefügten Service. Diese erscheinen nur, wenn du die entsprechende Admin-Berechtigung hast.
  4. Passe die Zeitzone an:
    
    node-red-1:    image: registry.gitlab.com/digimondo-samples/niotix-node-red/docker-niotix-node-red:oauth  
    volumes:
    ./data/node-red-1:/data  
     restart: always  
     user: "0"  
     environment:
    TZ=Europe/Berlin
    VIRTUAL_HOST=yourdomain.com
    VIRTUAL_PATH=/node-red-1
    LETSENCRYPT_HOST=yourdomain.com
    LETSENCRYPT_EMAIL=support@yourdomain.com
    OAUTH_CLIENT_ID=xxxxxxxx-477c-4b34-yyyy-2ecdca47bb02
    OAUTH_CLIENT_SECRET=xxxxxxxx-8ef8-451f-yyyy-65feaebc8ee8
    OAUTH_AUTH_URL=[https://api.niota.io/api/v1/oauth2/authorize](https://api.niota.io/api/v1/oauth2/authorize "https://api.niota.io/api/v1/oauth2/authorize")
    OAUTH_TOKEN_URL=[https://api.niota.io/api/v1/oauth2/token](https://api.niota.io/api/v1/oauth2/token "https://api.niota.io/api/v1/oauth2/token")
    OAUTH_CALLBACK_URL=[https://yourdomain.com/node-red-1/auth/strategy/callback](https://yourdomain.com/node-red-1/auth/strategy/callback "https://yourdomain.com/node-red-1/auth/strategy/callback")
    
  5. Erstelle einen Ordner in data, der mit deinem Instanznamen benannt ist, z.B. “node-red-1”
  6. Kopiere settings.js dorthin und verändere sie nicht mehr.

Wichtig: Um die Authentifizierung mit niotix zu verwenden ist es notwendig die cookies zu löschen. Dies kann direkt aus dem Browser ausgeführt werden.

Chrome: “Developer Tools” öffnen und den Tab “Application” auswählen. In der Sektion “Storage” den Punkt “Cookies” öffnen, den entsprechenden Eintrag auswählen (z.B. “https://flow.niota.io/“ - abhängig von der Domain-Konfiguration deiner Instanz) und per Rechtsklick die Option “Alles löschen” auswählen. Danach erneut in Node-RED einloggen.

Firefox: “Weitere Werkzeuge” aus dem Menü wählen und die “Werkzeuge für Web-Entwickler” öffnen. Im Tab “Web-Speicher” die Sektion “Cookies” öffnen, den entsprechenden Eintrag auswählen (z.B. “https://flow.niota.io/“ - abhängig von der Domain-Konfiguration deiner Instanz) und per Rechtsklick die Option “Alles löschen” auswählen. Danach erneut in Node-RED einloggen.