Contratto
LSP dà un nome a organizzazione, circuito, auto, sessione, eventi di telemetria e stage di bordo. Sottoscrivi un circuito nella tua organizzazione. Molte auto pubblicano. Il tuo prodotto riceve quelle auto come eventi.
LapsHub Live
Il contratto denominato per LapsHub Live. Organizzazione → circuito → auto → sessione. Telemetria live più video di bordo a bassa latenza. Live API è il modo per costruirci sopra. Hosted Pit Wall è la UI di prima parte opzionale su questo stesso protocollo.
Per organizzazione · Design partner · Specifiche prima del runtime
LapsHub Streaming Protocol è il linguaggio dello stream del circuito. Non è un nuovo formato binario. Team, streamer e integratori parlano LSP; Live API aggiunge sessioni, accesso allo stream e contatori.
Organization
└── Track (subscribe: all org cars on this circuit)
└── Car
└── Session
├── Telemetry events
└── Stage (onboard) → publish / watch access
LSP dà un nome a organizzazione, circuito, auto, sessione, eventi di telemetria e stage di bordo. Sottoscrivi un circuito nella tua organizzazione. Molte auto pubblicano. Il tuo prodotto riceve quelle auto come eventi.
Kafka o l'IoT grezzo spostano byte. Non indicano quale organizzazione, circuito, auto o sessione è live, né quando lo stage di bordo deve aprirsi. Quella mappatura è LSP.
Cosa acquisti per costruire: controllo delle sessioni, accesso allo stream e contatori di utilizzo. Pit wall, overlay, app della serie o stream restano tuoi.
UI opzionale di prima parte, sullo stesso protocollo. Preferisci una schermata chiavi in mano? Stesso backend Live, percorso Hosted Pit Wall.
Connetti la tua sorgente di telemetria via MQTT. Apri una sessione in GraphQL, genera credenziali a breve durata, poi pubblica gli envelope JSON dal tuo dispositivo, dal tuo logger o dal tuo bridge.
Chiama createLiveSession con il carId e il trackId della tua organizzazione. Una sessione live per auto in circuito.
Chiama createTelemetryCredentials con role: PUBLISH. Live API restituisce endpoint, clientId, topicPublish e expiresAt.
Il vostro device si collega a mqtts://live-mqtt.lapshub.com:8883 via TLS e pubblica envelope di telemetria su topicPublish. Fino a 50 punti per messaggio.
Dispositivo LapsHub, RaceBox o Dragy tramite il tuo bridge, logger CAN/GPS o qualsiasi stack che esegua un client MQTT ed emetta JSON.
JSON su MQTT, application/json. Campi obbligatori dell'envelope: v, orgId, trackId, carId e points[] con almeno ts. Opzionali per punto: lat, lon, speedMps, headingDeg, lap e scalari channels nominati (rpm, throttle e così via).
Le auto della tua organizzazione sui tuoi circuiti. Non è un accesso al traffico pubblico dell'app per i piloti di LapsHub.
mutation {
createLiveSession(input: { carId: "car_42", trackId: "track_ra" }) {
id
status
}
}
mutation {
createTelemetryCredentials(
sessionId: "sess_1"
input: { role: PUBLISH, ttlSeconds: 3600 }
) {
endpoint
clientId
topicPublish
expiresAt
}
}
{
"endpoint": "mqtts://live-mqtt.lapshub.com:8883",
"clientId": "lh_org_1_car_42_sess_1",
"topicPublish": "live/org_1/track_ra/car_42/telemetry",
"expiresAt": "2026-08-17T19:00:00.000Z"
}
Broker previsto: mqtts://live-mqtt.lapshub.com:8883 (Preview, non live). Le credenziali durano poco: rinnovatele prima della scadenza. L'ingest batch HTTPS è una via secondaria quando un device non può usare MQTT. Preferite MQTT per GPS ad alta frequenza e canali CAN. Schema completo: asyncapi-telemetry-v1.yaml.
Sottoscrivi un circuito nella tua organizzazione. Le auto che pubblichi inviano eventi su quello stream di circuito in tempo reale. Genera credenziali di sottoscrizione con role: SUBSCRIBE o BOTH su createTelemetryCredentials.
Subscribe (your org, one circuit):
live/{orgId}/{trackId}/+/telemetry
Publish (one car):
live/{orgId}/{trackId}/{carId}/telemetry
Live API rilascia accessi di pubblicazione e sottoscrizione a breve durata. L'HTTPS in batch resta un'alternativa secondaria quando un client di stream non è disponibile.
Un envelope, uno o più punti. Versione schema v: 1. Elenco completo dei campi per i design partner: asyncapi-telemetry-v1.yaml.
{
"v": 1,
"orgId": "org_1",
"trackId": "track_ra",
"carId": "car_42",
"sessionId": "sess_1",
"points": [
{
"ts": "2026-08-17T18:00:00.000Z",
"lat": 43.798,
"lon": -87.992,
"speedMps": 42.1,
"headingDeg": 187.2,
"lap": 3,
"channels": { "rpm": 6120, "throttle": 0.82 }
}
]
}
I dati delle auto ad alta frequenza viaggiano su MQTT, non sull'API di controllo. I dispositivi pubblicano su un topic auto; i pit wall e gli overlay si sottoscrivono al wildcard del circuito. Vedi integrazione dispositivi per il flusso di connessione e pubblicazione.
Auto o logger pubblicano su live/{orgId}/{trackId}/{carId}/telemetry.
I pit wall, gli overlay e gli stack di stream si sottoscrivono a live/{orgId}/{trackId}/+/telemetry e ricevono ogni auto dell'organizzazione su quel circuito.
Non inviare punti GPS ad alta frequenza attraverso le API di sessione. Quelle chiamate aprono le sessioni e gli accessi. Lo stream trasporta i punti.
Live API è il modo in cui apri le sessioni, concedi l'accesso allo stream e alla visione, e leggi l'utilizzo. Il protocollo dice che cosa significano quelle chiamate. Gli schemi a livello wire restano in revisione con i design partner.
Apri e chiudi una sessione live per un'auto su un circuito della tua organizzazione.
Accesso a breve durata per pubblicazione, sottoscrizione e visione. Apri l'accesso di visione solo mentre qualcuno sta guardando.
I contatori riportano il tempo di pubblicazione, il tempo di visione e il volume di telemetria accettato.
mutation {
createLiveSession(input: { carId: "car_42", trackId: "track_ra" }) {
id
status
}
}
Subscribe (your org, one circuit):
live/{orgId}/{trackId}/+/telemetry
Publish (one car):
live/{orgId}/{trackId}/{carId}/telemetry
GraphQL apre le sessioni e gli stage. MQTT trasporta i dati live delle auto. WebRTC trasporta il video di bordo. GraphQL non è il bus GPS live.
Ripresa di bordo a bassa latenza per il tuo pubblico (obiettivo sotto i 2 secondi). Apri uno stage solo mentre qualcuno sta guardando, poi alimenta YouTube, Twitch, la TV o gli schermi sul posto dal tuo stack.
Avvia uno stage per l'auto/sessione e invia il video di bordo dalla telecamera.
L'accesso di visione è a breve durata e fatturabile. Aprilo solo mentre qualcuno sta guardando.
Gestiamo noi il backend live. Decidi tu come l'evento arriva su YouTube, Twitch, TV, sugli overlay e sugli stream interni.
Che cosa contiamo per l'utilizzo. I prezzi del progetto pilota si concordano con i design partner.
video.publisherSecondi-partecipante mentre chi pubblica è connesso.
video.subscriberSecondi-partecipante mentre chi guarda resta connesso.
telemetry.messageConteggio degli eventi di telemetria accettati o degli elementi in batch.
Questi contratti servono per la revisione dell'architettura con i design partner. Gli endpoint di runtime non sono ancora generalmente disponibili. Le specifiche possono cambiare prima del lancio.
Richiedi l'accesso design partner. Raccontaci il tuo prodotto, lo stream o il pit wall e mapperemo sessioni, telemetria e stage di bordo sulla tua roadmap.
Programma design partner. Preferite uno schermo chiavi in mano? Hosted Pit Wall. Cercate l'app per il pilota? Scarica Gratis.