Universal Cloud Adapter Cloud Adapter protocols
REST to Cloud

JSON-Daten in die Cloud übertragen

Immer mehr Geräte bieten statt den klassischen Industrieprotokollen eine generische JSON-API an. So können unkompliziert Messwerte, Zustände und Verbrauchsinformationen im lokalen Netzwerk gesammelt und anschließend in die Cloud übertragen werden.

Für die Anbindung an die Cloud, wird das Softwaremodul Universal Cloud Adapter benötigt. Der Cloud Adapter kann auf beliebigen Windows oder Linux Geräten (x86, x64 oder ARM) installiert werden. Die Einrichtung ist unter „Erste Schritte“ erklärt. Alternativ können Sie auch unser AnyViz IoT Gateway einsetzen.

JSON-API Topologie

Der Universal Cloud Adapter ist über eine Netzwerkverbindung mit den Gegenstellen verbunden und fragt zyklisch über einen GET-Request die Messwerte ab, die in Form eines JSON-Dokumentes zurückgeliefert werden. Alle Eigenschaften stehen anschließend in AnyViz zur weiteren Verwendung zur Verfügung.

JSON-Api Cloud Funktionsweise

Die API kann nicht nur über HTTP und HTTPS konfiguriert werden. Es ist ebenso möglich den Pfad zu einem lokalen Skript (z.B. Shell- oder Python) anzugeben. So lässt sich die JSON-API auch nutzen, um individuelle Ankopplungen umzusetzen. Einzige Voraussetzung ist, dass ein gültiges JSON-Dokument zurück geliefert wird und dass dessen Struktur konstant bleibt.

Tipp: Systemauslastung über JSON-API auslesen

Als ein Beispiel für ein individuelles Skript, kann nachfolgender Inhalt als getSystemInfo.sh auf dem Linux-System des Cloud Adapters abgelegt werden. Anschließend kann unter „URL/Path“ der absolute Pfad zu der Datei angegeben werden, um die CPU-Auslastung und den Speicherverbrauch des Betriebssystems in AnyViz überwachen zu können.

#!/bin/bash get_cpu_usage() { top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}' } get_memory_usage() { free | awk '/Mem/{printf "%.2f", $3/$2*100}' } create_json() { cpu_usage=$(get_cpu_usage) memory_usage=$(get_memory_usage) echo "{\"cpu_usage\": $cpu_usage, \"memory_usage\": $memory_usage}" } create_json