Einführung

smartgage bietet Funktionen für

  • die Erfassung von Messdaten mit Datenlogger (GSV-6LTE),
  • die Fernsteuerung des Datenloggers (Remotecontrol),
  • die Speicherung von Messdaten (InfluxDB),
  • die Anzeige von Messdaten (Grafana).

Datenlogger GSV-6LTE

Der Datenlogger GSV-6LTE hat 6 Messkanäle. Jeder Messkanal kann individuell konfiguriert werden für Dehnungsmessstreifen Voll-, Halb- Viertelbrücken, Spannungseingang oder Temperaturfühler PT1000.

Der Datenlogger GSV-6LTE sendet Messdaten über Mobilfunk LTE, oder über die Ethernet Schnittstelle oder über WLAN an den Webserver smartgage.de. Die Abtastfrequenz lässt sich online konfigurieren in einem Bereich von 1Hz bis 500Hz. Das Upload-Intervall lässt sich konfigurieren. Die Anzahl der Messdaten kann schon im Datenlogger dezimiert werden, indem aus den Messwerten der Mittelwert, der Minimalwerte und der Maximalwert eines konfigurierbaren Intervalls gebildet wird.

Der Datenlogger GSV-6LTE im wetterfesten IP66 Gehäuse verfügt über einen eigenen Akku für ca. 12h Betriebsdauer. Über einen Rundsteckverbinder kann eine externe Spannungsversorgung angeschlossen werden, z.B. Netzteil, Bleiakku oder ein Solarpanel.

Durch eine eingebaute Echtzeituhr besteht die Möglichkeit zur Messung in Intervallen, z.B. 1x pro Stunde oder 1x pro Tag. Der GSV-6LTE wird in festgelegten Intervallen selbsttätig eingeschaltet für die Durchführung einer Messung.

Remote Control

Als registrierter Anwender auf smartgage.de kann man einen oder mehrerer Datenlogger ("Devices") verwalten. Die Datenlogger können mit Namen benannt werden (Device Name) und verschiedenen Projekten (Project Name) zugeordnet werden. Für jeden Datenlogger werden vom Anwender in der Datenbank Tabellen (Device Properties) angelegt, welche die Konfiguration des Datenloggers enthalten.
Die Eigenschaften des Datenloggers sind in verschiedenen Tabellen beschrieben. Der Schlüssel zu den Tabellen des Datenloggers ist die eindeutige Kombination aus Seriennummer und Benutzername. Die Tabellen der Datenbank remotecontrol werden vom Datenlogger (in einem konfigurierbaren Intervall) abgerufen.
Folgende Eigenschaften snd verfügbar:

Tabelle Beschreibung
Scaling Kanalname, Physikalische Einheit der Messgröße, Skalierungsfaktor, Offset
Timer Abtastintervall (meas_interval) in Sekunden oder Millisekunden (meas_unit), Upload Intervall (timer_upload), Zeitspanne für durchlaufenden Mittelwert (timer_average), Zeitspanne für Abruf der Konfiguration (timer_config)
Thresholds Schwellwert (Minimalwert, Maximalwert) für jeden Kanal des Datenloggers.
Simcard Informationen zur engesetzten Simcard, wie z.B. Telefonnummer, PIN-Nr, Provider, Eigentümer, etc.
Counter Eigenschaften des Zählereingangs für digitale Sensoren wie z.B. Drehgeber: Skalierungsfaktor, physikalische Einheit
Tags Tags sind Kennzeichnungen in der Datenbank influxDB, die den Messwerten zugeordnet werden.
Datenbank "remotecontrol"

Zugangsdaten

  • host: smartgage.de
  • port: 3306
  • name: remotecontrol
  • user: myUserName (wie unter "Device" --> "Add New Database" konfiguriert)
  • password: myPassword (wie unter "Device --> Add New Database" konfiguriert

MySQL Beispiele

Logfile "remotecontrol"

smartgage.de stellt für jeden Datenlogger zwei Logfiles zur Verfügung.
Diese logfiles sind erreichbar unter unter "DEVICE" --> "CONFIG-LOG"

  • logfile über Updates der Datenlogger-Eigenschaften (Device Properties) auf smartgage.de
  • Uploads von logfile-Meldungen des Datenloggers

https Logfile-Schnittstelle

Logfile-Meldungen werden per HTTP-Anfrage übertragen:
Adresse: https://www.smartgage.de/influx/remotecontrol.php

Die Parameter werden per POST-Methode übertragen.

Das Übertragen von logfile-Meldungen erfordert keine Authentifizierung an der remotecontrol Datenbank.
Die Zuordnung der Logfile-Meldungen erfolgt über die Parameter "username" und "serialnumber"

Parameter

Parameter Inhalt Beschreibung
log info|warning|error|debug der Parameter "log" muss einen der Werte "info" oder "warning" oder "error" oder "debug" annehmen. Er dient zur Klassifizierung der logfile Einträge.
username device_serialnumber der Parameter "serialnumber" muss der Seriennummer eines Datenloggers auf smartgage.de entsprechen.
serialnumber device_serialnumber der Parameter "serialnumber" muss der Seriennummer eines Datenloggers auf smartgage.de entsprechen.
datetime datetime der Parameter "datetime" muss einen Zeitstempel im Format yyyy-mm-dd hh:mm:ss enthalten.
message .* der Parameter "message" enthält den eigentlichen Eintrag für das logfile. Die Länge von "message" sollte 255 Zeichen nicht überschreiten.
info [.*] der optionale Parameter "info" enthält zusätzliche Einträge für das logfile. Die Länge von "info" sollte 255 Zeichen nicht überschreiten.

Beispiel


     curl -XPOST "https://www.smartgage.de/influx/remotecontrol.php" --data-urlencode "log=info" --data-urlencode "username=myUsername" --data-urlencode "serialnumber=12345678" --data-urlencode "datetime=2019-08-11 16:41:00" --data-urlencode "message=Device up 2 days 8:39"
     curl -XPOST "https://www.smartgage.de/influx/remotecontrol.php" -d "log=info&username=myUsername&serialnumber=12345678&datetime=2019-08-11 16:41:00&message=Device up 2 days 8:39"
     curl "https://www.smartgage.de/influx/remotecontrol.php" -d "log=info&username=myUsername&serialnumber=12345678&datetime=2019-08-11 16:41:00&message=Device up 2 days 8:39"
    

InfluxDB
Beschreibung

Die Datenbank influxDB dient zur Speicherung von Zeitreihen-Messdaten. Im Unterschied zu SQL Datenbanken ist influxDB darauf ausgelegt, eine große Menge an Zeitreihendaten zu speichern und de Daten schnell in Echtzeit zu analysieren.

Auf dem Server smartgage.de ist die Open Source Version von influxDB installiert.
https://www.influxdata.com/

Als Anwender von smartgage hat man die Möglichkeit, eine eigene Datenbank anzulegen.
Der Name der Datenbank, der Benutzername und das Passwort werden vom Anwender festgelegt.
Mit dem Kommando "Add Database" wird einem Datenlogger eine Datenbank zugeordnet.
Über die Zuordnung zu enem Datenlogger besteht gleichzeitig eine Zuordnung zu einem Projekt.
Mit dem Kommando "Assign Database" können weitere Datenlogger zu einer vorhandenen Datenbank zugeordnet werden.

Je nach Vertrag kann der Anwender über eine einzige Datenbank verfügen (Tarife "free" und "professional"), oder über mehrere Datenbanken (Tarif "enterprise") verfügen.
Die Daten von verschiedenen Projekten können verschiedenen "Containern" der Datenbank zugeordnet werden.
Diese Container werden in influxDB "measurement" genannt und sind somit das zentrale Element zur Filterung, zum Export, zur grafischen Anzeige oder zum Löschen von Daten.

Auf smartgage.de wird jedes Projekt per default einem eigenen "measurement" zugeordnet.

Messdaten Schreiben

Zum Schreiben von Messdaten nutzt der Datenlogger den Endpunkt
"https://www.smartgage.de:8086/write"
Beim Schreiben von Messdaten werden per https POST Anfrage die folgenden Daten übermittelt:

  • Datenbank-Name
  • Datenbank-Benutzer
  • Datenbank-Passwort
  • measurement
  • tag-set
  • field-set
  • timestamp

Die Datenbank influxDB auf smartgage.de kann auch mit jedem anderen Datenlogger genutzt werden, oder auch von jedem anderen Server oder Analyse-Tool ausgewertet werden.
Die Dokumentation von influxdb ist unter https://docs.influxdata.com/influxdb/v1.7/tools/api/

smartgage.de bietet auch ein webinterface zum Schreiben von Daten unter
-->Account -->Write DB

Als Betreiber eines Datenloggers GSV-6LTE sind keine Datenbank Kenntnisse erforderlich. Die gesamte Konfiguration ist über die Website smartgage.de möglich.

Messdaten Lesen

Zum lesen von Messdaten nutzt der Datenlogger den Endpunkt
"https://www.smartgage.de:8086/query"

Die Dokumentation von influxdb ist unter https://docs.influxdata.com/influxdb/v1.7/tools/api/#query-http-endpoint

smartgage.de bietet auch ein webinterface zum Lesen und Exportieren von Daten unter
-->Account -->Read DB

Programmier-Beispiele
Grafana

Grafana ist eine Software zur Analyse von Daten und zur Alarmierung.
Auf dem Webserver smartgage.de ist die Open Source Version von Grafana installiert.
https://grafana.com/grafana

Auf dem "Dashboard" von Grafana erhält man die grafische Anzeige der Messdaten. En Beispiel Dashboard ist unter desem Link:
https://smartgage.de:3000

Für die Alarmierung stehen verschiedene "Channels" zur Verfügung, wie z.B.

  • email
  • Pushover
  • PagerTree
  • Opsgenie
https://grafana.com/docs/alerting/notifications/

Einschränkungen durch die OpenSource Version

Das Anlegen und Editieren von Dashboards sowie das Anlegen und Modifizieren von "Notification Channels" und Alarm Schwellwerten durch den Anwender ist nicht möglich. smartgage.de bietet diese Leistung als Service.

Alternativ zur OpenSource Version von Grafana auf smartgage.de können die Messdaten auch auf "Hosted Grafana" visualisiert und überwacht werden mit diversen "Notification Channels".
https://grafana.com/products/cloud#pricing

Der Wechsel von smartgage.de zu "Hosted Grafana" und die "Mitnahme" des Dashboards von smartgage.de ist durch json export / json import jederzeit möglich.
Diese Option richtet sich vor allem an Benutzer mit Datenbank-Kenntnissen und Programmier-Kenntnissen.

Die Datenbank "influxDB" und die Visualisierung "Grafana" können auf getrennten Servern von unterschiedlichen Anbietern kombiniert werden.

warum smartgage.de

  • > 20 Jahre Erfahrung mit Messdaten in der Cloud,
  • < 20 Jahre Erfahrung mit eigener Hardware zur "online" Erfassung von Messdaten in der Cloud,
  • Verwendung eigener Server, Standort Deutschland,
  • Verwendung von etablierten Standards, bestehend aus influxDB, Grafana,
  • Entwicklung und Herstellung von Messelektronik,
  • Installation von Dehnungsmessstreifen und Sensoren vor Ort,
  • Kombination "Sensorik" und "Webcams".