Erste Schritte mit der Cockpit-XP API
Bevor die REST-API genutzt werden kann, müssen einige grundlegende Einstellungen in Cockpit-XP vorgenommen werden. Dieser Abschnitt erklärt Schritt für Schritt, wie die API aktiviert wird und wie das Logging zur Fehlersuche eingeschaltet werden kann.
1. REST-API aktivieren
Damit externe Anwendungen auf die Cockpit-XP REST-API/MQTT zugreifen können, muss diese in den Einstellungen aktiviert werden.
- Cockpit-XP starten
- Im Hauptmenü ConfigCenter aufrufen
- Dann Basis Einstellungen anklicken und Erweitert aufrufen
- In der Erweiterte Einstellungen Seite den Reiter API aufrufen
- Dort dann Cockpit-XP API/MQTT aktivieren Ja auswählen
- Cockpit-XP neu starten
Hinweis: Standardmäßig läuft die API auf Port 8080.
2. Logging aktivieren
Das Logging hilft bei der Entwicklung und Fehlersuche.
- Gleiche Seite wie beim Aktivieren aufrufen
- Nun aber den Reiter Logging aufrufen
- Dort dann das Logging für Online einschalten
Hinweis: Die Logdatei liegt im Cockpit-XP Datenverzeichnis LogOnline.txt
REST-API Grundlagen
Basislink: http://localhost|IP:8080
Läuft Cockpit-XP auf dem gleichen Rechner wie die Abfrage dann nimmt man localhost. Ruft man innerhalb dem gleichen Netzwerk die API auf muss man die IP des PCs von Cockpit-XP verwenden. Man kann auch die API über eine Seite aufrufen die sich im Internet befindet. Hier muss man ebenfalls die IP von Cockpit-XP verwenden.
Die GET-Befehle können in einem Browser direkt getestet werden. Zum testen der POST-Befehle empfehlen wir PostMan.
Webserver-Funktionalität
Neben der REST-API stellt Cockpit-XP auch einen kleinen lokalen Webserver bereit, der z. B. HTML-Seiten und Benutzeroberflächen ausliefert. Dies ermöglicht die einfache Erstellung eigener Widgets, die direkt auf die API zugreifen können. Der entsprechende gehostete Bereich befindet sich bei einer Standartinsallation in folgendem Ordner "C:\ProgramData\Cockpit-V2\www" und bei der Stickversion im Ordner "data\www".
Daten auslesen (GET)
GET Renndaten
Gibt die aktuellen Renndaten aller Slots zurück.
Antwort
[
{
"slot": "1",
"position": "1",
"runde": "-1",
"rundenzeit": "0",
"tankstand": "100",
"tankenaktiviert": "0",
"schnellsterunde": "-1",
"abstandzeitfuehrenden": "0",
"abstandzeitvordermann": "0",
"bestrafung": "0"
}
]
Slot-spezifisch
{
Gefiltert auf entsprechender Slot
}
GET Rennstatus
{
"rennzeit": "",
"rennstatus": "9",
"statusampel": "0",
"ampel1": "rot",
"ampel2": "rot",
"ampel3": "rot",
"ampel4": "rot",
"ampel5": "rot"
}
Mögliche Werte für rennstatus
-1– Kein RBS offen0– Stop2– Pause3– Rennen läuft9– Startampel läuft
GET Allgemeine Daten
{
"sollrennrunden": "10",
"sollzeit": "0",
"rennmodus": "Rennen: 10 Runden",
"anzahlfahrer": "2"
}
GET Fahrerdaten
[
{
"slot": "1",
"namefahrer": "Das Team",
"shortnamefahrer": "DTM",
"namefahrzeug": "Audi R8",
"bildfahrer": "Picture2611201574353.png",
"bildfahrzeug": "Picture27092018112528.png"
}
]
Slot-spezifisch
{
Gefiltert auf entsprechender Slot
}
GET Rekorde
[
{
"slot": "1",
"anzahlrennen": "34",
"anzahlsiege": "33",
"persrundenrekord": "1003",
"fahrzeugrekordabsolut": "1003",
"fahrzeugrekordabs...
}
]
Slot-spezifisch
{
Gefiltert auf entsprechender Slot
}
GET Bilder
Gibt die Bilder aus dem Verzeichniss "Bilder" in Cockpit-XP aus
Antwort
[
{
Bild
}
Steuer- & AddOn-Endpunkte (POST)
POST /api/rbs/cptastenstrafe
Parameter: slot
{
"slot": 1
}
cURL Beispiel
curl -X POST http://cockpit-xp.ip:8080/api/rbs/cptastenstrafe \
-H "Content-Type: application/json" \
-d '{"slot":1}'
Details siehe Cockpit-XP AddOn-Dokumentation.
POST /api/rbs/cpsimulatebutton
Parameter: id
{
"id": 1
}
cURL Beispiel
curl -X POST http://cockpit-xp.ip:8080/api/rbs/cpsimulatebutton \
-H "Content-Type: application/json" \
-d '{"id":1}'
Details siehe Cockpit-XP AddOn-Dokumentation.
POST /api/rbs/cpaddonapicall
Parameter: id
{
"id": 1
}
cURL Beispiel
curl -X POST http://cockpit-xp.ip:8080/api/rbs/cpaddonapicall \
-H "Content-Type: application/json" \
-d '{"id":1}'
Details siehe Cockpit-XP AddOn-Dokumentation.
Beispiele
Hier finden Sie Beispielprojekte, die die Nutzung der Cockpit-XP API demonstrieren. Einfach ZIP-Datei herunterladen, entpacken und ausprobieren.
Beispiel 1: Renndaten auslesen (GET)
Enthält eine einfache html Seite zum lesen der Renndaten die man überall installieren kann. Funktioniert auch wenn die Seite im Internet aufgerufen wird.
📥 Download ZIP