Opções de fuso horário

A exibição precisa das horas é um recurso essencial esperado de um sistema de infoentretenimento automotivo. Embora isso possa parecer enganosamente simples, especialmente quando as expectativas de tempo e tempo de zona são baixos e precisam ser atendidos, o tempo rapidamente se torna complexo quando uma operação a data e a hora devem ser exibidas sem intervenção manual.

Todos os relógios em tempo real normalmente usados em system on chip (SoC) têm deslocamentos, se acumula ao longo do tempo e pode causar erros significativos quando não corrigido. Além disso, porque as expectativas são altas, a hora local deve ser exibida de forma precisa, o deslocamento correto É preciso considerar o Tempo Universal Coordenado (UTC).

Informações de fuso horário e a aplicação do horário de verão (DST), pode sofrer alterações durante a vida útil esperada de um veículo. Por exemplo, depois de muitas anos de implementação do horário de verão, o Brasil decidiu não iniciar um cronograma de horário de verão em 2019.

O Android oferece a infraestrutura necessária para negociar complicações das regras de fuso horário de projetos. Para mais detalhes, consulte Regras de fuso horário, que permite que OEMs enviem dados de regras de fuso horário atualizados para os dispositivos sem precisar de um sistema atualizar. Esse mecanismo permite:

  • Os usuários vão receber atualizações oportunas, o que aumenta a vida útil de um dispositivo Android.
  • OEMs para testar atualizações de fuso horário independentemente das atualizações da imagem do sistema.

Observação:o AAOS 10 não oferecer suporte ao mecanismo de atualização de módulo baseado em APEX fornecido em versões do Android 10 (e superior).

Observação:para implementar esse mecanismo, é necessário reinicializar o sistema.

Fontes de informações de fuso horário em carros

Os dispositivos Android gerenciam o horário no formato Unix no sistema, aplicar a diferença de fuso horário desejada e converter o valor no horário local para que ele seja exibido aos usuários. O ID da zona do usuário atual (geralmente é chamada de ID Olson) é armazenada como uma configuração. Por exemplo, Europa/Londres.

Grande parte do mecanismo descrito abaixo descreve informações de tempo. A intenção dessas normas é para informar o horário atual aos usuários, não para descrever as regras de fuso horário aplicáveis. Para determinar o fuso horário real, o dispositivo precisa trabalhar com fatores como país, deslocamento e horário de verão. antes de definir o ID da zona.

O processo pode ser desafiador. Trabalhar com base nas informações disponíveis pode ser ambíguo. Por exemplo, a regra de fuso horário América/Denver observa o horário de verão, mas adota o horário das Montanhas O horário de verão (MDT, na sigla em inglês) durante o verão, enquanto os EUA/Phoenix continuam a reconhecer o MDT.

Rádio celular

As informações do sistema (SI) são um aspecto essencial da interface aérea Long-Term Evolution (LTE), que é transmitida pela estação de base (BS) pelo canal de controle de transmissão (BCCH). TS de 3GPP 36.331 especifica o SystemInformationBlockType16 (SIB16), que contém informações relacionadas ao GPS e o Tempo Universal Coordenado (UTC), o ajuste de horário local e as informações de horário de verão.

Funcionalidades semelhantes podem ser encontradas em 2G e 3G, onde a identidade da rede e o fuso horário (NITZ) as informações possam ser transmitidas (consulte 3GPP TS 22.042 para obter detalhes). Outros padrões de rádio celular têm recursos equivalentes.

Infelizmente, o que há em comum entre a maioria dos padrões é que o envio dessas informações é opcional, por isso não está disponível universalmente em todas as redes.

Prós Contras
  • Quando disponível, fornece a maioria das informações desejadas.
  • simplicidade, já disponível no Android quando o rádio celular é exposto como um smartphone, e não apenas como um modem de dados.
  • Não requer conectividade com a Internet.
  • Não há garantias de que as informações sejam transmitidas nem de que a estação de base seja devidamente configurada.

  • Em regiões de fronteira, responsável por pegar uma torre de celular (em roaming) de um país vizinho e podem transmitir o fuso horário errado.

  • Em alguns locais, as atualizações podem exigir horas ou até mesmo dias para ocorrer.

Network Time Protocol (protocolo de tempo de rede)

O Network Time Protocol (NTP) é frequentemente usado para obter um horário de época Unix relativamente preciso informações imprecisas ou inadequadas. O Android oferece suporte à sincronização da hora do sistema com a de um servidor NTP se puder ser exposto a clientes de RadioManager pelo Metadados RadioTuner.getParameters(). O NTP atualiza a hora do sistema quando ele sai do e uma operadora não forneceu uma atualização do NITZ recentemente. Se o usuário ativar AUTO_TIME quando o NITZ não estiver disponível, o sistema verificará imediatamente se há redes tempo de resposta.

Prós Contras

Simplicidade, com suporte do Android.

  • Incompleto, a NTP fornece apenas um valor necessário (tempo). Mesmo na melhor das hipóteses, O NTP não pode informar o fuso horário.

  • É necessário ter conexão de Internet.

Sintonizador de rádio de transmissão

Embora o uso de um sintonizador integrado para recuperar informações de hora e fuso horário seja atraente, os desafios envolvidos. Vários padrões de transmissão de rádio definem opções para expor informações imprecisas ou inadequadas. De modo geral, um sintonizador de rádio de transmissão fornece as mesmas informações que um rádio.

O ETSI EN 300 401 V1.4.1 (2006-06), seção 8.1 especifica informações de serviço. recursos que oferecem informações complementares sobre serviços de programas de áudio e dados para áudio digital Sistemas de transmissão (DAB). A seção 8.1.3 define o formato de hora e data, bem como para deslocamento de horário local e do país.

Da mesma forma, para o Sistema de dados de rádio (RDS) comumente implementado em sintonizadores FM, seção 3.1.5.6 do a norma EN 50067 define o formato de hora do relógio e dados (transmitidos uma vez por minuto). Além disso, a fase estendida o código de país (ECC) também pode ser recuperado como parte da identificação do programa transmitido.

O HD Radio contém opções correspondentes como parte da Design de interface aérea HD RadioTM Descrição " Station Information Service Transport" nas "Estações" Mensagem de parâmetro do serviço (SIA) (MSG ID 0111). A seção 5 especifica claramente palavras de advertência que deve ser atento ao tentar usar o suporte do relógio para a transmissão. A mesma sabedoria se aplica igualmente a outros sistemas:

... esses dados descrevem o personalizado local no local da emissora, que pode ou pode não será o mesmo que o personalizado local no lugar do receptor. Perto de limites de fuso horário, os consumidores podem receber uma multiplicidade de estações que fornecem dados diferentes. Portanto, os dados são fornecidos apenas como dicas, a interpretação e a utilização deles devem ser feitas discricionários, sujeitos ao controle do cliente. ..."

Além disso, para HD Radio, a transmissão dessas informações é opcional e não deve exclusivamente.

Vantagens Desvantagens
  • Normalmente disponíveis em diferentes padrões de rádio de transmissão regionais.
  • Não requer conectividade com a Internet.
  • O Android não é compatível com esse recurso por padrão.
  • Exige que o sintonizador esteja ativado (pelo menos ocasionalmente em segundo plano) para funcionar e detectar informações.
  • A confiabilidade depende da emissora.

Dicas de implementação

O Android oferece suporte à sincronização da hora do sistema com a hora de um servidor NTP, se puder ser expostos a clientes de RadioManager A solução recomendada é aproveitar o recurso de extensão do fornecedor. A implementação dessa funcionalidade precisa ocorrer na camada de abstração de hardware (HAL). Depois disso, se pode ser exposto aos clientes de RadioManager por meio do RadioTuner.getParameters().

Para que a solução permaneça robusta, o consumidor dessa extensão de fornecedor deve determinar se o A HAL é compatível com o recurso (não presuma a existência dele). As strings de parâmetro do A chamada getParameters precisa ser organizada de forma limpa para uso inequívoco entre os fornecedores. Para exemplo, usar o namespace da sua organização prefixando-o com o domínio apropriado, por exemplo: com.me.timezoneTuner.currenttimezone.

Dada a natureza das informações orientada a eventos, pode ser vantajoso usar o Callback RadioTuner.Callback.onParametersUpdated() para receber essas informações. Se que esta instalação deve ser configurável, projete um conjunto de rotinas personalizadas setParameters: Exemplo:

com.me.timezoneTuner.currenttimezoneEvent.enable

Por si só, o Sistema Global de Navegação por Satélite (GNSS, na sigla em inglês) pode fornecer apenas horários precisos informações e posição.

Geolocalização

A solução para esse inconveniente é executar a geocodificação reversa e determinar o país e com base na posição. O GNSS é a escolha óbvia (e de melhor qualidade) de informações de localização em um veículo. do Google API Time Zone oferece tudo o que é necessário para executar a conversão necessária. É claro que a conectividade com a Internet obrigatórios. Garantir a privacidade do usuário deve ser uma prioridade ao implementar uma solução on-line. A a permissão para que o usuário aceite os custos de uso de dados (ou não) é obrigatória e deve ser solicitada.

É viável criar uma solução adequada para uso off-line. Um banco de dados de mapas locais com uma resolução suficiente para determinar com precisão que o país e o fuso horário podem se encaixar armazenamento. Com isso e uma estratégia totalmente implementada para atualizar o fuso horário (e o país) conforme necessário, é possível reverter a geocodificação do país/fuso horário com base no GNSS posição obtida do subsistema Location.

Prós Contras
  • Pode determinar sem ambiguidade o fuso horário correto.
  • Não requer conectividade com a Internet (no caso de um banco de dados local).
  • Funciona de modo confiável na maioria dos cenários de condução.
  • O Android não é compatível com esse recurso por padrão.
  • Se o veículo estiver em um ambiente fechado/uma área coberta sem uma boa recepção de satélite GNSS durante a configuração inicial, é impossível obter precisão de horário, local e informações de fuso horário.
  • O banco de dados local precisa de um mecanismo de atualização.
  • Complexidade de implementação.

Smartphone conectado por Bluetooth, Wi-Fi ou USB

Várias tecnologias podem ser usadas para utilizar o celular de um usuário para obter dados de hora e fuso horário. Um par de apps personalizados e complementares precisa ser instalado em todos os smartphones. e no sistema de infoentretenimento no veículo (IVI, na sigla em inglês). É possível sincronizar o horário no intervalo desejado. Por exemplo, ao estabelecer a conexão e quando o telefone detectar um novo no fuso horário.

Alguns smartphones com suporte a Bluetooth de baixa energia (BLE) oferecem a opção de recuperar o tempo por meio do Característica do horário atual do GATT e a Especificação do perfil de serviço de horário atual 1.1. No entanto, essa opção não não abordar um mercado suficientemente grande em que pode ser usado de forma exclusiva.

Prós Contras
  • Não requer conectividade com a Internet.
  • As mudanças de fuso horário detectadas pelo smartphone podem ser redirecionadas para a unidade principal.
  • O Android não é compatível com esse recurso por padrão.
  • Funciona apenas enquanto o smartphone está conectado à unidade principal.
  • O tempo é tão bom ou ruim quanto o tempo disponível pelo smartphone.
  • A implementação é complexa.
  • Nem todos os smartphones são compatíveis com o perfil de serviço de horário atual do BLE GATT.

Usar fontes

Cada fornecedor de dispositivos precisa determinar qual nível de dificuldade definir e quais jornadas do usuário serão consideradas mais. críticos. Somente com uma compreensão clara das experiências críticas desejadas para o usuário pode que a decisão seja tomada. Na maioria dos casos, os fornecedores devem considerar as compensações entre conveniência e complexidade de implementação.

Cada opção descrita acima apresenta vantagens e desvantagens. Por exemplo, um design crítico deve ser feita uma escolha em relação à resiliência em relação à exibição ocasional de tempo ruim, é aceitável e como gerenciar as desvantagens. Uma solução totalmente automática que pode funcionar bem em todos os cenários, mas precisa se basear em uma combinação de várias fontes de informações. Nenhuma opção pode fornecer 100% de disponibilidade.

Uma opção de configuração manual como substituta temporária é fácil de executar e pode, na prática, ser suficientes para muitos usuários.