Étape 4: (si vous utilisez mon code ou faire votre propre) trouver le véhicule spécifique CAN codes pour votre ECU
Trouver le véhicule spécifique peuvent codes pour votre véhicule peut vous donner beaucoup plus d’informations que le générique OBD II PID. Dans mon cas la communauté BRZ/FRS/GT86 a découvert deux codes importants qui affichent des données que vous ne serait autrement pas en mesure d’obtenir de ces voitures via le standard OBD II PID.
Pour ma voiture, mentionnons (très important pour la piste/autocross conduite) température de l’huile et le carburant restant.
J’ai dû modifier/utiliser le David Irvine API pour utiliser le PID de Temp d’huile. Pour beaucoup d’applications (et pour le mien), c’était un processus à deux volets. Vous devez tout d’abord exprimer un en-tête CAN et ensuite demander le PID comme vous le feriez normalement. J’ai ajouté ce code pour le code d’initialisation de ELM327 :
ExécuterCommande ("À SH 7E0", données, 20) ; (En-tête CAN spécifique FRS/gt86/brz)
Alors, j’ai interrogé pour la température de l’huile :
Status=GetBytes("21","01",Values,1) ;
(J’ai ajouté ma propre fonction de la classe ELM327 pour cela).
Ainsi, la partie la plus difficile est de trouver ce que voici pour votre voiture. Les endroits les plus faciles à regarder sont :
-Les forums d’appli android de couple
-Les forums spécifiques de véhicule pour votre marque/modèle de voiture (j’ai trouvé que c’est particulièrement vrai pour beaucoup des modèles de camion diesel).
-La bibliothèque Scangauge X calibre PID (http://www.scangauge.com/support/x-gauge-commands/)
- Et, enfin si vous ne trouvez pas ce que vous cherchez, vous pouvez faire quelques CAN renifler votre propre (qui il y a des autres instructables sur:)
Après avoir trouvé le bon PID, la partie suivante se redresse les données hors (parfois longue) chaîne de caractères retournés. Obtenir cette position correcte est parfois une douleur et exige beaucoup de débogage et éventuellement un croquis de l’arduino spécifique où vous deviner et vérifiez les positions jusqu'à ce que vous obtenez proches. Une autre approche consiste à spam les réponses à la série monitor (un arduino mega est utile ici) puis leur représentation graphique dans une feuille de calcul pour figurer dehors qui hex numéro change (converti en decimal) avec la lecture de capteur spécifique vous intéresse. Vous pouvez également vérifier ce contre la vérité au sol d’un capteur réel ou d’un bon programme de OBD II connu comme l’application de couple.