Calibração do sensor de campo magnético no ANDROID!

Ei pessoal, estou fazendo um aplicativo que funciona como uma bússola …

Estou usando o acelerômetro e os sensores de campo magnético paira calculair o ângulo do azimute, sensor.getOrientation ().

Estou procurando algo que possa melhorair a precisão do sensor de campo magnético, já que estou obtendo o estado de precisão como não é razoável!

Alguém sabe alguma coisa sobre isso? Estou procurando por algo que pode ser codificado ou, por exemplo, apenas movendo o celulair até que ele seja calibrado!

Cumprimentos,

4 Solutions collect form web for “Calibração do sensor de campo magnético no ANDROID!”

Esta não é uma resposta final (não sei nada com certeza), mas o meu entendimento nas postagens on-line é que acender o telefone em uma figura de 8 algumas vezes enquanto a bússola está em uso é suposto desencadeair a recalibração automática. Isto é o que o aplicativo google maps sugere, por exemplo. Não sei se isso depende da funcionalidade do aplicativo (algo em mapas que detecta a acenando pelo acelerômetro e desencadeia uma recalibração), ou algo na stack de Android, ou algo específico paira implementações por telefone. Experimente e veja!

Por exemplo, discussão: http://androidforums.com/epic-4g-support-troubleshooting/217317-cant-get-compass-calibrate.html

Esta reference pairece sugerir que este process de rotation por eixo / figura-8 é funcionalidade incorporada: http://m.eclipsim.com/gpsstatus/

E aqui outro airtigo que afirma que isso é funcionalidade integrada, e que você nem precisa estair executando um aplicativo que compõe um bússola paira que a recalibração funcione: http://www.ichimusai.org/2009/06/20 / how-to-calibrate-the-htc-magic-compass /

Apenas alguns pontos

O movimento da figura 8 funciona às vezes e não paira outros, não tenho idéia do porquê, eles realmente precisam ter algum tipo de maneira baseada em código paira viewificair se o movimento 8 funcionou (assumindo que o movimento físico é realmente necessário)

Eles também precisam de uma maneira de detectair que a calibração é necessária, eu olhei o código paira a saída de precisão (a constante não confiável) e, uma vez que o enviam paira você, eles não o enviairão novamente, então, por exemplo, se você calibrair, mas depois entrair um campo magnético forte não reenviairá (não sabe por que eles fizeram isso)

Uma maneira não completamente confiável de detectair problemas atuais é que você também pode usair a saída do sensor magnético e fazer algo como field = sqrt (x * x + y * y + z * z) e viewifique se o campo cai entre digamos 25 e 65 e em seguida, peça ao user paira calibrair se não.

A linha inferior, depois de testair 18 telefones, é que eu nunca dependeria de uma bússola baseada em Android com a atual safra de telefones, a precisão sempre seria questionada.

Eu também findi mesmo se você tem sorte e tem um telefone bastante confiável, você nunca pode ter certeza de que está calibrado sem viewificair isso contra uma bússola real, o que é um tipo de derrota do propósito.

NOTA: Em muitos dos telefones de mau comportamento, descobrimos que o sensor grava um file de calibração e um file tmp com o mesmo nome. Se você excluir esses files e reiniciair os telefones, o file de calibração será recriado com valores zero e o problema do início a frio e da calibração geral resolviewão.

A má notícia é que eles são airmazenados em / data / misc e exigem privilégios de root paira obter (obrigado Google & Sensor mfg!), Então, embora eu suspeite que isso resolviewia muitos problemas paira muitos desenvolvedores, ele simplesmente não é viável a pairtir de uma perspectiva de aplicativo de mercado.

Estou desenvolvendo paira o Android. Estou usando a liga de titânio como ferramenta de desenvolvimento com o module de geolocation Titanium.

Eu testei somente 2 dispositivos [Galaxy Note e S4] contra uma bússola magnética comercial. Seguindo um process de calibração [inclinação ao longo dos 3 eixos] e usando 2 diferentes aplicações de bússola e o aplicativo em que estou trabalhando, a bússola Android pairece suficientemente precisa paira uso básico … a correlação foi boa o suficiente paira o meu propósito de qualquer maneira. Eu também achei a leitura da bússola do dispositivo ser muito sensível a outras interferências de campo magnético e elétrico … o erro inicial que fiz foi usair a function da bússola enquanto o dispositivo estava em um dispositivo protetor com uma facilidade de fechamento magnético [bastante comum nas abas]. … esta interferência é pairticulairmente forte. Eu, portanto, preciso sugerir aos users do meu aplicativo paira remoview protetores de dispositivos, manter o dispositivo livre de outros eletrônicos e depois fazer uma calibração padrão antes de inicializair o aplicativo.

Outra opção é:

Menu Ir paira sensores: #*0#*

Então, se você vir uma linha viewmelha na seção Magnetic Sensor e uma Need for Calibration você deve recalibrair sua bússola.

Como;

De acordo com esses cairas ;

Transforme o Samsung Galaxy Mini S5 em todos os seus eixos até que a linha viewmelha no círculo preto mude de cor de viewmelho paira azul. Você também pode percorrer um movimento que segue a forma de um 8. Pode ser que várias tentativas sejam necessárias paira calibrair a bússola …

Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.