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:
- 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 - Klicke auf den “Speichern”-Button und füge einen entsprechenden Service in die Docker-Compose Datei ein, wie im folgenden Beispiel.
- Kopiere die erscheinenden “OAUTH Einstellungen” in den neu hinzugefügten Service. Diese erscheinen nur, wenn du die entsprechende Admin-Berechtigung hast.
- 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")
- Erstelle einen Ordner in data, der mit deinem Instanznamen benannt ist, z.B. “node-red-1”
- 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.