Typischer Datenfluss
Die Nodes der Bibliothek sind so entworfen, dass sie sich zu einer Kette verbinden lassen: Eine Quelle liefert Rohdaten, ein Builder formt daraus eine NGSI-LD-Entität, und ein Publisher schreibt sie in den Context Broker.
- Datenformat
- NGSI-LD (JSON-LD)
- Datenmodelle
- Smart Data Models
- Context Broker
- Stellio
Die Kette im Überblick
Auslösen
Ein Inject-Node startet den Abruf zeitgesteuert, zum Beispiel alle 10 Minuten.
Abrufen
Ein Connector holt Daten aus der Quelle und gibt sie als strukturiertes Objekt aus, oft bereits an ein Smart Data Model angelehnt.
Umformen
Der Builder erzeugt daraus eine gültige NGSI-LD-Entität mit Typ, URN-Kennung, Attributen und @context.
Veröffentlichen
Der Publisher legt die Entität im Context Broker an oder aktualisiert sie.
Ergebnis: Die Daten stehen über die NGSI-LD-Schnittstelle der Plattform für Dashboards, Apps und Subscriptions bereit.
Nicht jeder Flow braucht alle Glieder. Manche Connectors liefern bereits fertige NGSI-LD-Entitäten, die Sie direkt an Post to Stellio übergeben. Andere liefern flache Objekte, die der NGSI-LD Builder erst in das Zielmodell überführt. Die jeweilige Node-Seite nennt unter Ausgang, welches Format der Node liefert.
Was NGSI-LD und Smart Data Models sind
NGSI-LD ist ein Standard von ETSI zur Beschreibung von Kontextinformationen. Eine Entität steht für ein reales Objekt, zum Beispiel eine Wetterstation oder eine Ladesäule. Sie hat eine eindeutige Kennung in Form einer URN wie urn:ngsi-ld:WeatherObserved:station-001, einen Typ und Attribute. Attribute sind entweder Properties (Werte wie Temperatur), GeoProperties (Geometrien wie ein Standort) oder Relationships (Verweise auf andere Entitäten).
Smart Data Models sind frei verfügbare, abgestimmte Datenmodelle für typische Smart-City-Objekte. Die Nodes dieser Bibliothek orientieren sich an Modellen wie WeatherObserved, WaterObserved, AirQualityObserved, EVChargingStation oder NewsObserved. Dadurch können Daten aus unterschiedlichen Quellen einheitlich ausgewertet werden.
Der Context Broker Stellio speichert die Entitäten, beantwortet Abfragen und benachrichtigt Abonnenten über Änderungen. In der Urban Data Space Platform ist Stellio der zentrale Speicher für aktuelle Zustandsdaten.
Beispiel: Wetterdaten in den Context Broker
Der folgende Flow holt alle 10 Minuten die aktuelle Wettervorhersage des Deutschen Wetterdienstes und schreibt sie als WeatherObserved-Entität nach Stellio.
Inject
Intervall 600 Sekunden, einmal beim Deploy auslösen.
Post to Stellio
Broker-URL und Tenant eintragen, Entität anlegen oder aktualisieren.
Node öffnenWeitere Muster
Daten anreichern
Zwischen Connector und Builder können Sie Utility-Nodes einfügen. Der Geocoder ergänzt Koordinaten um eine Adresse oder umgekehrt, die Location Group ordnet Messpunkte einem Gebiet zu.
Auf Änderungen reagieren
Statt Daten zu schreiben, können Flows auch auf Änderungen im Broker reagieren. Mit Stellio Create Subscription legen Sie eine Subscription an, deren Benachrichtigungen ein HTTP-In-Node in Node-RED entgegennimmt.
Daten bereitstellen
Der PostgreSQL CSV API-Node stellt Datenbankinhalte als CSV-Endpunkt bereit, zum Beispiel für Tabellenkalkulationen oder Analysewerkzeuge.
Empfehlungen für den Betrieb
- Intervalle mit Augenmaß wählen. Viele Quellen aktualisieren ihre Daten nur alle 10 bis 60 Minuten. Häufigere Abfragen erzeugen nur Last.
- Fehler abfangen. Ein Catch-Node pro Flow sammelt Fehler der Nodes und schreibt sie in ein Log oder eine Benachrichtigung.
- Zugangsdaten zentral pflegen. Nutzen Sie Umgebungsvariablen oder Node-RED-Credentials statt Werte in Function-Nodes zu hinterlegen.
- Datenschutz prüfen. Bevor Daten in den Broker gelangen, klären Sie, ob sie personenbezogene Angaben enthalten, etwa Fahrzeugkennungen oder Namen in Feeds.