[Ford] Car Infotainment

Ford e Toyota hanno creato il consorzio SmartDeviceLink (SDL) per supportare gli sviluppatori nel Car Infotainment. Mazda, PSA Group, Fuji Heavy Industries and Suzuki sono alcuni degli altri produttori che hanno manifestato vivo interesse all’adesione. L’idea cuore del consorzio è di facilitare l’accesso ai servizi di video streaming, voice recognition, e visualizzazione dati del veicolo in tempo reale. Il supporto è riferito direttamente al mondo mobile (iOS e Android) ma anche OEM. Codice e documentazione sono disponibili su Github, la documentazione è scritta in DocDown, il flusso GIT è supportato da GitFlow. Per realizzare una applicazione per mobile, APP, che interagisce con questo sistema, SDL è da considerasi come un set di protocolli e messaggi che connettono la APP, alla Head unit del veicolo attraverso 3 componenti principali:

  • Core. Il software che il produttore del veicolo ha implementato per la propria Head Unit e HMI, rispettando linee guida e template.
  • SDL Server (opzionale). Server implementato dai produttori di veicoli per aggiornamenti delle policy delle APP e per raccogliere informazioni statistiche di utilizzo.
  • Librerie iOS e Android. Librerie implementate dagli sviluppatori nelle loro APP per abilitarne il comando e il controllo attraverso la connessa Head Unit, via Bluetooth o USB.

A differenza delle APP per il cui sviluppo vengono fornite librarie di supporto, le soluzioni OEM interagiscono direttamente con SDL Core. Il supporto messo a disposizione per lo sviluppo, oltre a SLACK, la chat a cui possono partecipare gli utenti della community, è questo:

  • HMI generica. La user interface di default, per SDL core basata sui linguaggi Javascript & React.
  • Manticor. Tool per la creazione in cloud di un’istanza di SDL core e HMI che possono essere usate per lo sviluppo.
  • Docker. Codice di SDL Core e HMI docker container disponibile su Github e Dockerhub.
  • SHAID. Sistema centralizzato per la generazione di univoci application IDs, oltre alla sincronizzazione dei dati. Consiste in una serie di microservizi, ognuno in grado di svolgere uno specifico task.

Di seguito la roadmap di rilascio degli strumenti in supporto allo sviluppo.

Leave a Reply