Node-RED – InfluxDB

IoTUeli - influxdb

InfluxDB ist die beste Wahl für die Speicherung von Telemetriedaten, weil es eine geringe Latenzzeit beim Umgang mit Daten und eine echte SQL-ähnliche Sprache ermöglicht.

Ich werde Ihnen zeigen, wie Sie mithilfe von Node-RED Ihre InfluxDB Datenbank verwalten können. Als Grundvoraussetzung muss natürlich eine InfluxDB installiert sein.

Sie haben noch keine InfluxDB installiert?

Zusätzlich, müssen Sie noch der InfluxDB Node innerhalb von Node-RED nachinstallieren, die Anleitung finden Sie bei den Grundlagen.

Damit Sie die InfluxDB ordnungsgemäß verwalten können, ist es natürlich eine Voraussetzung, dass Sie sich mit SQL-Datenbank befehlen auskennen.


1. Daten in die InfluxDB schreiben

Der gelbe Random Node habe ich zusätzlich installiert, hier werden Zufallszahlen zwischen 1 und 10 generiert, diese Daten möchte ich danach in die InfluxDB übergeben.

Die generierten Daten integriere ich daraufhin in ein Objekt. Das Objekt habe ich erstellt, weil in der Praxis nicht nur einen Datenwert in die InfluxDB übertragen wird, sondern mehrere, diese können Sie dementsprechend einfach erweitern.

msg.payload = [{
    RandomWert: msg.payload
}];
return msg;

Zu guter Letzt konfigurieren wir noch den Node von der InfluxDB. Hier müssen Sie als Erstes den Endpunkt des Servers angeben, weil dieser bei mir auf demselben Gerät installiert wurde, trage ich localhost ein. Nun können Sie noch der Name Ihrer Datenbank eintragen.

Haben Sie dies abgeschlossen, können Sie noch ein Measurement definieren, ich nenne meines Random, weil ich mit Zufallszahlen arbeite. Die kommenden Befehle werden explizit auf dieses Measurement angewendet.

Ab jetzt werden die generierten Zahlen in der Datenbank im Measurement Random gespeichert.


2. Daten aus der InfluxDB lesen

Damit ich Daten aus der InfluxDB auslesen kann, habe ich zwei verschiedene Querys erstellt.

Letzte 5 Datenpunkte auslesen:

select * from Random order by time desc limit 5

Alle Datenpunkte auslesen:

select * from Random

Mithilfe des grünen Debug-Node kann ich mir Ausgabe der InfluxDB anzeigen lassen.


3. Inhalt der InfluxDB löschen

Natürlich kann es auch hilfreich sein, wenn Sie die Daten aus der InfluxDB wieder löschen können. Hierfür habe ich auch wieder ein Query definiert. Sie könnten z. B. der Inhalt der DB löschen, nachdem Sie die Daten z. B. weitergeleitet oder analysiert haben.

Inhalt der Datenbank löschen

DELETE FROM Random

4. Node-RED Flow

Der komplette Flow finden Sie unter folgendem Link zum Download: