Opzioni per i fusi orari

La visualizzazione accurata dell'ora è una funzionalità di base prevista per un sistema di infotainment auto e motori. Sebbene possa sembrare semplicissimo, in particolare quando le aspettative relative alla gestione del tempo e del fuso orario sono basse e devono essere soddisfatte, il tempo diventa rapidamente complesso quando è necessario visualizzare una data e un'ora accurati e affidabili senza intervento manuale.

Tutti gli orologi in tempo reale generalmente utilizzati nei sistemi on chip (SoC) presentano un certo scostamento, che si accumula nel tempo e può portare a errori significativi se non viene corretto. Inoltre, poiché si prevede che l'ora locale venga visualizzata con precisione, è necessario prendere in considerazione la differenza corretta rispetto al Tempo universale coordinato (UTC).

Le informazioni sui fusi orari, nonché l'applicazione dell'ora legale, possono cambiare durante la vita utile prevista di un veicolo. Ad esempio, dopo molti anni di implementazione dell'ora legale, il Brasile ha scelto di non avviare una pianificazione dell'ora legale nel 2019.

Android fornisce l'infrastruttura necessaria per gestire le complicazioni della gestione delle regole dei fusi orari. Per maggiori dettagli, consulta Regole per i fusi orari, che consente agli OEM di inviare ai dispositivi i dati aggiornati delle regole per i fusi orari senza richiedere un aggiornamento del sistema. Questo meccanismo consente:

  • Gli utenti ricevono aggiornamenti tempestivi (che prolungano la vita utile di un dispositivo Android).
  • Gli OEM possono testare gli aggiornamenti dei fusi orari indipendentemente dagli aggiornamenti delle immagini di sistema.

Nota: AAOS 10 non supporta il meccanismo di aggiornamento dei moduli basato su APEX fornito nelle release di Android 10 (e versioni successive).

Nota: per implementare questo meccanismo, è necessario riavviare il sistema.

Origini delle informazioni sull'ora (fuso orario) nelle auto

I dispositivi Android gestiscono l'ora in ora Unix a livello di sistema, applicano il offset del fuso orario desiderato e poi convertono il valore in ora locale per la visualizzazione agli utenti. L'ID zona dell'utente corrente (spesso chiamato ID Olson) viene memorizzato come impostazione. Ad esempio, Europa/Londra.

Gran parte del meccanismo descritto di seguito descrive le informazioni relative al tempo. Lo scopo di questi standard è fornire agli utenti l'ora corrente, non descrivere le regole dei fusi orari applicabili. Per determinare il fuso orario effettivo, il dispositivo deve risalire da fattori quali paese, offset e offset DST prima di impostare l'ID zona.

Il processo può essere complicato. Il lavoro a ritroso in base alle informazioni disponibili può essere ambiguo. Ad esempio, la regola del fuso orario America/Denver osserva l'ora legale, ma adotta l'ora legale del Pacifico (MDT) durante l'estate, mentre America/Phoenix continua a riconoscere l'ora legale del Pacifico.

Segnale radio cell

Le informazioni di sistema (SI) sono un aspetto essenziale dell'interfaccia aerea Long-Term Evolution (LTE), che viene trasmessa dalla stazione base (BS) tramite il canale di controllo della trasmissione (BCCH). 3GPP TS 36.331 specifica SystemInformationBlockType16 (SIB16), che contiene informazioni relative a GPS e Tempo Universale Coordinato (UTC), all'offset di tempo locale e alle informazioni sul fuso orario.

Funzionalità simili sono disponibili nelle reti 2G e 3G, dove è possibile trasmettere informazioni sull'identità della rete e sul fuso orario (NITZ) (per maggiori dettagli, consulta 3GPP TS 22.042). Altri standard di radio cellulari hanno funzionalità equivalenti.

Purtroppo, la caratteristica comune della maggior parte degli standard è che l'invio di queste informazioni è facoltativo, pertanto non è disponibile universalmente su tutte le reti.

Vantaggi Svantaggi
  • Se disponibile, fornisce la maggior parte delle informazioni richieste.
  • Semplicità, già supportata da Android quando la radio cellulare è esposta come telefono, non solo come modem dati.
  • Non richiede connettività a internet.
  • Non vengono fornite garanzie sulla trasmissione delle informazioni né sulla corretta configurazione della stazione di base.

  • Nelle regioni di confine, è possibile che venga rilevata una torre di telefonia mobile (in roaming) di un paese confinante e che venga trasmesso erroneamente il fuso orario sbagliato.

  • In alcune località, gli aggiornamenti possono richiedere ore o addirittura giorni.

Network Time Protocol

Il protocollo NTP (Network Time Protocol) viene spesso utilizzato per ottenere informazioni relativamente precise sull'ora di epoche Unix. Android supporta la sincronizzazione dell'ora di sistema con quella di un server NTP se può essere esposta ai client di RadioManager tramite i metadati generici RadioTuner.getParameters(). NTP aggiorna l'ora di sistema quando non è più sincronizzata e un operatore non ha fornito di recente un aggiornamento NITZ. Se l'utente attiva AUTO_TIME quando NITZ non è disponibile, il sistema controlla immediatamente l'ora di rete.

Vantaggi Svantaggi

Semplicità, supportata da Android.

  • Incomplete, NTP fornisce solo un valore necessario (ora). Anche nel migliore dei casi, NTP non può fornire il fuso orario.

  • Richiede una connessione a internet.

Sintonizzatore radio per trasmissione

Sfruttare un sintonizzatore integrato per recuperare informazioni sull'ora e sul fuso orario è interessante, ma presenta delle sfide. Numerosi standard di trasmissione radio definiscono le opzioni per esporre le informazioni desiderate. In generale, un sintonizzatore radio fornisce le stesse informazioni di una radio cellulare.

La ETSI EN 300 401 V1.4.1 (2006-06), sezione 8.1 specifica le funzionalità di informazioni sui servizi che forniscono informazioni supplementari sui servizi sia per i programmi audio che per i dati per i sistemi di trasmissione audio digitale (DAB). La sezione 8.1.3 definisce il formato per data e ora, nonché informazioni per il paese e l'offset orario locale.

Analogamente, per il Radio Data System (RDS) comunemente implementato nei sintonizzatori FM, la sezione 3.1.5.6 dello standard EN 50067 definisce il formato per l'ora e i dati (trasmessi una volta al minuto). Inoltre, il codice paese esteso (ECC) può essere recuperato anche nell'ambito dell'identificazione del programma trasmesso.

HD Radio contiene le opzioni corrispondenti nell'ambito della specifica HD Radio™ Air Interface Design Description Station Information Service Transport nel messaggio parametro del servizio di informazioni sulla stazione (SIS) (ID messaggio 0111). La Sezione 5 indica chiaramente le parole di avviso che devono essere prese in considerazione quando si tenta di utilizzare il supporto dell'orologio della trasmissione. Lo stesso vale per gli altri sistemi:

... questi dati descrivono le consuetudini locali nella località del trasmettitore, che possono essere o meno uguali alle consuetudini locali nella località del destinatario. Vicino ai confini dei fusi orari, i consumatori possono ricevere una molteplicità di stazioni che forniscono dati diversi. Pertanto, questi dati vengono forniti solo come suggerimenti, la cui interpretazione e utilizzo devono essere fatti in modo discrezionale, sotto il controllo del cliente. ..."

Inoltre, almeno per HD Radio, la trasmissione di queste informazioni è facoltativa e non deve essere considerata l'unica fonte attendibile.

Pro Contro
  • Generalmente disponibile su diversi standard radio di trasmissione regionali.
  • Non richiede connettività a internet.
  • Android non supporta questa funzionalità per impostazione predefinita.
  • Richiede l'attivazione del sintonizzatore (almeno occasionalmente in background) per rilevare in modo affidabile le informazioni.
  • L'affidabilità dipende dall'emittente.

Suggerimenti per l'implementazione

Android supporta la sincronizzazione del proprio orario di sistema con quello di un server NTP se può essere esposto ai client di RadioManager. La soluzione consigliata è sfruttare la funzionalità di estensione del fornitore. L'implementazione di questa funzionalità deve avvenire nel livello di astrazione hardware (HAL), dopodiché if può essere esposta ai client di RadioManager tramite il metodo generico RadioTuner.getParameters().

Affinché la soluzione rimanga solida, l'utente di questa estensione del fornitore deve stabilire che l'HAL supporta la funzionalità (non assumerne l'esistenza). Le stringhe di parametri per la chiamatagetParameters devono essere organizzate in modo chiaro per un utilizzo inequivocabile tra i fornitori. Ad esempio, utilizzando lo spazio dei nomi della tua organizzazione anteponendo il dominio appropriato, ad esempio com.me.timezoneTuner.currenttimezone.

Data la natura basata su eventi delle informazioni, può essere utile utilizzare il callback RadioTuner.Callback.onParametersUpdated() per riceverle. Se questa funzionalità deve essere configurabile, progetta un insieme di routine personalizzate su setParameters. Ad esempio:

com.me.timezoneTuner.currenttimezoneEvent.enable

Da solo, il Global Navigation Satellite System (GNSS) può fornire solo informazioni e posizione precise sul tempo.

Geolocalizzazione

La soluzione a questo inconveniente è eseguire il reverse geocoding e determinare il paese e il fuso orario eseguendo una ricerca in base alla posizione. Il GNSS è la scelta ovvia (e di migliore qualità) per le informazioni sulla posizione di un veicolo. L'API Fuso orario di Google offre tutto ciò che serve per eseguire la conversione richiesta. Ovviamente, è necessaria la connettività a internet. Garantire la privacy degli utenti deve essere una priorità assoluta quando si implementa una soluzione online. L'autorizzazione di un utente ad accettare (o meno) i costi di utilizzo dei dati è obbligatoria e deve essere richiesta.

È possibile creare una soluzione adatta per l'utilizzo offline. Un database di mappe locali con una risoluzione sufficiente per determinare con precisione il paese e il fuso orario può essere inserito nello spazio di archiviazione di un veicolo. Con questo e una strategia completamente implementata per aggiornare le informazioni sul fuso orario (e sul paese) in base alle esigenze, è possibile eseguire il reverse geocoding del paese/fuso orario in base alla posizione GNSS ottenuta dal sottosistema di geolocalizzazione.

Vantaggi Svantaggi
  • Può determinare in modo inequivocabile il fuso orario corretto.
  • Non richiede connettività a internet (in caso di database locale).
  • Funziona in modo affidabile per la maggior parte degli scenari di guida.
  • Android non supporta questa funzionalità per impostazione predefinita.
  • Se il veicolo si trova al chiuso/in un'area coperta in cui non è possibile una buona ricezione dei satelliti GNSS durante la configurazione iniziale, è impossibile ottenere informazioni precise su ora, posizione e fuso orario.
  • Il database locale ha bisogno di un meccanismo di aggiornamento.
  • Complessità di implementazione.

Smartphone connesso tramite Bluetooth, Wi-Fi o USB

È possibile utilizzare diverse tecnologie per sfruttare lo smartphone di un utente al fine di ottenere dati su ora e fuso orario. Per tutti gli smartphone, è necessario installare una coppia di app personalizzate e app complementari sullo smartphone e sul sistema In-Vehicle Infotainment (IVI). È quindi possibile sincronizzare l'ora con l'intervallo desiderato. Ad esempio, al momento dell'instaurazione della connessione e quando lo smartphone rileva un nuovo fuso orario.

Alcuni smartphone che supportano Bluetooth Low Energy (BLE) offrono la possibilità di recuperare l'ora tramite la caratteristica GATT Ora corrente e la Specifica del profilo del servizio Ora corrente 1.1. Tuttavia, questa opzione non si rivolge a un segmento di mercato sufficientemente ampio da poter essere utilizzato esclusivamente.

Vantaggi Svantaggi
  • Non richiede connettività a internet.
  • Le modifiche al fuso orario rilevate dallo smartphone possono essere trasmesse all'unità principale.
  • Android non supporta questa funzionalità per impostazione predefinita.
  • Funziona solo quando lo smartphone è connesso all'unità principale.
  • La precisione è buona o cattiva quanto quella dello smartphone.
  • L'implementazione è complessa.
  • Non tutti gli smartphone supportano il profilo BLE GATT Current Time Service.

Utilizzare le origini

Ogni fornitore di dispositivi deve stabilire quanto alta deve essere la barra da impostare e quali percorsi utente ritiene più critici. Solo con una chiara comprensione delle esperienze utente critiche desiderate è possibile prendere la decisione migliore. Nella maggior parte dei casi, i fornitori devono valutare i compromessi tra praticità e complessità di implementazione.

Ogni opzione descritta sopra presenta vantaggi e svantaggi. Ad esempio, è necessario fare una scelta di progettazione critica in merito alla quantità di resilienza accettabile, rispetto a una scarsa visualizzazione occasionale del tempo, e a come gestire gli aspetti negativi. Una soluzione completamente automatica che dovrebbe funzionare bene in tutti gli scenari, ma che deve essere basata su una combinazione di diverse fonti di informazioni. Nessuna singola opzione può garantire il 100% di disponibilità.

Un'opzione di configurazione manuale come soluzione temporanea è facile da eseguire e può, in pratica, essere sufficiente per molti utenti.