A exibição precisa da hora é um recurso essencial esperado de um sistema de infoentretenimento automotivo. Embora isso possa parecer enganosamente simples, principalmente quando as expectativas de tempo e gerenciamento de fuso horário são baixas e precisam ser atendidas, o tempo rapidamente se torna complexo quando uma data e hora confiáveis e precisas precisam ser exibidas sem intervenção manual.
Todos os relógios em tempo real normalmente usados em sistemas em chip (SoC) têm algum desvio, que se acumula com o tempo e pode levar a erros significativos quando não é corrigido. Além disso, como as expectativas de que o horário local seja mostrado com precisão são altas, é necessário considerar o ajuste correto do Tempo Universal Coordenado (UTC).
As informações de fuso horário, bem como a aplicação do horário de verão (DST, na sigla em inglês), podem mudar durante a vida útil esperada de um veículo. Por exemplo, depois de muitos anos implementando o horário de verão, o Brasil decidiu não iniciar um cronograma de horário de verão em 2019.
O Android fornece a infraestrutura necessária para negociar complicações do gerenciamento de regras de fuso horário. Para mais detalhes, consulte Regras de fuso horário, que permite que os OEMs enviem dados de regras de fuso horário atualizados para dispositivos sem exigir uma atualização do sistema. Esse mecanismo permite:
- Os usuários recebem 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 é compatível com o mecanismo de atualização de módulos baseado em APEX fornecido em versões do Android 10 (e mais recentes).
Observação:para implementar esse mecanismo, é necessário reiniciar o sistema.
Fontes de informações de hora (fuso horário) em carros
Os dispositivos Android gerenciam o tempo no formato Unix no nível do sistema, aplicam o ajuste de fuso horário desejado e convertem o valor para a hora local para exibição aos usuários. O ID da zona do usuário atual (geralmente chamado de ID Olson) é armazenado como uma configuração. Por exemplo, Europe/London.
Grande parte do mecanismo descrito abaixo descreve informações de tempo. O objetivo desses padrões é fornecer aos usuários a hora atual, não descrever as regras de fuso horário aplicáveis. Para determinar o fuso horário real, o dispositivo precisa trabalhar com base em fatores como país, ajuste e ajuste de horário de verão antes de definir o ID da zona.
O processo pode ser difícil. Trabalhar com base nas informações disponíveis pode ser ambíguo. Por exemplo, a regra de fuso horário America/Denver segue o horário de verão, mas adota o horário de verão das Montanhas (MDT) durante o verão, enquanto America/Phoenix continua reconhecendo o MDT.
Rádio celular
As informações do sistema (SI, na sigla em inglês) são um aspecto essencial da interface aérea de Long-Term Evolution (LTE), transmitida pela estação base (BS) no canal de controle de transmissão (BCCH). O 3GPP TS 36.331 especifica o SystemInformationBlockType16 (SIB16), que contém informações relacionadas ao GPS e ao Tempo Universal Coordenado (UTC), ao ajuste de horário local e ao horário de verão.
Funcionalidade semelhante pode ser encontrada em 2G e 3G, em que a identidade da rede e as informações de fuso horário (NITZ) podem ser transmitidas (consulte 3GPP TS 22.042 para mais detalhes). Outros padrões de rádio celular têm recursos equivalentes.
Infelizmente, a maioria dos padrões tem em comum o fato de que o envio dessas informações é opcional, então elas não estão disponíveis universalmente em todas as redes.
| Prós | Contras |
|---|---|
|
|
Network Time Protocol
O Network Time Protocol (NTP) é usado com frequência para obter informações relativamente precisas sobre a época do Unix. O Android é compatível com a sincronização do horário do sistema com o de um servidor NTP
se puder ser exposto a clientes de
RadioManager pelos metadados
RadioTuner.getParameters() genéricos. O NTP atualiza a hora do sistema quando ela sai de sincronia 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 vai verificar imediatamente a hora
da rede.
| Prós | Contras |
|---|---|
|
Simplicidade, com suporte do Android. |
|
Sintonizador de rádio de transmissão
Embora seja interessante usar um sintonizador integrado para recuperar informações de hora e fuso horário, há desafios envolvidos. Vários padrões de transmissão de rádio definem opções para expor as informações desejadas. Em geral, um sintonizador de rádio de transmissão fornece as mesmas informações que um rádio celular.
A ETSI EN 300 401 V1.4.1 (2006-06), seção 8.1 especifica recursos de informações de serviço que fornecem informações complementares sobre serviços para programas de áudio e dados para sistemas de transmissão de áudio digital (DAB, na sigla em inglês). A seção 8.1.3 define o formato de hora e data, além de informações sobre o país e o fuso horário local.
Da mesma forma, para o Sistema de dados de rádio (RDS, na sigla em inglês) comumente implementado em sintonizadores de FM, a seção 3.1.5.6 do padrão EN 50067 define o formato para hora e dados (transmitidos uma vez por minuto). Além disso, o código do país estendido (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 especificação HD Radio™ Air Interface Design Description Station Information Service Transport na mensagem de parâmetro do serviço de informações da estação (SIS, na sigla em inglês) (ID da mensagem 0111). A seção 5 explica claramente as palavras de alerta que devem ser seguidas ao tentar usar o suporte de relógio da transmissão. A mesma sabedoria se aplica igualmente a outros sistemas:
| ... esses dados descrevem o costume local no local da emissora, que pode ou não ser o mesmo do local do destinatário. Perto dos limites de fusos horários, os consumidores podem receber várias estações que fornecem dados diferentes. Portanto, esses dados são fornecidos apenas como dicas, e a interpretação e utilização deles devem ser feitas de forma discricionária, sujeitas ao controle do cliente. ..." |
Além disso, para a HD Radio, a transmissão dessas informações é opcional e não deve ser usada exclusivamente.
Vantagens Desvantagens- Normalmente disponível em diferentes padrões regionais de rádio.
- Não exige conectividade com a Internet.
- O Android não oferece suporte a isso de imediato.
- Exige que o sintonizador esteja ativado (pelo menos ocasionalmente em segundo plano) para detectar informações de forma confiável.
-
A confiabilidade depende da emissora.
Dicas de implementação
O Android é compatível com a sincronização do tempo do sistema com o de um servidor NTP se ele puder ser exposto a clientes deRadioManager. A solução recomendada é usar o recurso de extensão do fornecedor.
A implementação dessa funcionalidade precisa ocorrer na camada de abstração de hardware (HAL, na sigla em inglês). Depois disso, ela pode ser exposta aos clientes de RadioManager pelo método genérico RadioTuner.getParameters().
Para que a solução continue robusta, o consumidor dessa extensão de fornecedor precisa determinar se a HAL oferece suporte ao recurso (não presuma que ele exista). As strings de parâmetro para a chamada
getParameters precisam ser organizadas de forma clara para uso sem ambiguidade em todos os fornecedores. Por
exemplo, usando o namespace da sua organização ao prefixar com o domínio apropriado, por
exemplo, com.me.timezoneTuner.currenttimezone.
Devido à natureza orientada a eventos das informações, pode ser útil usar o
callback RadioTuner.Callback.onParametersUpdated() para recebê-las. Se
essa facilidade precisar ser configurável, crie um conjunto de rotinas personalizadas com base em
setParameters. Exemplo:
com.me.timezoneTuner.currenttimezoneEvent.enable
Sistema global de navegação por satélite
Por si só, o Sistema Global de Navegação por Satélite (GNSS) só pode fornecer informações precisas de tempo e posição.
Geolocalização
A solução para esse inconveniente é executar a geocodificação inversa e determinar o país e o fuso horário fazendo uma pesquisa com base na posição. O GNSS é a opção óbvia (e de melhor qualidade) de informações de localização em um veículo. A API Time Zone do Google oferece tudo o que é necessário para executar a conversão exigida. É claro que é necessário ter conectividade com a Internet. Garantir a privacidade do usuário deve ser uma prioridade ao implementar uma solução on-line. É necessário pedir a permissão de um usuário para aceitar (ou não) os custos de uso de dados.
É possível criar uma solução adequada para uso off-line. Um banco de dados de mapas local com resolução suficiente para determinar com precisão o país e o fuso horário pode ser armazenado em um veículo. Com isso e uma estratégia totalmente implementada para atualizar as informações de fuso horário (e país) conforme necessário, é possível fazer a geocodificação reversa do país/fuso horário com base na posição do GNSS obtida do subsistema de localização.
| Prós | Contras |
|---|---|
|
|
Smartphone conectado por Bluetooth, Wi-Fi ou USB
Várias tecnologias podem ser usadas para aproveitar o smartphone de um usuário e obter dados de hora e fuso horário. Em todos os smartphones, um par de apps personalizados e complementares precisa estar instalado no smartphone e no sistema de infoentretenimento no veículo (IVI). Depois, é possível sincronizar o tempo no intervalo desejado. Por exemplo, ao estabelecer a conexão e quando o smartphone detecta uma nova no fuso horário.
Alguns smartphones compatíveis com Bluetooth de baixa energia (BLE) oferecem a opção de recuperar a hora usando a característica de hora atual do GATT e a especificação do perfil do serviço de hora atual 1.1. No entanto, essa opção não atende a um segmento de mercado grande o suficiente para ser usada exclusivamente.
| Prós | Contras |
|---|---|
|
|
Usar fontes
Cada fornecedor de dispositivo precisa determinar o nível de exigência e quais jornadas do usuário são mais críticas. Só com uma compreensão clara das experiências críticas desejadas é possível chegar à melhor decisão. Na maioria dos casos, os fornecedores precisam considerar as vantagens e desvantagens entre conveniência e complexidade de implementação.
Cada opção descrita acima tem vantagens e desvantagens. Por exemplo, uma escolha de design crítica precisa ser feita em relação à quantidade de resiliência aceitável em comparação com a exibição ocasional de tempo ruim e como gerenciar as desvantagens. Uma solução totalmente automática que pode funcionar bem em todos os cenários, mas precisa ser baseada em uma combinação de várias fontes de informação. Nenhuma opção única pode oferecer 100% de disponibilidade.
Uma opção de configuração manual como um fallback temporário é fácil de executar e pode, na prática, ser suficiente para muitos usuários.