Le Champ magnétique de l'étalonnage du Capteur sur ANDROID
Je suis en train de faire une application qui fonctionne comme une boussole..
Je suis en utilisant l'accéléromètre et le champ magnétique capteurs pour calculer l'angle d'azimut à travers, sensor.getOrientation()
.
Je suis à la recherche de quelque chose qui peut améliorer le détecteur de champ magnétique de précision, depuis que je suis il de l'état de l'exactitude FIABLE!
Quelqu'un sait quelque chose à ce sujet?Je suis à la recherche de quelque chose qui peut être codé en dur ou, par exemple, simplement en se déplaçant physiquement le téléphone jusqu'à ce qu'il obtient calibrée!
OriginalL'auteur Mark | 2011-05-18
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas une réponse finale (je n'en sais rien bien sûr), mais ma compréhension de postes en ligne est qu'en agitant le téléphone dans une figure de 8 à quelques reprises alors que la boussole est en cours d'utilisation est censé déclenchement automatique en de réétalonnage. C'est ce que l'application google maps suggère, par exemple. Je ne sais pas si cela dépend de la fonctionnalité de l'application (quelque chose dans les cartes qui détecte la présentation par l'accéléromètre et déclenche un recalibrage), ou quelque chose dans le android pile, ou quelque chose de spécifique par téléphone implémentations. Essayez et vous verrez!
Par exemple la discussion: http://androidforums.com/epic-4g-support-troubleshooting/217317-cant-get-compass-calibrate.html
Cette référence semble le suggérer par axe /figure-8 processus de rotation est une fonctionnalité intégrée: http://m.eclipsim.com/gpsstatus/
Et voici un autre article qui dit que c'est une fonctionnalité intégrée, et que vous n'avez même pas besoin d'être en cours d'exécution d'une boussole-consommer de l'application pour le recalibrage de travail: http://www.ichimusai.org/2009/06/20/how-to-calibrate-the-htc-magic-compass/
OriginalL'auteur Tao
Quelques points
La figure 8 motion fonctionne parfois et pas d'autres, je n'ai aucune idée pourquoi, ils ont vraiment besoin d'avoir une sorte de code en fonction de moyen de vérifier si le 8 motion travaillé (en Supposant que le mouvement physique est réellement nécessaire)
Ils ont également besoin d'un moyen de détecter qu'un étalonnage est nécessaire, j'ai regardé le code pour l'exactitude de sortie (du manque de fiabilité constante) et une fois qu'ils l'envoient à vous, ils ne seront pas de l'envoyer encore une fois, donc par exemple si vous calibrez mais ensuite viennent dans un fort champ magnétique, il ne sera pas renvoyer (je ne sais pas pourquoi ils l'ont fait)
Un pas entièrement fiable pour détecter les problèmes en cours, c'est que vous pouvez également utiliser le capteur magnétique de sortie et de faire quelque chose comme champ=sqrt(x*x+y*y+z*z) et vérifier que le terrain se situe entre 25 et 65 ans, puis demander à l'utilisateur de calibrer si elle ne le fait pas.
La ligne de fond après que des tests 18 téléphones est que je n'aurais jamais dépendent d'un smartphone fonctionnant sous Android boussole avec la culture actuelle des téléphones, de l'exactitude serait toujours en question.
J'ai aussi trouvé, même si vous avez de la chance et avoir une assez fiable de téléphone que vous ne pouvez jamais être sûr que c'est calibré sans contrôle contre une véritable boussole, quel genre de défaites le but.
REMARQUE: Sur beaucoup de mal à se comporter de téléphones, nous avons constaté que le capteur écrit un fichier de calibrage et un tmp fichier avec le même nom. Si vous supprimez ces fichiers et de les re-démarrer le téléphone au fichier de calibrage est recréé avec zéro souhaitez valeurs et le démarrage à froid et de générale des problèmes de calibrage de résoudre eux-mêmes.
La mauvaise nouvelle, c'est qu'ils sont stockés dans /data/misc et nécessitent des privilèges root pour obtenir à (merci Google & Capteur mfg!) donc, même si je crois que cela permettrait de résoudre beaucoup de problèmes pour beaucoup de développeurs, il n'est tout simplement pas viable d'un marché à l'application de la perspective.
OriginalL'auteur Idistic
Je suis en train d'élaborer pour Android. Je suis à l'aide d'Alliage de Titane comme outil de développement avec le Titane module de Géolocalisation.
Je ne l'ai testé que 2 appareils [Galaxy Note et S4] à l'encontre d'un commercial, d'un compas magnétique. À la suite d'un processus d'étalonnage [inclinaison le long de l'axe 3] et à l'aide de 2 différentes applications boussole et l'application que je suis en train de travailler sur, le Android boussole semble assez précis pour une utilisation de base ... de corrélation a été assez bon pour mon but de toute façon. J'ai aussi trouvé la boussole de l'appareil de lecture pour être très sensibles à d'autres magnétique et le champ électrique de l'interférence ... initiale de l'erreur que j'ai faite a été d'utiliser la boussole fonctionnalité alors que l'appareil était dans un dispositif protecteur avec une fermeture magnétique d'installation [assez commun sur les onglets] ... cette ingérence est particulièrement forte. J'ai donc besoin de proposer aux utilisateurs de mon application à supprimer le périphérique protecteurs, garder dispositif gratuit d'autres appareils électroniques puis effectuez l'étalonnage standard avant l'initialisation de l'application.
OriginalL'auteur William H
Une autre option est:
Allez À menu capteurs:
#*0#*
Alors si vous voyez une ligne rouge dans
Magnetic Sensor
de la section et unNeed for Calibration
vous devez recalibrer la boussole.Comment;
Selon ces gars-là;
OriginalL'auteur mayo