SimHub - UDP data verwerken

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • kroegtijger
  • Registratie: Juli 2001
  • Laatst online: 17-09 09:21
Geen idee of het hier thuis hoort, maar het leek me dat ik hier de meeste kans maak op mensen met ervaring met dit vraagstuk...

Ik maak gebruik van SimHub om onder meer een windsim aan te sturen, maar loop tegen wat beperkingen op met het aansturen van de hardware. Zo wil ik afhankelijk van welke auto ik rij wel of niet de windsim aan hebben staan. Omdat alle info volgens mij netjes beschikbaar is, vind ik het onzinnig om dat handmatig te moeten aanpassen. Ook de aansturing van diverse leds kan ik niet precies genoeg meegeven vanuit Simhub (überhaupt lijkt er een limiet te zitten van max 150 RGB leds).

Het plan is dus om gebruik te maken van de UDP-relay om zodoende de aanvullende acties te kunnen laten uitvoeren, afhankelijk van de ontvangen data (denk aan het schakelen van relays of het aanpassen van leds). De voorkeur is om dat direct richting een ESP32 te verzenden die daarna weer de nodige acties kan triggeren, maar het zou eventueel ook naar bijvoorbeeld een python-scriptje kunnen die daarna weer de nodige acties triggert.

Ik kom alleen nergens tegen hoe de data-structuur eruit zou moeten zien die over UDP wordt ontvangen. Voor zover ik kan achterhalen is dit ook per sim weer anders. In dit geval gaat het met name om iRacing, Assetto Corsa en RF2.

Heeft iemand hiermee ervaring met iets dergelijks, of weet waar ik hier meer informatie over kan vinden? Er is dermate veel in deze hoek op de markt dat ik me niet voor kan stellen dat het heel complex is gemaakt, maar kom helaas niets tegen voor alsnog.

iRacing Profiel

Alle reacties


Acties:
  • 0 Henk 'm!

  • Danielson
  • Registratie: Januari 2003
  • Laatst online: 09:04
Het is me niet helemaal duidelijk wat je precies wilt met de ESPtjes, maar SimHub kan naar mijn weten alleen me Arduino overweg.

Als ik jou was zou ik een bezoek brengen aan de Discord van Simhub, ze zijn daar heel erg behulpzaam! :)

Die max van 150RGB leds klopt in ieder geval niet, ik gebruik 192 met SimHub zonder problemen!

Acties:
  • 0 Henk 'm!

  • kroegtijger
  • Registratie: Juli 2001
  • Laatst online: 17-09 09:21
Danielson schreef op woensdag 1 maart 2023 @ 12:49:
Het is me niet helemaal duidelijk wat je precies wilt met de ESPtjes, maar SimHub kan naar mijn weten alleen me Arduino overweg.
Ik wil dan ook niet direct de ESP aan simhub hangen over USB, maar de data via UDP relay naar de wifi van de ESP verzenden en die laten verwerken. SimHub doet verder dus (nagenoeg) niets ermee.
Als ik jou was zou ik een bezoek brengen aan de Discord van Simhub, ze zijn daar heel erg behulpzaam! :)

Die max van 150RGB leds klopt in ieder geval niet, ik gebruik 192 met SimHub zonder problemen!
Ik kan er maar 150 adresseren in de setup. Als ik er meer in zet, wordt dit automatisch weer naar 150 terug gezet. Voor zover ik kan vinden kan ik ook geen 2e pin definiëren voor WS2812b leds. Waar zou dat dan moeten?
Afbeeldingslocatie: https://tweakers.net/i/Y3zM6MZjZyPewnf329caZNdM-G8=/800x/filters:strip_exif()/f/image/SXQmPhJmDfJv15XBckozNVrp.png?f=fotoalbum_large

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • Danielson
  • Registratie: Januari 2003
  • Laatst online: 09:04
kroegtijger schreef op woensdag 1 maart 2023 @ 13:20:
[...]

Ik wil dan ook niet direct de ESP aan simhub hangen over USB, maar de data via UDP relay naar de wifi van de ESP verzenden en die laten verwerken. SimHub doet verder dus (nagenoeg) niets ermee.

[...]

Ik kan er maar 150 adresseren in de setup. Als ik er meer in zet, wordt dit automatisch weer naar 150 terug gezet. Voor zover ik kan vinden kan ik ook geen 2e pin definiëren voor WS2812b leds. Waar zou dat dan moeten?
[Afbeelding]
Sorry, ik snap nog steeds niet wat je wilt met je ESP...:?

Ik gebruik deze optie voor mijn 8x8 matrixen:

Afbeeldingslocatie: https://tweakers.net/i/GMxeGlPNS-hVirfcDRp3h8SjwyM=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/yjEdvLMY4uyaj4yruLi98ajO.png?f=user_large

Maar wat ben je van plan met meer dan 150RGB leds?

Acties:
  • 0 Henk 'm!

  • kroegtijger
  • Registratie: Juli 2001
  • Laatst online: 17-09 09:21
Danielson schreef op woensdag 1 maart 2023 @ 13:24:
[...]


Sorry, ik snap nog steeds niet wat je wilt met je ESP...:?
SimHub kan de data vanaf de diverse sims via relay doorsturen naar een andere applicatie over het netwerk om daar weer te laten verwerken. Dat kan dan dus ook direct naar een arduino (of in dit geval een ESP, omdat die al direct over wifi beschikt en 2 cores tot z'n beschikking heeft). Daar vandaan kan je dan weer op basis van de data die je ontvangt acties laten triggeren.
Ik gebruik deze optie voor mijn 8x8 matrixen:

[Afbeelding]

Maar wat ben je van plan met meer dan 150RGB leds?
Onder de rig komen 2 strips die elk 80 leds tellen (ws2812b strips met 60 leds per meter). Die kan ik natuurlijk als 1x 80 gebruiken en naar alle 2 hetzelfde signaal sturen, maar die spreek ik liever individueel aan zodat echt elke led apart geadresseerd kan worden. Daarnaast zitten er nog wat ledjes her en der verdeeld.

Mijn plan is om de leds onder de rig met de RPM's te laten corresponderen als ik aan het racen ben, maar als ik niet aan het racen ben wil ik die leds wel andere dingen kunnen laten doen, zoals een prisma effect of een static color toekennen. Ook wil ik het laten afhangen van de hoeveelheid omgevingslicht wat de brightness moet zijn, en óf de leds uberhaupt wel aan moeten springen of niet. Met een simpele licht-sensor is dat al te bepalen.

Dat zijn opties die SimHub niet (voldoende) biedt, maar die op een arduino eenvoudig te bouwen zijn. Dat kan je natuurlijk met een fysieke schakelaar oplossen waarbij je ofwel de data-line naar de leds vanaf de arduino van SimHub, ofwel de losse "zelf geprogrammeerde" arduino / esp kan selecteren, maar handmatig staat me vrij tegen... Da's een oplossing voor als het echt niet anders kan (en daar ben ik voorlopig dus nog niet van overtuigd dat het niet anders kan).

Voor alsnog weet ik alleen niet hoe die data-structuur eruit ziet. Ik kan daar wel met proberen en testen uit komen, maar het zou enorm schelen als hier gewoon documentatie over bestaat zodat ik weet wat ik aan het doen ben, in plaats van op goed geluk maar wat ga proberen / gokken.

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • kroegtijger
  • Registratie: Juli 2001
  • Laatst online: 17-09 09:21
Ok, even wat verdere research gedaan en de UDP relay functionaliteit is ook echt pure relay. Als de sim de data niet over UDP verzend, houdt het op. Er wordt geen translation gedaan vanuit een API naar een UDP stream, en is daarmee dus niet bruikbaar voor onder meer iRacing.

Er is wel een (soort van) alternatief voor handen. In python is een iRacing SDK beschikbaar waarmee ook alles weer uit te lezen is en verwerkt kan worden. Ik zal dus eens kijken wat daar uit te peuteren valt. Het biedt in ieder geval wel perspectief voor iRacing, Andere sims moet ik nog verder uitzoeken.

Omdat het allemaal per sim moet worden gemaakt en aangepast zal het vermoedelijk dus 1 tool worden die als soort van tussenstation dient voor ofwel een API implementatie, ofwel een UDP-stream naar een arduino of esp toe. Daar gaan nog wel wat uurtjes werk in zitten dus

iRacing Profiel


Acties:
  • 0 Henk 'm!

  • kroegtijger
  • Registratie: Juli 2001
  • Laatst online: 17-09 09:21
Ok, dit bleek achteraf vrij stompzinnig te zijn hoe ik het wilde oplossen. Er zit weliswaar een limiet van 150 leds op, maar dat is PER DEVICE. Je kan dus probleemloos meerdere keren 150 leds aansturen vanuit SimHub zolang je dan maar meerdere arduino's gebruikt. Staat achteraf gezien ook vrij duidelijk bij ze gedocumenteerd, nota bene in de introductie-tekst nog wel : https://github.com/SHWote...ices-support#introduction

Klein nadeeltje is wel dat overal nu dus een USB naartoe moet, want kan niet via BT of WiFi de communicatie doen maar daar valt mee te leven.Dan kan ik wel opnieuw het wiel willen gaan uitvinden maar dat gaat bakken met tijd en moeite kosten om daarna iets te hebben dat nagenoeg al bestaat... Dan is een kabeltje erbij leggen ook niet meer zo'n probleem plots :)

iRacing Profiel

Pagina: 1