Application mobile qui permet l’exploitation de données en temps réel d’une voiture



 titre

 

 


Présenté par : Antoine TOENZ et Valentin SUTTER

Ce projet a été réalisé dans le cadre de notre deuxième année de DUT GEII, dans l’enceinte de l’IUT de Mulhouse.


 sommaire


Présentation

De nos jours, une grande majorité des gens se plaignent du coût de leur voiture notamment concernant l’essence, la maintenance, l’assurance, l’obsolescence. Il y a des pressions concernant la pollution qui sont de plus en plus fortes et depuis quelques années l’électronique s’est installée dans nos voiture, ce qui fait qu’en cas de panne nous sommes un peu pris au dépourvu et il devient difficile de pouvoir gérer sa voiture soi-même. Notre projet va aider les conducteurs à pouvoir diagnostiquer et détecter les pannes, et également créer un suivi de trajet afin de pouvoir améliorer sa qualité de conduite.

betweentext

voiture

betweentext


betweentextObjectifs

Nous avons comme objectifs de créer une Application Mobile Android comprenant un outil permettant d’obtenir les informations émises par la voiture en temps réel, ainsi qu’un assistant intelligent, le tout codé en langage Java. Pour cela, il faudra brancher un outil appelé ELM327 à la prise diagnostique de la voiture, ainsi nous pourrons récupérer les données du véhicule par Bluetooth, et les exploiter dans notre application afin de guider l’utilisateur à opter pour une conduite plus souple en lui permettant de pouvoir suivre les données de son véhicule en temps réel. Ces données étaient pour le moment uniquement accessible aux professionnels, maintenant grâce à AmiGo, elles sont à portée de main.

betweentext

voiture

betweentext


betweentext

 Cahier des charges

                 différentsoutils

    outils2

 


betweentextExpression du besoinbetweentext

bête à corne

Cette bête à cornes nous permet d’obtenir plusieurs informations. En effet, grâce à elle, nous savons à qui rend service le produit (à l’utilisateur), sur quoi agit le produit (sur la conduite de l’utilisateur), également dans quel but le système existe (donner des indications en temps réel à propos du véhicule afin d’adopter une conduite économe).

betweentext


betweentext

diagramme pieuvre

explication pieuvre


Ressources

Voici les différentes ressources dont nous avons eut besoin durant ce projet :

Ressources ELM_USB

Documentations_ELM

Normes et protocoles OBD

ELM_Guide


 Développement

Tout d’abord nous devons définir le terme de ELM327, le schéma ci-dessous montre les différents ports de cet appareil. Nous pouvons remarquer que l’ELM327 comporte des ports CAN, ainsi que différents types de protocoles (ISO, J1850, etc..)

 ELM327 détails


betweentext

Afin de pouvoir récolter les données du véhicule, il faut brancher l’ELM327 à la prise diagnostique de votre véhicule (tout véhicule depuis l’année 2002 comporte une prise OBD mais son emplacement dépend des constructeurs), plus communément appelée prise OBD. (figure ci-dessous)

betweentextobd

betweentext


betweentext

Tout d’abord nous avons dû définir quel type d’ELM327 nous allons utiliser afin de récupérer les informations du véhicule. En effet, le choix a dû se faire entre trois différents appareils: l’ELM327 USB, Bluetooth et WiFi (figure ci-dessous).

betweentext

3obdbetweentext

Après plusieurs tests, nous avons remarqué que l’ELM327 Bluetooth serait le plus adapté (de par sa polyvalence et son accessibilité) pour notre projet.  En effet, le type USB pourrait gêner l’utilisateur pendant sa conduite (selon le câble et l’emplacement de la prise OBD dans son véhicule), et le type WiFi aurait demandé une maîtrise de plusieurs normes et la gestion de réseau, et cela n’est pas nécessaire dans le cadre de ce projet

betweentext


betweentext

Concernant l’application, nous avons décidé d’utiliser l’IDE nommé Android Studio. Le code de l’application va être divisé en plusieurs parties: tout ce qui est visible par l’utilisateur (User Interface) est regroupé dans un dossier  »res »  pour ressources qui comporte tout les layout et toutes les parties visibles (figure ci-dessous).

betweentext

graphbetweentext


betweentext

Par la suite, nous avons également la partie codage nommé  »java » qui va comporter toutes les variables dont nous avons besoin, et toute la logique de l’application. Cette partie est beaucoup plus dense que la précédente, en effet elle est divisée par plusieurs sous-parties qui dirige une action bien précise (figure ci-dessous).

betweentext

code


betweentext

La partie Interface de l’Utilisateur est très importante car l’utilisateur se souciera uniquement de ce qu’il voit. Il nous a fallut donc mettre un accent sur la partie esthétique de l’application. En effet nous avons souligner cet aspect par la création d’un logo spécifique à l’application (figure ci-dessous) , ainsi que dans les choix des couleurs des interfaces, des animations ludiques, pour le plaisir de l’utilisateur.

betweentext1000x1000

betweentext


betweentext

focntionnement

Nous avons mit en place un menu permettant de naviguer entre les différents onglets (figure ci-dessous) :

betweentext

menu

betweentext

En effet, plusieurs onglets sont à notre disposition, l’un d’entre eux, Analyse des données (fig.1), permet d’analyser sa consommation sur le long terme (possibilité d’importer et d’exporter des fichiers). Un autre onglet Réglages (fig.2), nous permet de choisir les différentes options souhaitées par exemple le protocole utilisé, la fréquence de mise à jour, connexion automatique ou   non, unité préférée, etc…

betweentext

                                                                  fig.1                                                                                                                                         fig.2

 analyse                                                  réglages

betweentext


betweentext

test

Après la phase de développement, nous avons effectué plusieurs phases de tests. Une fois l’ELM327 branché sur la prise diagnostique du véhicule, nous devons activer le Bluetooth sur l’appareil Android. Une fois cela fait, l’application détecte un nouveau véhicule entrant, et il ne suffit plus que de sélectionner les données que l’on veut visualiser .

betweentext

Pour les tests qui vont suivre nous les avons réaliser sur une Polo V (2012)betweentext

Lorsque la voiture est en route, on remarque que l’application récupère bien les données du véhicule (fig.3) et l’on peut sélectionner ce que l’on souhaite (fig.4)(Vitesse, température ambiante, pression barométrique, consommation, distance parcourue depuis l’utilisation de l’application, etc…)

betweentext

                                                                fig.3                                                                                                                                           fig.4

Amigo2                                                  AmiGo1

betweentext


betweentext

Voici une vidéo expliquant de manière simple l’ensemble de notre projet :

 

 

betweentext


betweentext

bilan

Pour conclure, ce projet nous a permis de découvrir de nouvelles choses comme: la gestion d’un projet, le travail en équipe, la démarche à suivre pour arriver au bout d’un projet, certaines nouvelles méthodes. De plus, cela nous a permis d’approfondir nos connaissances en informatique et en langage java, ainsi que la création d’une application mobile Android. Malgré les difficultés encourues, nous avons pu finir notre application, dans de bonnes conditions.

betweentext

finish

betweentext


betweentext

Vous avez donc peut être des mauvaises habitudes de conduites que vous ignorez…

Alors avec notre application, votre assistant de conduite AmiGo vous guidera pour aidez à vous corriger et à faire de vous un conducteur éco-responsable.

betweentext

     main

betweentext