Blogue ·
Comment une application de kilométrage sait qu’un trajet commence : Bluetooth, balise ou mouvement
Les trois façons dont une application détecte que vous conduisez, les ratés de chacune, et les limites honnêtes du Bluetooth de la voiture.
Une application de kilométrage automatique a un seul problème difficile : savoir quand vous conduisez, et dans quelle voiture, sans que vous le lui disiez. Le reste n’est que de l’arithmétique. Il existe trois réponses courantes à ce problème, et chacune échoue à sa manière. Si vous vous demandez pourquoi la vôtre a enregistré votre trajet en autobus, c’est ici que ça se joue.
Première approche : le mouvement et la vitesse
L’approche la plus simple surveille les capteurs du téléphone. iOS fournit un type d’activité (immobile, marche, course, vélo, automobile) à partir de l’accéléromètre et du gyroscope, et un relevé de position donne la vitesse. Quand l’activité dit « automobile », ou quand la vitesse dépasse un seuil, l’application suppose qu’un trajet a commencé. Quand le téléphone reste immobile quelques minutes, le trajet se termine.
Ça fonctionne dans n’importe quelle voiture, location comprise, parce que l’application n’a rien à savoir du véhicule. C’est sa force et sa faiblesse.
Ses ratés. Le mouvement ne distingue pas votre voiture de celle des autres. Un autobus, un train, un taxi, le siège passager d’un collègue, tout ressemble à de la conduite. Une descente rapide à vélo peut franchir le seuil de vitesse. La circulation en accordéon, un service au volant ou un long feu rouge peuvent ressembler à une fin de trajet, et un trajet en devient trois. Et le classificateur d’activité prend du temps à se décider, alors les premières centaines de mètres sont souvent manquées ou devinées.
Ces applications vous laissent le ménage : supprimer les trajets en autobus, fusionner les trajets coupés, attribuer un véhicule après coup.
Deuxième approche : une balise payante
Certaines applications vendent une petite balise Bluetooth à basse consommation que vous laissez dans la voiture. Le téléphone écoute le signal de la balise; quand il apparaît, vous êtes dans cette voiture, et quand il disparaît, vous en êtes sorti. Driversnote et TripLog en vendent une.
Ça règle le problème d’identité : la balise est dans votre voiture et nulle part ailleurs, alors l’autobus reste silencieux.
Ses ratés. La balise coûte de l’argent, fonctionne avec une pile bouton qui finit par mourir, et peut être oubliée dans un coffre à gants lors d’un changement de véhicule. La portée du Bluetooth à basse consommation est généreuse, alors un téléphone qui passe à côté de la voiture stationnée, ou qui reste dans la maison avec la voiture dans l’entrée, peut être considéré « dans la voiture » jusqu’à ce que la vérification de mouvement rattrape le coup. Et le début du trajet dépend encore de la rapidité du téléphone à remarquer la balise, ce qu’iOS ne garantit pas en arrière-plan.
Troisième approche : le Bluetooth de la voiture elle-même
La plupart des voitures récentes ont un système mains libres Bluetooth, et la plupart des conducteurs y jumellent leur téléphone. Une fois connectée, la voiture s’identifie elle-même, gratuitement, sans matériel supplémentaire.
Une application peut s’en servir comme vérification d’identité. iOS ne fournit pas aux applications d’événement « Bluetooth connecté », mais il leur permet de demander quelles entrées audio sont disponibles en ce moment, et une voiture connectée apparaît dans cette liste sous son nom. Ajoutez un réveil peu coûteux (iOS relance une application lors de changements de position importants, à peu près toutes les quelques centaines de mètres) et une vérification de mouvement (y a-t-il eu du mouvement automobile dans les dernières minutes?), et l’application dispose d’un test en trois parties : le téléphone a bougé, la voiture est connectée, le mouvement ressemble à de la conduite. Ce n’est que lorsque les trois concordent qu’elle commence l’enregistrement GPS complet.
Ses ratés. Trois limites honnêtes.
Certaines voitures ne se jumellent pas, ou se jumellent d’une façon que le téléphone n’expose pas comme une entrée audio. Les véhicules plus anciens sans mains libres, certains véhicules de flotte, et certaines voitures qui se connectent uniquement en Bluetooth à basse consommation (un téléphone servant de clé, par exemple) n’apparaîtront pas dans la liste. Pour celles-là, il faut un plan B : un balayage du signal à basse consommation propre à la voiture, ou un mode mouvement seulement avec un bouton « pas mon trajet » sur chaque enregistrement.
Un passager jumelé à la voiture sera enregistré comme conducteur; dans un foyer où deux téléphones sont jumelés, chacun croit être au volant.
Et forcer la fermeture de l’application arrête tout. iOS ne réveille pas une application que l’utilisateur a balayée hors du sélecteur d’applications, ni pour les événements de position ni pour autre chose. Toutes les applications de détection en arrière-plan sur iOS partagent cette limite. Les bonnes le remarquent au prochain lancement et le disent; les autres vous laissent le découvrir à la fin du mois.
Ce que veut dire « couper un trajet à un arrêt »
Chaque approche doit décider quand un trajet se termine. Terminer trop vite, et un arrêt café coupe une visite client en deux trajets avec un trou entre les deux. Terminer trop tard, et le retour à la maison avale la marche depuis le stationnement.
La réponse habituelle est une paire de minuteries. Avec un signal d’identité (Bluetooth ou balise), l’application peut terminer rapidement une fois la voiture déconnectée et le téléphone immobile depuis une minute environ, parce que la déconnexion indique fortement que vous êtes sorti. Sans ce signal, elle doit attendre plus longtemps, souvent plusieurs minutes d’immobilité, et un long feu rouge devient un risque.
Une conception raisonnable écarte aussi les trajets très courts : 300 mètres dans un stationnement, c’est du bruit, pas un kilomètre d’affaires.
Choisir
Si vous conduisez une ou deux voitures qui se jumellent, le Bluetooth de la voiture est le signal d’identité fiable le moins coûteux, avec le mouvement en confirmation. Si votre voiture ne se jumelle pas, une balise ou un mode mouvement seulement avec correction facile est le plan B, et attendez-vous à faire du ménage. Dans les deux cas, vérifiez comment l’application gère la fermeture forcée, les passagers et la minuterie de fin de trajet, parce que c’est là que les registres déraillent.
Odie se sert du nom Bluetooth mains libres de la voiture comme vérification d’identité, confirme par le mouvement avant d’enregistrer, offre un balayage optionnel à basse consommation pour les voitures dont le nom mains libres n’est pas visible, et propose un mode mouvement seulement avec l’option « Pas mon trajet » pour les voitures qui ne se jumellent pas. Les trajets de moins de 500 mètres sont écartés, un arrêt de moins de cinq minutes ne coupe pas un trajet, et l’application vous avertit si elle a été fermée de force.
Sources
Rédigé par l’équipe Odie. Ceci n’est pas un avis fiscal; votre comptable connaît votre situation.