Telematics Hub
Kafka OBD-II telematics pipeline open-source per insurance + fleet management
- Stato
- WIP
- Licenza
- AGPL-3.0
- Categoria
- Insurance
- Aggiornato
Stato del progetto
Descrizione
Telematics Hub è una piattaforma open-source per l'ingestion e l'analisi di dati telematics da veicoli connessi (OBD-II dongle, integrated telematics OEM, smartphone insurance app), progettata per use case di assicurazione pay-per-use (PAYD/PHYD) e fleet management. L'architettura è event-driven Kafka Streams: i dispositivi telematics pubblicano eventi MQTT (posizione GPS, velocità, accelerazione, decelerazione, RPM motore, consumo carburante, codici errore OBD-II) verso un broker MQTT gateway, che li forward a Kafka topic strutturati. Kafka Streams calcola in real-time metriche aggregate (driving score, harsh braking events, speeding events, distance per day, eco-driving score) e le persiste in TimescaleDB per query time-series efficienti. Il modello dati supporta normalizzazione cross-OEM (Tesla, Volkswagen Group, Stellantis, BMW, MQTT generici) tramite adapter pluggable. La sicurezza è critica per dati sensibili (posizione veicolo = posizione conducente): cifratura TLS 1.3 verso MQTT broker, autenticazione device certificate-based, anonimizzazione opzionale GPS (geohash precision configurabile, snap-to-route per privacy), consent management per GDPR (consenso esplicito conducente per condivisione dati con insurance). Il modulo analytics offre: risk scoring per polizza auto (basato su driving behavior aggregate), reporting fleet manager (utilizzo veicoli, ore guida, costi operativi), alert real-time (collisione probabile, eco-driving fuori soglia, manutenzione predittiva basata su OBD-II codes). License AGPL-3.0 per protezione platform: chi forka per offrire servizio insurance/fleet a terzi deve open-sourcing modifiche. Deploy target: insurance dual-purpose (auto + fleet), MGA/intermediari assicurativi, fleet manager logistic, software house automotive. La filosofia è 'driver data sovereignty': i dati non vengono shared con OEM/dealer senza consenso esplicito, l'archiviazione è on-prem cliente.
Funzionalità chiave
MQTT gateway + Kafka pipeline
Broker MQTT (Mosquitto/EMQX) per device ingestion, forward a Kafka topic strutturati, throughput target 10k events/s per node (da benchmark).
Kafka Streams real-time analytics
Driving score, harsh braking events, speeding events, eco-driving score, sliding window 5min/1h/24h, state store RocksDB.
TimescaleDB time-series
Hypertable per device data, compression chunk-based, retention configurabile per evento type, continuous aggregates per dashboard.
OBD-II + GPS multi-OEM
Adapter pluggable per Tesla, VW Group, Stellantis, BMW, OBD-II generic, smartphone insurance app SDK Android+iOS.
Cifratura TLS 1.3 + device auth
TLS 1.3 verso MQTT broker, device certificate-based authentication, certificate pinning, rotation automatica via PKI internal.
GDPR consent management
Consenso esplicito conducente per condivisione dati, geohash precision configurabile (4-12), snap-to-route opzionale, diritto all'oblio per device.
Risk scoring + reporting
Algoritmo risk scoring per polizza auto, dashboard fleet manager (utilizzo, ore guida, costi), alert real-time collisione/manutenzione.
OEM API integration optional
Connector per Tesla API, VW We Connect, Stellantis Connect (richiede credenziali OEM partner), fallback a OBD-II dongle generico.
Tech stack
- Kafka Streams
- Spring Boot 3.4
- Java 21
- TimescaleDB
- MQTT (Mosquitto/EMQX)
- OBD-II
- Apache Kafka
- Docker Compose
- RocksDB
Casi d'uso
- Insurance auto che offre polizze pay-per-use (PAYD) o pay-how-you-drive (PHYD) con risk scoring data-driven
- Fleet manager logistic con 50-500 veicoli che vuole monitorare utilizzo, costi operativi e eco-driving
- MGA (Managing General Agent) che propone soluzioni assicurative innovative a partner brokerage
- Software house automotive che integra telematics in app proprie senza dipendere da provider SaaS US
Roadmap
- v0.1.0 Pianificata
Core: MQTT + Kafka + TimescaleDB
- MQTT gateway con autenticazione cert-based
- Kafka producer + topic strutturati
- TimescaleDB hypertable + ingestion base
- Simulator script OBD-II generic per test
- v0.5.0 Pianificata
Analytics: Kafka Streams + Risk scoring
- Kafka Streams driving score + harsh events
- Risk scoring algoritmo MVP
- Continuous aggregates TimescaleDB
- Dashboard Grafana fleet/insurance
- v1.0.0 Pianificata
Multi-OEM + GDPR + Production deploy
- Adapter Tesla + VW Group + Stellantis
- GDPR consent UI + geohash anonymization
- Manutenzione predittiva da OBD-II codes
- Documentazione MkDocs + compliance guide
A chi è rivolto
Quick Start
Avvia il progetto localmente in pochi comandi.
# Quick start (work-in-progress, repo non ancora pubblicato)
# git clone https://github.com/<tba>/telematics-hub.git
# cd telematics-hub
# docker compose up -d # mosquitto + kafka + timescale + telematics-hub
# # Pubblica evento test con mosquitto_pub o usa simulator scriptContribuisci al progetto
Telematics Hub è open source. Apri una issue, proponi una pull request o lascia una stella su GitHub: ogni contributo, anche piccolo, è benvenuto.
- ⭐ Lascia una stella se ti è utile
- 🐛 Segnala bug o proponi feature via issue
- 🔧 Invia pull request con fix o miglioramenti
- 📣 Condividi il progetto se lo trovi interessante