A exibição precisa do tempo é um recurso essencial esperado de um sistema de infoentretenimento automotivo. Embora isso pareça enganosamente simples, principalmente quando as expectativas de tempo e gerenciamento de fuso horário são baixas e precisam ser atendidas, o tempo se torna rapidamente complexo quando uma data e hora precisas precisam ser mostradas sem intervenção manual.
Todos os relógios em tempo real normalmente usados no sistema em chip (SoC) contêm alguma deriva, que se acumula ao longo do tempo e pode levar a um erro significativo quando não é corrigido. Além disso, como as expectativas são altas para que o horário local seja exibido com precisão, o ajuste correto do Horário Universal Coordenado (UTC) precisa ser considerado.
As informações do fuso horário, assim como a aplicação do horário de verão, podem mudar durante a vida útil esperada de um veículo. Por exemplo, após muitos anos de implementação do horário de verão, o Brasil optou por não iniciar uma programação de horário de verão em 2019.
O Android oferece 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 em tempo hábil, o que prolonga a vida útil de um dispositivo Android.
- OEMs para testar as atualizações de fuso horário independentemente das atualizações da imagem do sistema.
Observação:o AAOS 10 não oferece suporte ao mecanismo de atualização de módulo baseado em APEX fornecido nas versões do Android 10 (e mais recentes).
Observação:para implementar esse mecanismo, é necessário reiniciar o sistema.
Fontes de informações de tempo (fuso horário) em carros
Os dispositivos Android gerenciam o tempo no horário Unix no nível do sistema, aplicam o deslocamento de fuso horário desejado e convertem o valor para o horário local para exibição aos usuários. O ID de zona do usuário atual (geralmente chamado de ID de Olson) é armazenado como uma configuração. Por exemplo, Europe/London.
Grande parte do mecanismo descrito abaixo descreve informações de tempo. A intenção desses padrões é fornecer aos usuários o horário atual, não descrever as regras de fuso horário aplicáveis. Para determinar o fuso horário atual, o dispositivo precisa trabalhar com fatores como país, deslocamento e deslocamento de horário de verão antes de definir o ID da zona.
O processo pode ser um desafio. Trabalhar com base nas informações disponíveis pode ser ambíguo. Por exemplo, a regra de fuso horário America/Denver observa o horário de verão, mas adota o horário de verão da montanha (MDT, na sigla em inglês) durante o verão, enquanto America/Phoenix continua reconhecendo 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 base (BS) pelo 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 deslocamento de horário local e às informações de horário de verão.
Uma funcionalidade semelhante pode ser encontrada em 2G e 3G, em que as informações de identidade de rede e fuso horário (NITZ) podem ser transmitidas. Para mais detalhes, consulte o 3GPP TS 22.042. Outros padrões de rádio celular têm recursos equivalentes.
Infelizmente, o que é comum na maioria dos padrões é que o envio dessas informações é opcional, então não está disponível universalmente em todas as redes.
Prós | Contras |
---|---|
|
|
Network Time Protocol
O Network Time Protocol (NTP) é usado com frequência para receber informações de tempo de época Unix
relativamente precisas. O Android oferece suporte à sincronização do horário do sistema com o de um servidor NTP
se ele puder ser exposto a clientes de
RadioManager
pelos metadados
RadioTuner.getParameters()
genéricos. O NTP atualiza a hora do sistema quando ela sai de
sincronização e uma operadora não forneceu uma atualização NITZ recentemente. Se o usuário ativar
AUTO_TIME
quando o NITZ não estiver disponível, o sistema vai verificar imediatamente o tempo
da rede.
Prós | Contras |
---|---|
Simplicidade com suporte do Android. |
|
Sintonizador de rádio de transmissão
Embora aproveitar um sintonizador integrado para extrair informações de horário e fuso horário seja interessante, 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 de 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 data e hora, bem como 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 o horário e os dados (transmitidos uma vez por minuto). Além disso, o código de país estendido (ECC, na sigla em inglês) 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 especifica claramente as palavras de advertência que precisam ser observadas ao tentar usar o suporte de relógio da transmissão. O mesmo princípio se aplica a outros sistemas:
... esses dados descrevem o costume local no local da emissora, que pode ou não ser o mesmo que o costume local no local do receptor. Perto dos limites de fuso horário, os consumidores podem receber várias estações com dados diferentes. Portanto, esses dados são fornecidos apenas como sugestões, cuja interpretação e utilização devem ser feitas de forma discricionária, sujeitas ao controle do cliente. ..." |
Além disso, pelo menos para o 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 de rádio de transmissão regional.
- Não requer conectividade de Internet.
- O Android não oferece suporte a isso.
- Requer que o sintonizador esteja ativado (pelo menos ocasionalmente em segundo plano) para detectar informações com confiabilidade.
-
A confiabilidade depende da emissora.
Dicas de implementação
O Android oferece suporte à sincronização do tempo do sistema com o de um servidor NTP se ele puder ser exposto a clientes deRadioManager
. 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), após a qual
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 do fornecedor precisa determinar se a
HAL oferece suporte ao recurso (não presuma a existência dele). As strings de parâmetro para a
chamada getParameters
precisam ser organizadas de forma clara para uso inequívoco entre os fornecedores. Por
exemplo, usando o namespace da sua organização com o prefixo do domínio apropriado, por exemplo, com.me.timezoneTuner.currenttimezone
.
Dada a natureza orientada a eventos das informações, pode ser benéfico usar o
callback RadioTuner.Callback.onParametersUpdated()
para receber essas informações. Se
essa facilidade precisar ser configurável, projete um conjunto de rotinas personalizadas sobre
setParameters
. Exemplo:
com.me.timezoneTuner.currenttimezoneEvent.enable
Sistema Global de Satélites de Navegação
Por si só, o Sistema Global de Navegação por Satélite (GNSS, na sigla em inglês) pode fornecer apenas informações precisas de tempo e posição.
Geolocalização
A solução para esse inconveniente é executar a geocodificação reversa e determinar o país e a zona horária fazendo uma pesquisa com base na posição. O GNSS é a escolha ó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 necessária. É claro que é necessária uma conexão de Internet. Garantir a privacidade do usuário deve ser a principal prioridade ao implementar uma solução on-line. A permissão de um usuário para aceitar ou não os custos de uso de dados é necessária e precisa ser solicitada.
É possível criar uma solução adequada para uso off-line. Um banco de dados de mapa local com resolução suficiente para determinar com precisão o país e o fuso horário pode caber no armazenamento de 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 o geocódigo reverso 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 coletar dados de hora e fuso horário. Para todos os smartphones, um par de apps personalizados e complementares precisa ser instalado no smartphone e no sistema de infoentretenimento no veículo (IVI). É possível sincronizar o tempo no intervalo desejado. Por exemplo, ao estabelecer a conexão e quando o smartphone detecta um novo fuso horário.
Alguns smartphones com suporte para Bluetooth de baixa energia (BLE) oferecem a opção de extrair a hora pela característica GATT Current Time e pela especificação do perfil do serviço de hora atual 1.1. No entanto, essa opção não aborda um segmento de mercado suficientemente grande para ser usado 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 importantes. Só com um entendimento claro das experiências críticas do usuário desejadas é possível chegar à melhor decisão. Na maioria dos casos, os fornecedores precisam considerar as vantagens e desvantagens entre a conveniência e a complexidade da implementação.
Cada opção descrita acima apresenta 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 funcione bem em todos os cenários, mas que seja baseada em uma combinação de várias fontes de informações. Nenhuma opção pode oferecer disponibilidade de 100%.
Uma opção de configuração manual como substituto temporário é fácil de executar e pode ser suficiente para muitos usuários.