API Overview: Unterschied zwischen den Versionen

Aus Gude Systems GmbH
Zur Navigation springen Zur Suche springen
 
(16 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
Dies ist eine Übersicht über die GUDE API (Application Programming Interface) zur Steuerung und zum Zugriff auf GUDE Geräte mit verschiedenen Protokollen.
 +
 +
Unsere APIs sind modular aufgebaut und somit einheitlich für alle GUDE Geräte zu verwenden. Wir verwenden eine REST-API. Die Geräte können automatisch über die folgenden fünf verschiedenen Schnittstellen angesprochen werden, die unterschiedliche Möglichkeiten zur Steuerung und zum Zugriff auf die Konfigurationsdaten und Statusinformationen bieten. Nur HTTP(S) und die Konsole (Command Line Interface) bieten vollen Zugriff auf das Gerät.
 +
 +
Aus Erfahrung mit erfolgreich realisierten Kundenprojekten sind folgende Basisfunktionen bei einer Integration wichtig:
 +
* Ein- und Ausschalten der Ausgänge
 +
* Reset Funktion pro Ausgang
 +
* Abfrage des Port-Zustands
 +
* Messdaten: Spannung, Strom + Fehlerstrom (RCM), Stromverbrauch, Energiezähler (ein Zähler rücksetzbar)
 +
* Status des Überspannungsschutzes (Over Voltage Protection)
 +
* Externe Sensordaten: Temperatur, Luftfeuchtigkeit und Luftdruck
 +
 
{|class="wikitable"
 
{|class="wikitable"
!colspan="5"|Übersicht EPC/ENC APIs
+
!colspan="5"|Übersicht APIs
 
|-
 
|-
!Protcoll
+
!Protokoll
 
!Transport
 
!Transport
 
!Funktions-Umfang
 
!Funktions-Umfang
!Pros / Cons
+
!Positiv / Negativ
 
!Weitere Informationen
 
!Weitere Informationen
 
|-
 
|-
 
|'''CGI/JSON'''
 
|'''CGI/JSON'''
|HTTP / HTTPS
+
|HTTP(S)
 
|Lesen/Schreiben aller Konfigurationsdaten<br />Lesen/Schreiben aller Statusinformationen
 
|Lesen/Schreiben aller Konfigurationsdaten<br />Lesen/Schreiben aller Statusinformationen
|''Pros'': Vollständiger Funktions umfang<br>''Cons'': Braucht HTTP Blibliotheken und JSON Paarse
+
|''Positiv'': Vollständiger Funktionsumfang<br>''Negativ'': Braucht HTTP(S) Bibliotheken und JSON Parser
 
|
 
|
 
*[[EPC HTTP Interface]]
 
*[[EPC HTTP Interface]]
Zeile 20: Zeile 32:
 
**[https://github.com/gudesystems/port.py Ports schalten]
 
**[https://github.com/gudesystems/port.py Ports schalten]
 
**[https://github.com/gudesystems/check_gude.py Sensor Werte auslesen]
 
**[https://github.com/gudesystems/check_gude.py Sensor Werte auslesen]
 +
**[https://github.com/gudesystems/upload.py Deploy firmware updates, configuration and/or ssl certificates]
 
|-
 
|-
 
|'''CLI'''<br />''Command Line Interface''
 
|'''CLI'''<br />''Command Line Interface''
|Telnet / SSH / Serial / HTTP / HTTPS
+
|Telnet / SSH / MQTT<br />
 +
HTTP(S) / RS232
 
|Lesen/Schreiben aller Konfigurationsdaten<br />Lesen/Schreiben aller Statusinformationen
 
|Lesen/Schreiben aller Konfigurationsdaten<br />Lesen/Schreiben aller Statusinformationen
|''Pros'': Vollständiger Funktionsumfang, einfach Umgang
+
|''Positiv'': Vollständiger Funktionsumfang<br />
 +
''Positiv'': einfacher Umgang
 
|
 
|
 +
*[[Konsole]]
 
|-
 
|-
 
|'''SNMP'''
 
|'''SNMP'''
 
|SNMPv2 / SNMPv3
 
|SNMPv2 / SNMPv3
|Lesen/Schreiben Zustand der Powerports (Relais oder eFuses)<br />
+
|Lesen/Schreiben Zustand der Ports (Relais oder eFuses)<br />
Lesen/Schreiben Namen der Powerports (Relais oder eFuses)<br />
+
Lesen/Schreiben Namen der Ports (Relais oder eFuses)<br />
 
Lesen/Schreiben Zustand der Port Startkonfiguration<br />
 
Lesen/Schreiben Zustand der Port Startkonfiguration<br />
 
Lesen/Schreiben Zustand Buzzer<br />
 
Lesen/Schreiben Zustand Buzzer<br />
Zeile 40: Zeile 56:
 
Rücksetzen der Energiezähler<br />
 
Rücksetzen der Energiezähler<br />
 
Lesen Zustand Overvoltage Protection
 
Lesen Zustand Overvoltage Protection
|''Pros'': Stark im SNMP Umfeld<br>''Cons'': nicht alle Gerätefunktionen nutzbar
+
|''Positiv'': Einsatz in SNMP Umgebung erwünscht<br>''Negativ'': Gerät nicht komplett konfigurierbar
 
|
 
|
 +
*[[SNMP]]
 
|-
 
|-
 
|'''Modbus TCP'''
 
|'''Modbus TCP'''
 
|Modbus TCP
 
|Modbus TCP
|Lesen/Schreiben Zustand der Powerports (Relais oder eFuses)<br />
+
|Lesen/Schreiben Zustand der Ports (Relais oder eFuses)<br />
 
Lesen Zustand der Eingänge<br />
 
Lesen Zustand der Eingänge<br />
 
Lesen/Schreiben Konfiguration der Stromquellen<br />
 
Lesen/Schreiben Konfiguration der Stromquellen<br />
Zeile 52: Zeile 69:
 
Lesen Messwerte aller Energiesensoren<br />
 
Lesen Messwerte aller Energiesensoren<br />
 
Lesen Zustand Overvoltage Protection
 
Lesen Zustand Overvoltage Protection
|''Pros'': Stark im ModbusTCP Umfeld<br>''Cons'': nicht alle Gerätefunktionen nutzbar
+
|''Positiv'': Einsatz in ModbusTCP Umgebung erwünscht<br>''Negativ'': Gerät nicht komplett konfigurierbar
 
|
 
|
 
*[[ModbusTCP]]
 
*[[ModbusTCP]]
 +
|
 +
|-
 +
|'''MQTT'''<br />
 +
|MQTT
 +
|Verteilung von Nachrichten über MQTT-Broker<br />
 +
Verteilung von Sensordaten über MQTT-Broker<br />
 +
Ausführen von Konsolenkommandos
 +
|''Positiv'': Publish von Daten lokal oder in der Cloud<br />
 +
''Positiv'': Vollständiger Funktionsumfang durch CLI
 +
|
 +
*[[MQTT]]
 
|}
 
|}

Aktuelle Version vom 14. Mai 2024, 16:22 Uhr

Dies ist eine Übersicht über die GUDE API (Application Programming Interface) zur Steuerung und zum Zugriff auf GUDE Geräte mit verschiedenen Protokollen.

Unsere APIs sind modular aufgebaut und somit einheitlich für alle GUDE Geräte zu verwenden. Wir verwenden eine REST-API. Die Geräte können automatisch über die folgenden fünf verschiedenen Schnittstellen angesprochen werden, die unterschiedliche Möglichkeiten zur Steuerung und zum Zugriff auf die Konfigurationsdaten und Statusinformationen bieten. Nur HTTP(S) und die Konsole (Command Line Interface) bieten vollen Zugriff auf das Gerät.

Aus Erfahrung mit erfolgreich realisierten Kundenprojekten sind folgende Basisfunktionen bei einer Integration wichtig:

  • Ein- und Ausschalten der Ausgänge
  • Reset Funktion pro Ausgang
  • Abfrage des Port-Zustands
  • Messdaten: Spannung, Strom + Fehlerstrom (RCM), Stromverbrauch, Energiezähler (ein Zähler rücksetzbar)
  • Status des Überspannungsschutzes (Over Voltage Protection)
  • Externe Sensordaten: Temperatur, Luftfeuchtigkeit und Luftdruck
Übersicht APIs
Protokoll Transport Funktions-Umfang Positiv / Negativ Weitere Informationen
CGI/JSON HTTP(S) Lesen/Schreiben aller Konfigurationsdaten
Lesen/Schreiben aller Statusinformationen
Positiv: Vollständiger Funktionsumfang
Negativ: Braucht HTTP(S) Bibliotheken und JSON Parser


CLI
Command Line Interface
Telnet / SSH / MQTT

HTTP(S) / RS232

Lesen/Schreiben aller Konfigurationsdaten
Lesen/Schreiben aller Statusinformationen
Positiv: Vollständiger Funktionsumfang

Positiv: einfacher Umgang

SNMP SNMPv2 / SNMPv3 Lesen/Schreiben Zustand der Ports (Relais oder eFuses)

Lesen/Schreiben Namen der Ports (Relais oder eFuses)
Lesen/Schreiben Zustand der Port Startkonfiguration
Lesen/Schreiben Zustand Buzzer
Lesen/Schreiben Konfiguration der Stromquellen
Lesen/Schreiben Konfiguration des Lüfters
Lesen Messwerte externer Sensoren
Lesen Messwerte aller Energiesensoren
Lesen NTP Zeit und Status
Rücksetzen der Energiezähler
Lesen Zustand Overvoltage Protection

Positiv: Einsatz in SNMP Umgebung erwünscht
Negativ: Gerät nicht komplett konfigurierbar
Modbus TCP Modbus TCP Lesen/Schreiben Zustand der Ports (Relais oder eFuses)

Lesen Zustand der Eingänge
Lesen/Schreiben Konfiguration der Stromquellen
Lesen/Schreiben Konfiguration des Lüfters
Lesen Messwerte externer Sensoren
Lesen Messwerte aller Energiesensoren
Lesen Zustand Overvoltage Protection

Positiv: Einsatz in ModbusTCP Umgebung erwünscht
Negativ: Gerät nicht komplett konfigurierbar
MQTT
MQTT Verteilung von Nachrichten über MQTT-Broker

Verteilung von Sensordaten über MQTT-Broker
Ausführen von Konsolenkommandos

Positiv: Publish von Daten lokal oder in der Cloud

Positiv: Vollständiger Funktionsumfang durch CLI