Os sensores magnéticos do Android fornecem valores diferentes para dispositivos diferentes

StackOverflow https://stackoverflow.com/questions/8401817

  •  28-10-2019
  •  | 
  •  

Pergunta

Estou tentando fazer uma análise que envolve a interpretação dos resultados dos vários sensores do dispositivo Android. No momento, estou analisando o sensor de campo magnético que deve informar mim (de acordo com esta página de documentação ) os valores do campo magnético ambiente em uT (micro Tesla). Tudo está claro até agora, mas nos 2 dispositivos que testei (Galaxy S, Galaxy Gio) os resultados são diferentes. E por diferente, quero dizer muito diferente.

Por exemplo, tendo a mesma orientação em uma mesa, aqui está o que esses dispositivos mostram (apenas um exemplo):

S2:  -2,12, 60 (approximate values on x,y,z accordingly)
Gio: -2,12,-36 (approximate values on x,y,z accordingly)

Mesmo se eu mudar de posição, os resultados serão os mesmos. Eu também li esta página sobre a intensidade do campo magnético e acredito que Devo ter cerca de 50uT dada minha latitude geográfica.

Alguém pode explicar o que esses sensores significam?

Alguém sabe como explicar esse comportamento?

Obrigado,

Iulian

Foi útil?

Solução

Só posso confirmar o problema.

Como autor do aplicativo compasso constante , eu Fiz muitos testes de sensores de campo magnético com diferentes dispositivos. Eu descobri que um dos dispositivos relatou um valor absoluto de mf cerca de 2x a quantidade relatada por outro dispositivo diferente nas mesmas condições.

Fiz muitos testes após a calibração do telefone, e até coloquei os aparelhos em "modo avião" tentando minimizar as interferências eletromagnéticas vindas do próprio aparelho. Outro comentário é que conectar o cabo USB em alguns dispositivos pode criar variações importantes do campo magnético.

Os piores resultados que vi em um determinado dispositivo (após calibração, modo avião e USB desconectado) são os seguintes: usando um aplicativo de bússola com o dispositivo no plano horizontal, faço uma leitura, giro o telefone 90 graus na horizontal avião e faça uma nova leitura da bússola. Ambas as leituras diferem em mais de 15 graus!

Felizmente, nem todos os dispositivos incluem esses sensores ruins. Os melhores dispositivos apresentam erros de cerca de 2 a 3 graus após uma rotação de 90 graus.

A conclusão: a menos que você esteja muito confiante em seu sensor de campo magnético porque testou e certificou um bom comportamento, você deve dar uma confiabilidade limitada às leituras relatadas por tal sensor.

Outras dicas

Também tive esses problemas com os sensores.Acredito que os telefones darão diferentes leituras de sensor com base no hardware usado pelo fabricante. Tente ler a precisão do sensor para SENSOR_STATUS_UNRELIABLE.Você pode ter que recalibrar o magnetômetro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top