Options de fuseau horaire

L’affichage précis de l’heure est une caractéristique essentielle attendue d’un système d’infodivertissement automobile. Bien que cela puisse paraître d'une simplicité trompeuse, en particulier lorsque les attentes en matière de gestion de l'heure et des fuseaux horaires sont faibles et doivent être satisfaites, le temps devient rapidement complexe lorsqu'une date et une heure fiables et précises doivent être affichées sans intervention manuelle.

Toutes les horloges en temps réel généralement utilisées dans les systèmes sur puce (SoC) contiennent une certaine dérive, qui s'accumule au fil du temps et peut entraîner des erreurs importantes si elles ne sont pas corrigées. De plus, comme les attentes sont élevées quant à l'affichage précis de l'heure locale, le décalage correct par rapport au temps universel coordonné (UTC) doit être pris en compte.

Les informations sur les fuseaux horaires, ainsi que l'application de l'heure d'été (DST), peuvent changer au cours de la durée de vie prévue d'un véhicule. Par exemple, après de nombreuses années de mise en œuvre de l’heure d’été, le Brésil a choisi de ne pas lancer de programme d’heure d’été en 2019.

Android fournit l'infrastructure nécessaire pour gérer les complications liées à la gestion des règles de fuseau horaire. Pour plus de détails, consultez Règles de fuseau horaire , qui permettent aux OEM de transférer les données des règles de fuseau horaire mises à jour vers les appareils sans nécessiter de mise à jour du système. Ce mécanisme permet :

  • Les utilisateurs reçoivent des mises à jour en temps opportun (qui prolongent la durée de vie utile d'un appareil Android).
  • Les OEM doivent tester les mises à jour du fuseau horaire indépendamment des mises à jour de l’image système.

Remarque : AAOS 10 ne prend pas en charge le mécanisme de mise à jour des modules basé sur APEX fourni dans les versions d'Android 10 (et versions ultérieures).

Remarque : Pour mettre en œuvre ce mécanisme, un redémarrage du système est requis.

Sources d'information sur l'heure (fuseau) dans les voitures

Les appareils Android gèrent l'heure au format Unix au niveau du système, appliquent le décalage de fuseau horaire souhaité, puis convertissent la valeur en heure locale pour l'afficher aux utilisateurs. L'ID de zone de l'utilisateur actuel (souvent appelé ID Olson) est stocké en tant que paramètre. Par exemple, Europe/Londres .

Une grande partie du mécanisme décrit ci-dessous décrit les informations temporelles. L'objectif de ces normes est de fournir aux utilisateurs l'heure actuelle, et non de décrire les règles de fuseau horaire applicables. Pour déterminer le fuseau horaire réel, l'appareil doit prendre en compte des facteurs tels que le pays, le décalage et le décalage horaire avant de définir l'ID de zone.

Le processus peut être un défi. Travailler en fonction des informations disponibles peut être ambigu. Par exemple, la règle de fuseau horaire America/Denver observe l'heure d'été mais adopte l'heure d'été des Rocheuses (MDT) pendant l'été, tandis qu'America/Phoenix continue de reconnaître MDT.

Radio cellulaire

Les informations système (SI) constituent un aspect essentiel de l'interface aérienne d'évolution à long terme (LTE), qui est transmise par la station de base (BS) sur le canal de contrôle de diffusion (BCCH). 3GPP TS 36.331 spécifie le SystemInformationBlockType16 (SIB16) qui contient des informations relatives au GPS et au temps universel coordonné (UTC), au décalage horaire local, ainsi qu'aux informations DST.

Des fonctionnalités similaires peuvent être trouvées en 2G et 3G, où les informations d'identité du réseau et de fuseau horaire (NITZ) peuvent être diffusées (voir 3GPP TS 22.042 pour plus de détails). D'autres normes de radio cellulaire ont des fonctionnalités équivalentes.

Malheureusement, le point commun entre la plupart des normes est que l'envoi de ces informations est facultatif et qu'elles ne sont donc pas universellement disponibles sur tous les réseaux.

Avantages Les inconvénients
  • Lorsqu'il est disponible, fournit la plupart des informations souhaitées.
  • Simplicité, déjà prise en charge par Android lorsque la radio cellulaire est exposée comme un téléphone, et pas seulement comme un modem de données.
  • Ne nécessite pas de connexion Internet.
  • Aucune garantie que les informations soient diffusées ni que la station de base soit correctement configurée.

  • Dans les régions frontalières, risque de capter une tour de téléphonie cellulaire (itinérance) d'un pays voisin et potentiellement de transmettre le mauvais fuseau horaire.

  • Dans certains endroits, les mises à jour peuvent prendre des heures, voire des jours.

Protocole de temps réseau

Network Time Protocol (NTP) est souvent utilisé pour obtenir des informations temporelles relativement précises sur l'époque Unix. Android prend en charge la synchronisation de son heure système avec celle d'un serveur NTP s'il peut être exposé aux clients de RadioManager via les métadonnées génériques RadioTuner.getParameters() . NTP met à jour l'heure du système lorsqu'elle n'est pas synchronisée et qu'un opérateur n'a pas récemment fourni de mise à jour NITZ. Si l'utilisateur active AUTO_TIME lorsque NITZ n'est pas disponible, le système vérifie immédiatement l'heure du réseau.

Avantages Les inconvénients

Simplicité, prise en charge par Android.

  • Incomplet, NTP ne fournit qu'une seule valeur nécessaire (le temps). Même dans le meilleur des cas, NTP ne peut pas fournir le fuseau horaire.

  • Nécessite une connectivité Internet.

Tuner radio de diffusion

Bien que l’utilisation d’un tuner intégré pour récupérer des informations sur l’heure et le fuseau horaire soit attrayante, des défis restent à relever. De nombreuses normes de diffusion radio définissent des options pour exposer les informations souhaitées. D'une manière générale, un tuner radio de diffusion fournit les mêmes informations qu'une radio cellulaire.

ETSI EN 300 401 V1.4.1 (2006-06), section 8.1 spécifie les fonctionnalités d'informations de service qui fournissent des informations supplémentaires sur les services pour les programmes audio et les données pour les systèmes de diffusion audio numérique (DAB). La section 8.1.3 définit le format de l'heure et de la date ainsi que les informations sur le pays et le décalage horaire local.

De même, pour le Radio Data System (RDS) couramment implémenté dans les tuners FM, la section 3.1.5.6 de la norme EN 50067 définit le format de l'heure et des données (transmises une fois par minute). De plus, l'indicatif de pays étendu (ECC) peut également être récupéré dans le cadre de l'identification du programme transmis.

HD Radio contient les options correspondantes dans le cadre de la spécification de transport du service d'information de station de description de conception d'interface aérienne HD Radio™ dans le message de paramètre du service d'information de station (SIS) (ID MSG 0111). La section 5 énonce clairement les mots d'avertissement dont il faut tenir compte lorsque l'on tente d'utiliser le support d'horloge de l'émission. La même sagesse s’applique également aux autres systèmes :

... ces données décrivent la coutume locale du lieu du radiodiffuseur, qui peut ou non être la même que la coutume locale du lieu du récepteur. À proximité des limites des fuseaux horaires, les consommateurs peuvent recevoir une multiplicité de stations fournissant des données différentes. Par conséquent, ces données ne sont fournies qu'à titre indicatif, dont l'interprétation et l'utilisation doivent être rendues discrétionnaires, sous le contrôle du client. ..."

De plus, pour HD Radio au moins, la diffusion de ces informations est facultative et ne doit pas être invoquée exclusivement.

Avantages Les inconvénients
  • Généralement disponible selon différentes normes de radio de diffusion régionales.
  • Ne nécessite pas de connexion Internet.
  • Android ne prend pas en charge cela par défaut.
  • Nécessite que le tuner soit activé (au moins occasionnellement en arrière-plan) pour détecter les informations de manière fiable.
  • La fiabilité dépend du diffuseur.

Conseils de mise en œuvre

Android prend en charge la synchronisation de son heure système avec celle d'un serveur NTP s'il peut être exposé aux clients de RadioManager . La solution recommandée consiste à tirer parti de la fonctionnalité d’extension du fournisseur. L'implémentation de cette fonctionnalité doit avoir lieu dans la couche d'abstraction matérielle (HAL), après quoi elle peut être exposée aux clients de RadioManager via la méthode générique RadioTuner.getParameters() .

Pour que la solution reste robuste, le consommateur de cette extension de fournisseur doit déterminer que HAL prend en charge la fonctionnalité (ne supposez pas son existence). Les chaînes de paramètres pour l’appel getParameters doivent être clairement organisées pour une utilisation sans ambiguïté entre les fournisseurs. Par exemple, utilisez l'espace de noms de votre organisation en le préfixant avec le domaine approprié, par exemple com.me.timezoneTuner.currenttimezone .

Étant donné la nature événementielle des informations, il peut être avantageux d'utiliser le rappel RadioTuner.Callback.onParametersUpdated() pour recevoir ces informations. Si cette fonctionnalité doit être configurable, concevez un ensemble de routines personnalisées au-dessus de setParameters . Par exemple:

com.me.timezoneTuner.currenttimezoneEvent.enable

À lui seul, le système mondial de navigation par satellite (GNSS) ne peut fournir que des informations temporelles et une position précises.

Géolocalisation

La solution à cet inconvénient consiste à exécuter un géocodage inversé et à déterminer le pays et le fuseau horaire en effectuant une recherche basée sur la position. Le GNSS est le choix évident (et de la meilleure qualité) pour les informations de localisation dans un véhicule. L'API Time Zone de Google offre tout ce dont vous avez besoin pour exécuter la conversion requise. Bien entendu, une connexion Internet est requise. Garantir la confidentialité des utilisateurs doit être une priorité absolue lors de la mise en œuvre d’une solution en ligne ! L'autorisation d'un utilisateur d'accepter ou non des frais d'utilisation des données est requise et doit être demandée.

Il est possible de créer une solution adaptée à une utilisation hors ligne. Une base de données cartographique locale avec une résolution suffisante pour déterminer avec précision le pays et le fuseau horaire peut s'intégrer dans le stockage d'un véhicule. Avec cela et une stratégie entièrement mise en œuvre pour mettre à jour les informations de fuseau horaire (et de pays) selon les besoins, on peut géocoder inversement le pays/fuseau horaire en fonction de la position GNSS obtenue à partir du sous-système de localisation.

Avantages Les inconvénients
  • Peut déterminer sans ambiguïté le fuseau horaire correct.
  • Ne nécessite pas de connectivité Internet (en cas de base de données locale).
  • Fonctionne de manière fiable pour la plupart des scénarios de conduite.
  • Android ne prend pas en charge cela par défaut.
  • Si le véhicule se trouve à l'intérieur/dans une zone couverte où une bonne réception satellite GNSS n'est pas possible lors de la configuration initiale, il est impossible d'obtenir des informations précises sur l'heure, l'emplacement et le fuseau horaire.
  • La base de données locale nécessite un mécanisme de mise à jour.
  • Complexité de mise en œuvre.

Téléphone connecté via Bluetooth, Wi-Fi ou USB

Plusieurs technologies peuvent être utilisées pour exploiter le téléphone d'un utilisateur afin d'obtenir des données d'heure et de fuseau horaire. Pour tous les téléphones, une paire d'applications personnalisées et d'applications complémentaires doivent être installées sur le téléphone et sur le système d'infodivertissement embarqué (IVI). Il est alors possible de synchroniser l'heure à l'intervalle souhaité. Par exemple, lors de l'établissement de la connexion et lorsque le téléphone détecte un nouveau fuseau horaire.

Certains téléphones prenant en charge Bluetooth Low Energy (BLE) offrent la possibilité de récupérer l'heure via la caractéristique GATT Current Time et la spécification Current Time Service Profile 1.1 . Toutefois, cette option ne s’adresse pas à un segment de marché suffisamment vaste pour qu’on puisse s’y fier exclusivement.

Avantages Les inconvénients
  • Ne nécessite pas de connexion Internet.
  • Les changements de fuseau horaire détectés par le téléphone peuvent être relayés à l'unité principale.
  • Android ne prend pas en charge cela par défaut.
  • Fonctionne uniquement lorsque le téléphone est connecté à l'unité principale.
  • Le temps est aussi bon ou mauvais que ce que propose le téléphone.
  • La mise en œuvre est complexe.
  • Tous les téléphones ne prennent pas en charge le profil BLE GATT Current Time Service.

Utiliser des sources

Chaque fournisseur d’appareils doit déterminer la barre à fixer et les parcours utilisateur qu’il considère comme les plus critiques. Ce n’est qu’avec une compréhension claire des expériences utilisateur critiques souhaitées que la meilleure décision peut être prise. Dans la plupart des cas, les fournisseurs doivent prendre en compte les compromis entre commodité et complexité de mise en œuvre.

Chaque option décrite ci-dessus présente des avantages et des inconvénients. Par exemple, un choix de conception critique doit être fait en ce qui concerne le degré de résilience acceptable, par rapport à un mauvais affichage occasionnel de l'heure, et la manière de gérer les inconvénients. Une solution entièrement automatique qui peut fonctionner correctement dans tous les scénarios doit néanmoins être basée sur une combinaison de plusieurs sources d'informations. Aucune option ne peut assurer à elle seule une disponibilité à 100 %.

Une option de configuration manuelle comme solution de secours temporaire est facile à exécuter et peut, en pratique, suffire à de nombreux utilisateurs.