Options de fuseau horaire

L'affichage précis de l'heure est une fonctionnalité essentielle attendue des systèmes d'infoloisirs automobiles. Bien que cela puisse sembler étonnamment simple, en particulier lorsque les attentes en temps et en temps gestion de zone est faible et doit être respectée, le temps devient rapidement complexe lorsqu'une précision fiable la date et l'heure doivent être affichées sans intervention manuelle.

Toutes les horloges en temps réel généralement utilisées dans un SoC (système sur une puce) présentent une dérive, s'accumule au fil du temps et peut entraîner une erreur importante si elle n'est pas corrigée. De plus, car il est très important que l'heure locale s'affiche correctement, Le temps universel coordonné (UTC) doit être pris en compte.

Les informations de fuseau horaire et le passage à l'heure d'été (DST) peuvent changer pendant la durée de vie prévue d'un véhicule. Par exemple, après de nombreux années après l'adoption du passage à l'heure d'été, le Brésil a choisi de ne pas l'adopter en 2019.

Android fournit l'infrastructure nécessaire pour négocier les complications liées aux règles de fuseau horaire gestion de la sécurité. Pour en savoir plus, consultez Règles de fuseau horaire qui permet aux OEM de transmettre des données actualisées sur les règles de fuseau horaire aux appareils sans avoir besoin d'un système mise à jour. Ce mécanisme permet:

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

Remarque:AAOS 10 ne Prise en charge du mécanisme de mise à jour de modules basé sur APEX fourni dans les versions d'Android 10 (et ultérieure).

Remarque:Pour implémenter ce mécanisme, vous devez redémarrer le système.

Sources d'informations temporelles (fuseaux) dans les voitures

Les appareils Android gèrent le temps en heure Unix au niveau du système, appliquent le décalage de fuseau horaire souhaité, puis convertir cette valeur en heure locale pour la présenter aux utilisateurs. L'identifiant de la zone de l'utilisateur actuel (souvent (appelée "ID Olson") est stockée en tant que paramètre. Exemple : Europe/Londres.

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

Le processus peut s'avérer compliqué. Travailler sur la base des informations disponibles peut être ambigu. Par exemple, la règle de fuseau horaire Amérique/Denver applique le passage à l'heure d'été, mais pas à Mountain View. L'heure d'été

Radio mobile

L’information système (SI) est un aspect essentiel de l’interface Air LTE (Long-Term Evolution, LTE), qui est transmise par la station de base (BS) sur le canal de contrôle de diffusion (BCCH). Dépannage 3GPP 36.331 spécifie le SystemInformationBlockType16 (SIB16) qui contient des informations liées au GPS et le temps universel coordonné (UTC), le décalage horaire local, ainsi que des informations sur l'heure d'été.

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

Malheureusement, le point commun entre la plupart des normes est que l'envoi de ces informations facultatif, il n'est donc pas disponible universel sur tous les réseaux.

Avantages Inconvénients
  • Si disponible, fournit la plupart des informations souhaitées.
  • Simplicité : déjà prise en charge par Android lorsque la radio cellulaire est exposée en tant que téléphone, et non uniquement comme modem de données.
  • Ne nécessite pas de connexion Internet.
  • Nous ne pouvons pas garantir que l'information sera diffusée ni que la station d'accueil sera correctement diffusée. configuré.

  • Dans les régions frontalières, il est responsable de détecter une antenne-relais (itinérance) depuis un pays voisin. et potentiellement indiquer un fuseau horaire incorrect.

  • Dans certaines zones géographiques, les mises à jour peuvent prendre plusieurs heures, voire plusieurs jours.

Protocole de temps réseau

Le protocole NTP (Network Time Protocol) est souvent utilisé pour obtenir une heure relativement précise de l'époque Unix. des informations. Android prend en charge la synchronisation de son heure système avec celle d'un serveur NTP si elles peuvent être exposées à des clients de RadioManager via l'opérateur générique RadioTuner.getParameters(). NTP met à jour l'heure du système lorsqu'il cesse de synchronisation et que l'opérateur n'a pas fourni de mise à jour NITZ récemment. Si l'utilisateur active AUTO_TIME Lorsque NITZ n'est pas disponible, le système vérifie immédiatement la présence de réseaux en temps réel.

Avantages Inconvénients

La simplicité, compatible avec Android

  • Incomplète, NTP ne fournit qu’une seule valeur nécessaire (heure). Même dans le meilleur des cas, NTP ne peut pas fournir le fuseau horaire.

  • Nécessite une connexion Internet.

Tuner radio radio

Même s'il est intéressant d'exploiter un tuner intégré pour récupérer les informations sur l'heure et le fuseau horaire, des défis à relever. De nombreuses normes de radiodiffusion définissent les options permettant d'exposer les des informations. De manière générale, un tuner radio de diffusion fournit les mêmes informations qu'un tuner radio.

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

De même, pour le système de données radio (RDS) communément 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 (transmis une fois par minute). De plus, l'extension Le code pays (ECC) peut également être récupéré lors de l'identification du programme transmis.

La radio HD contient des options correspondantes Conception de l'interface aérienne HD RadioTM Description de la spécification Station Information Service Transport dans les informations sur la station Message de paramètre du service (SIS) (ID MSG 0111). La section 5 énonce clairement les mots d’avertissement qui quand vous essayez d'utiliser l'affichage heure et statistiques de la diffusion. Il en va de même pour équitablement aux autres systèmes:

Ces données décrivent la coutume locale dans l'emplacement du diffuseur, qui peut ne doit pas être identique à l'emplacement personnalisé local à l'emplacement du récepteur. près des limites de fuseaux horaires ; les consommateurs peuvent recevoir une multitude de stations fournissant des données différentes. Par conséquent, ces les données ne sont fournies que sous forme d'indices, dont l'interprétation et l'utilisation doivent être effectuées discrétionnaire, sous réserve du contrôle du client. ..."

En outre, pour la radio HD, au moins, la diffusion de ces informations est facultative et ne doit pas être exclusivement utilisé.

Avantages Inconvénients <ph type="x-smartling-placeholder">
    </ph>
  • Généralement disponible dans différentes normes régionales de radiodiffusion.
  • Ne nécessite pas de connexion Internet.
  • Android n'est pas compatible avec cette fonctionnalité.
  • Le tuner doit être activé (au moins de temps en arrière-plan) pour que pour détecter des informations.
  • La fiabilité dépend du diffuseur.

Conseils d'implémentation

Android prend en charge la synchronisation de son heure système avec celle d'un serveur NTP s'il est possible exposés aux clients de RadioManager La solution recommandée consiste à utiliser la fonctionnalité d'extension de fournisseur. L'implémentation de cette fonctionnalité doit avoir lieu dans la couche d'abstraction matérielle (HAL), après quoi peut être présenté aux clients de RadioManager via le RadioTuner.getParameters().

Pour que la solution reste robuste, le consommateur de cette extension de fournisseur doit déterminer que HAL est compatible avec la fonctionnalité (ne présumez pas son existence). Chaînes de paramètres du paramètre L'appel getParameters doit être correctement organisé pour pouvoir être utilisé sans ambiguïté entre les fournisseurs. Pour par exemple, en utilisant l'espace de noms de votre organisation en le préfixant avec le domaine approprié, Exemple : com.me.timezoneTuner.currenttimezone.

Étant donné que les informations sont basées sur les événements, il peut être avantageux d'utiliser le Rappel RadioTuner.Callback.onParametersUpdated() pour recevoir ces informations. Si cette fonction doit être configurable. Concevez un ensemble de routines personnalisées en plus setParameters Exemple :

com.me.timezoneTuner.currenttimezoneEvent.enable

À lui seul, le système GNSS (Global Navigation Satellite System) ne peut fournir que l'heure précise d'informations et de position.

Géolocalisation

La solution à ce désagrément consiste à exécuter un geocoding inversé et à déterminer le pays et en effectuant une recherche basée sur la position. Le GNSS est le choix évident (et de meilleure qualité) de localisation dans un véhicule. Google API Time Zone propose tout ce qui est nécessaire pour effectuer la conversion requise. Bien sûr, la connectivité Internet est obligatoire. La protection de la confidentialité des utilisateurs doit être une priorité absolue lors de la mise en œuvre d'une solution en ligne. La L'autorisation (ou non) d'un utilisateur à accepter les coûts liés à la consommation des données est requise et doit être demandée.

Il est possible de créer une solution adaptée à une utilisation hors connexion. Une base de données cartographiques locale avec une résolution suffisante pour déterminer avec précision le pays et le fuseau horaire adaptés aux besoins stockage. Grâce à cela et à une stratégie entièrement mise en œuvre pour mettre à jour le fuseau horaire (et le pays), informations existantes selon les besoins, il est possible d'inverser le géocodage du pays/du fuseau horaire en fonction du GNSS. position obtenue à partir du sous-système de localisation.

Avantages Inconvénients
  • Déterminer sans ambiguïté le bon fuseau horaire
  • Ne nécessite pas de connectivité Internet (en cas de base de données locale).
  • Fonctionne de manière fiable dans la plupart des scénarios de conduite.
  • Android n'est pas compatible avec cette fonctionnalité.
  • Si le véhicule se trouve à l'intérieur d'une zone couverte où la réception par satellite GNSS n'est pas bonne possible lors de la configuration initiale, il est impossible d'obtenir une heure, un emplacement précis et le fuseau horaire.
  • La base de données locale nécessite un mécanisme de mise à jour.
  • Complexité de l'implémentation.

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

Plusieurs technologies permettent d'exploiter le téléphone d'un utilisateur afin d'obtenir des données sur l'heure et le fuseau horaire. Pour chaque téléphone, une paire d'applications personnalisées et d'applications associées doit être installée sur le téléphone. et sur le système d'infoloisirs embarqués (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 dans le fuseau horaire.

Certains téléphones compatibles avec la technologie Bluetooth à basse consommation (BLE) offrent la possibilité de récupérer l'heure via le Caractéristique GATT pour l'heure actuelle et la spécification actuelle du profil de service 1.1. Toutefois, cette option ne s'adressent pas à un marché suffisamment vaste. segment sur lequel elle doit être exclusivement utilisée.

Avantages Inconvénients
  • Ne nécessite pas de connexion Internet.
  • Les changements de fuseau horaire détectés par le téléphone peuvent être transmis à l'unité principale.
  • Android n'est pas compatible avec cette fonctionnalité.
  • Fonctionne uniquement lorsque le téléphone est connecté à l'unité principale.
  • Le temps est aussi bon ou mauvais que ce que fournit le téléphone.
  • L'implémentation est complexe.
  • Tous les téléphones ne sont pas compatibles avec le profil de service en temps réel BLE GATT.

Utiliser des sources

Chaque fournisseur d'appareils doit déterminer la barre à définir et les parcours utilisateur à privilégier. essentielles. Seule une compréhension claire des expériences utilisateur essentielles souhaitées peut la décision finale. Dans la plupart des cas, les fournisseurs doivent tenir compte des compromis entre la commodité et la complexité de l'implémentation.

Chaque option décrite ci-dessus présente des avantages et des inconvénients. Par exemple, une conception critique vous devez choisir le niveau de résilience par rapport à un mauvais affichage occasionnel du temps, est acceptable et comment gérer les inconvénients. Il s'agit d'une solution entièrement automatique fonctionne bien dans tous les scénarios, mais doit se baser sur une combinaison de plusieurs sources d'informations. Aucune option ne peut garantir une disponibilité de 100 %.

Une option de configuration manuelle en tant que solution de remplacement temporaire est facile à exécuter et peut, en pratique, être suffisant pour de nombreux utilisateurs.