Podomètre (Compteur De Pas)
Je suis en train d'élaborer un Podomètre application Android pour compter le nombre de mesures prises et en utilisant les étapes de calculer la distance parcourue et les calories brûlées. J'ai suivi le tutoriel
Créer un Simple Podomètre et Compteur de pas dans Android et fait exactement comme elle. Il détecte un certain nombre de mesures lorsque le capteur détecte un mouvement.
Mais il y a quelques problèmes avec elle:
- Quand je suis au même endroit, avec mon appareil dans ma main et il suffit de déplacer ma main ou de donner une secousse à l'appareil, il détecte le changement et l'ajoute à l'étape de comptage.
- Si je bouge très lentement, avec un appareil dans ma main, il ne détecte pas le changement.
- Si je saute, puis il ajoute plusieurs étapes dans le compteur.
J'ai vérifié quelques autres applications de Play Store qu'ils ne font pas ce genre de trucs.
J'ai cherché mais impossible de trouver une solution appropriée ou tutoriel pour elle. Toute aide ou suggestion. Grâce
OriginalL'auteur Harry .Naeem | 2017-10-19
Vous devez vous connecter pour publier un commentaire.
Par la mise en œuvre de SensorEventListener auditeur au sein d'une classe et en remplaçant les deux méthodes onSensorChanged et onAccuracyChanged vous pouvez commencer à suivre les étapes.
Maintenant, nous avons initialisé le SensorManager et le Capteur et le Capteur est enregistré en tant qu'auditeur au sein de l'activité, nous devons maintenant mettre en œuvre les onSensorChanged fonction qui va être déclenchée par un SensorEvent chaque fois qu'il y a un changement de la Sonde, nous avons enregistré, dans notre cas, le TYPE_STEP_DETECTOR.
Pour la vitesse de marche, j'utiliserais un autre capteur, tel que le GPS, GLONASS, Galileo, BeiDou, IRNSS, ou QZSS, ou l'emplacement général des services de l'API.
OriginalL'auteur ShutterSoul
Le problème ici est que votre application n'est pas assez sophistiqué: il vérifie seulement si il y a un pic dans les données de l'accéléromètre et suppose que le pic est à venir à partir d'une étape. Il n'a aucune idée de l'endroit où le pic d'accélération est vraiment en venir: il pourrait aussi bien venir de vous sautant ou en secouant l'appareil dans votre main.
Comment le rendre plus précis? Eh bien, c'est vraiment une question difficile qui a été sujet de documents scientifiques pour un très long moment. Même les plus sophistiqués de fitness trackers (qui utilisent l'apprentissage automatique, traitement du signal et d'autres méthodes statistiques) ont des difficultés à déterminer lors de l'étape est réel et quand il est juste de bruit ou de l'utilisateur de jouer avec l'appareil.
Heureusement, Android n'est propre builtin compteur de pas et étape détecteur de, qui sont plus sophistiqués que la classe dans votre exemple.
De sorte que si vous voulez vraiment apprendre de traitement du signal et de l'IA (que je hautement recommandé, même si je ne sais pas beaucoup sur la science des données de l'étape de détection), je suggère d'utiliser builtin détecteur et le compteur.
Dans ce cas, la solution est de faire de traitement de signal plus intelligente, c'est à dire de grattage de la solution dans le tutoriel et d'appliquer un algorithme différent. Et même alors, si pointes dans le mouvement marches, puis l'algorithme va marquer une étape. Voici les plus âgés DONC, la question qui pourrait être utile: stackoverflow.com/questions/6375381/...
OriginalL'auteur TukeV
C'est une très naïve méthode pour réaliser l'étape de comptage. Vous devez utiliser Android intégré dans le compteur de pas, car il utilise également d'autres capteurs, si disponible, comme le gyroscope, ce qui peut améliorer l'étape de détection. Vous devriez surtout d'utiliser cette version intégrée si vous allez construit des choses sur le dessus. Vous avez besoin d'un fiable couche sous-jacente. Vous pouvez également essayer d'utiliser linéaire capteur d'accélération qui est calculée en soustrayant de la gravité de la composante de l'accéléromètre. La gravité fait accéléromètre très sensible, c'est pourquoi vous voyez l'étape compteur augmente lorsque vous êtes juste debout.
Les détails peuvent être trouvés ici:
https://source.android.com/devices/sensors/sensor-types#step_detector
Si vous souhaitez développer votre propre à partir de zéro, alors regardez ce code:
https://github.com/bagilevi/android-pedometer
Vous pouvez également essayer les Google scholar pour les derniers articles sur l'étape de comptage des algorithmes. Surtout essayez de lire la dernière enquête sur le sujet.
OriginalL'auteur utengr