Zum Inhalt springen

TUTORIAL Entwickler Informationen zur DR!FT Community API


Empfohlene Beiträge

Am 28.10.2022 um 14:50 schrieb TheSeeVen:

Ne feine Sache das Programm, die Installation hat auch reibungslos funktioniert.

Hat schonmal jemand die Daten rausgezogen und weiterverarbeitet, z.B. die aktuelle Rundenzeit eines Racer oder den gesamten  Rennverlauf mit Zeiten ? 

Das würde ich gerne auf einen großen LCD umsetzen.

lg

Naja, kommt drauf an, was genau du willst.

Du könntest die Anzeige der Daten für dich innerhalb von streamlit anpassen. Wenn du nur Anzeigen brauchst.

Mit ein paar Änderungen in der compose.yml kann man auch mit anderen scripts auf die DB zugreifen. Und die Daten z.b. in ein ini speichern. 

Auf diese Weise kannst dann mit zusätzlichen Programmen die Daten verarbeiten.

Z.B. eigene Anzeigen, oder ein DOG Helferlein, wenn man Zeiten und Punkte verrechnen muß.

Bitte melde dich an um Bilder zu sehen.

In decrayers Version hab ich das aber noch nicht probiert, nur in der von spider.

Sollte aber genau gleich funktionieren.

Für beides musst du, je nachdem was du brauchst, doch ein wenig programmieren.

Melde dich gern per pn, dann schau na mal, was genau du umsetzen willst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
Am 5.11.2022 um 08:51 schrieb Niederboa:

Naja, kommt drauf an, was genau du willst.

Du könntest die Anzeige der Daten für dich innerhalb von streamlit anpassen. Wenn du nur Anzeigen brauchst.

Mit ein paar Änderungen in der compose.yml kann man auch mit anderen scripts auf die DB zugreifen. Und die Daten z.b. in ein ini speichern. 

Auf diese Weise kannst dann mit zusätzlichen Programmen die Daten verarbeiten.

Z.B. eigene Anzeigen, oder ein DOG Helferlein, wenn man Zeiten und Punkte verrechnen muß.

Bitte melde dich an um Bilder zu sehen.

In decrayers Version hab ich das aber noch nicht probiert, nur in der von spider.

Sollte aber genau gleich funktionieren.

Für beides musst du, je nachdem was du brauchst, doch ein wenig programmieren.

Melde dich gern per pn, dann schau na mal, was genau du umsetzen willst.

ja genau so was in der Art.

Wir fahren ausschließlich Rennen auf einem längeren Kurs, letzendlich geht es nur darum die Rundenzeiten aller Fahrer anzuzeigen, die aktuelle Zeit eines Fahrer bei überqueren der Ziellinie für eine Zeit x aufpoppen zu lassen und die beste Rundenzeit hinter dem Fahrer separat anzeigen. Programmieren kann ich nur S7, bringt mir hier nix, komme allerdings mit nem PI mit OH klar.  

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Frage

Bitte melde dich an um den Link zu sehen.

, ich habe im Vorfeld schon meinen Referenzserver aktualisiert und pünktlich mit Release der neuen App den neuen Zweig in den Alten integriert. D.h. die aktualisierte API kann wie bisher auch darin angeschaut werden:

https://github.com/christiangeissler/driftapi

bzw. ganz Konkret das dahinterliegende Modell in:

https://github.com/christiangeissler/driftapi/blob/main/driftapi/driftapi/model.py

Zusammenfassung:

1) Beim /ping Endpunkt gibt es einen weiteren Parameter bei der Antwort namens "start_delay":

 start_delay:Optional[float] = Field(None, title="Hidden start delay between the yellow and green race light. In the range of 0-2 seconds. This is added to the minimum of 1 second.")

2) Beim /enter Endpunkt gibt es einen neuen Wert, "car_name", in dem der vom Spieler eingestellt Auto-Name enthalten ist. Standardmässig steht der z.B. auf "Yellow Beast", kann aber vom Spieler geändert werden. Damit können die Spieler dann für sich selbst sehen, mit welchem Auto sie gefahren sind (sehr empfehlenswert bei Umbauten).

car_name: str = Field(None, title="The name of the car as set by the player.", example="Yellow Beast")

 

3) beim /target Endpunkt werden jetzt auch Winkel und Geschwindigkeit zurückgeliefert:

orientations:List[Orientation] = Field(None, title="a list of orientations, each orientation has a speed and angle value.")

 

4) Ausserdem werden jetzt von der App auch nach Rennende noch Zielüberfahrten via /target gemeldet, aber leider gibt es da noch einen Bug dass der Zeitstempel immer nur dem Rennende entspricht. D.h. um die Anzahl der gefahrenen Runden zu zählen ist es gut, aber leider kann man dafür keine Zeiten berechnen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da bin ich überfragt, das müsste ich auch erst ausprobieren. Ich meine Aber es wären reale Meter pro Sekunde, die Zahlen die ich beim testen gesehen hatte waren eher niedrig, also unter 10 aber ich bin auch immer nur sehr langsam über die Targets gefahren.

Es gibt ja 4 Möglichkeiten.

  • Meter/Sekunde
  • 1:43 Meter/Sekunde - Maßstabsgetreu, also 2,32cm/Sekunde
  • Km/Stunde
  • 1:43 Km/Stunde - Maßstabsgetreu, also 23,25 Meter/Stunde

Da ich nur niedrige Werte beobachtet habe, würde ich sagen, dass es entweder Meter/Sekunde oder Km/Stunde sind. Von deinen eigenen Experimenten 

wo du glaube ich geschaut hast, wie driven_distance berechnet wird, was wohl in echten Metern war, würde ich schätzen, dass es Meter/Sekunde ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Jahre später...

Hallo Zusammen, gibt es bezüglich der Drift API Neue Informationen?

Ich hänge an dem Punkt, dass sich meine Drift App (Iphone 12) sich nicht mit dem Server (Laptop / WIN 10 Pro) verbindet.

Also ich bekomme keinen grünen Hacken)

Habe 2 unterschiedliche Versionen der App ausprobiert

die von "SpiderStan und auch die von ChritianGeissler...

Firewall Ausnahmen für 8000 und 8001 habe ich eingerichtet... 

https://github.com/SpiderStan/Drift_Racingserver_localDB  

http://192.168.178.26:8001/driftapi/game/Lobby1/1

oder 

https://github.com/christiangeissler/drif

http://192.168.178.26:8001/game

Hat jemand eine Idee?

Vielen Dank und LG, Alex

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey

Bitte melde dich an um den Link zu sehen.

,


leider gab es ein Update, womit die API nur noch mit SSL (=https) funktioniert. Das war keine Absicht, sondern ein blöder unerwünschter Nebeneffekt, der sich bis dato leider auch nicht beheben ließ.

Zu dem Thema gibt es auch hier einen eigenen Thread und auch einen ggf. einfachen Workaround:

Alternativ, kannst du auch mal DR!FTCLUB anschauen. Vielleicht ist das schon eine fertige Lösung die für dich passt. 

Beste Grüße

 Matthias

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Matthias,

vielen Dank für die schnelle Antwort.

Das heißt, dass es seit 2023 keinen Update seitens Sturmkind mehr gegeben hat und die API nach wie vor nur mit  

ssl funktioniert und somit keine lokalen Server möglich?

... ok im Bereich Driftclub habe ich etwas gefunden....

Bearbeitet von Fangio1978
Link zu diesem Kommentar
Auf anderen Seiten teilen

Jepp - so ist es. Es gab zwar noch Updates aber das Problem konnte nicht gelöst werden. Aber mit ngrok funktioniert das trotzdem eigentlich wunderbar. Und der Vorteil: möchtest du mit jemanden anderen gemeinsam fahren und können diese sich alle über ihre eigene Internetverbindung mit deinem lokalen Server verbinden. Musst also nicht allen dein WLAN geben 😉

DR!FTCLUB ist ja eine weltweite  Gaming-Plattform (offizieller Partner von DR!FT) und bietet recht viele Features, die teilweise auch kostenpflichtig sind. Aber für das Training (=alleine fahren) steht es dauerhaft kostenfrei zur Verfügung. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

 Teilen

×
×
  • Neu erstellen...

Wichtige Information

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung