OBD Données du véhicule
Lisez le régime fourni par le véhicule, la température du liquide de refroidissement, la température de l'huile, le carburant et d'autres paramètres via un adaptateur Bluetooth compatible. Cet article explique les conditions de lecture, la configuration des paramètres, la mise à jour des données et les règles d'utilisation des lectures dans les instruments et les déclenchements.
Paramètres du véhicule et résultats de lecture
OBD est utilisé pour lire les données fournies par le contrôleur du véhicule. Le contrôleur du véhicule, également appelé ECU, est responsable du moteur, de la transmission et d'autres systèmes ; CapDrive envoie des requêtes à ces contrôleurs via l'adaptateur et convertit les données reçues en lectures.
Un « paramètre » dans l'application est une donnée à lire et à afficher, comme le régime moteur (RPM), la température du liquide de refroidissement ou un état. Il contient les demandes de lecture, les formules de conversion et les unités. Les paramètres numériques peuvent être utilisés pour les nombres, la progression ou les courbes ; les paramètres d'état peuvent être affichés sous la forme D, P, etc. via le mappage de texte.
Par exemple, le paramètre de température du liquide de refroidissement peut être obtenu à l'aide de la requête 0105 pour obtenir un octet de données A et converti selon A - 40. Si la valeur décimale de l'octet renvoyé est 123, le résultat est 83 °C. La méthode de connexion, la définition de la demande et les règles de conversion doivent être correctes pour obtenir des lectures utilisables.
Les paramètres pris en charge par le véhicule dépendent du modèle, de l'année, du système d'alimentation et de l'état du contrôleur. Seules les valeurs réellement fournies par le véhicule peuvent être lues, et la modification du nom ou des unités n'augmente pas les capacités de données du véhicule lui-même.
Portée du support et conditions d'utilisation
La connexion du véhicule OBD nécessite CapDrive Plus, Adaptateur Bluetooth basse consommation (BLE) prenant en charge les instructions ELM327 et les autorisations Bluetooth sur l'iPhone. Les adaptateurs Bluetooth classiques et Wi-Fi ne sont actuellement pas pris en charge.
Ce n'est qu'une fois l'adaptateur branché sur l'interface OBD du véhicule et allumé selon les besoins du véhicule que l'application peut communiquer avec le véhicule. Certains paramètres nécessitent que le véhicule soit dans un état spécifique, comme le contrôleur sous tension, le moteur tournant ou le système correspondant opérationnel. L'inclusion de « Bluetooth » dans le nom d'un adaptateur ne prouve pas à elle seule qu'il est conforme au BLE et à la directive.
La lecture OBD, Pas besoin de commencer un voyage en premier, peut être visualisée et testée dans la liste des paramètres ou dans l'éditeur de paramètres. Le fait que le voyage du téléphone portable ait commencé ne détermine pas si le véhicule renverra la température du liquide de refroidissement, la vitesse (RPM) et d'autres paramètres.
CapDrive prend en charge la configuration des demandes de lecture pour les services hexadécimaux 01, 21, 22. Pour une utilisation normale, le préréglage correspondant au véhicule peut être utilisé ; l'adresse et la formule de demande spécifiques sont soumises à la définition des paramètres prédéfinis ou du véhicule.
Gestion des connexions et des appareils
Entrée : Plus (…) → Connexion OBD du véhicule. La page de l'appareil affiche les adaptateurs à proximité et les appareils enregistrés, et la configuration des paramètres de l'adaptateur est enregistrée dans les paramètres de l'appareil.
Première connexion et reconnexion
Lors de la première connexion, l'application établira une communication Bluetooth, initialisera l'adaptateur, identifiera le protocole du véhicule et interrogera le véhicule pour signaler les paramètres standard pris en charge. Après succès, les paramètres standard initialisables seront ajoutés à la liste des appareils. Le fait que les paramètres standard aient des valeurs dans l'état actuel dépend des résultats de lecture réels.
Lorsqu'un appareil existant se reconnecte, il continue à utiliser la configuration d'origine, y compris les paramètres modifiés et les listes activement effacées. Après avoir supprimé un paramètre, la reconnexion ne le rajoutera pas. Lorsque des lectures supplémentaires sont nécessaires, des paramètres prédéfinis ou nouveaux peuvent être importés.
Source de données actuelle
Le « périphérique actuel » fait référence à l'adaptateur qui fournit les données du véhicule à CapDrive. Un seul appareil à la fois peut être utilisé comme source de données actuelle. Les paramètres et réglages de chaque appareil sont enregistrés indépendamment ; lors du passage à un autre appareil, les références des paramètres de l'appareil précédent ne seront pas automatiquement utilisées.
La déconnexion conserve la configuration. Ignorer l’appareil supprimera la configuration et le cache de l'appareil. Lorsque vous devez migrer des paramètres, vous pouvez exporter la configuration puis l'importer dans l'appareil cible ; pour les instruments personnalisés, vous devez resélectionner les paramètres sous l'appareil cible.
Préréglages de paramètres et fichiers de configuration
La valeur par défaut est un ensemble de configurations de lecture de paramètres déjà écrites, éliminant le besoin de remplir les demandes et les formules élément par élément. Le préréglage standard OBD-II fournit des paramètres standard et le préréglage de modèle de véhicule fournit des définitions de paramètres pour le modèle de véhicule correspondant. Lors de la sélection d'un préréglage de modèle, vous devez vérifier l'année du modèle et la version de puissance.
Importer vers le périphérique spécifié
Ouvrez la bibliothèque de configuration en bas de la liste des paramètres de l'appareil. Le téléchargement dans l'application entrera dans l'interface d'importation de l'appareil ; En téléchargeant le fichier JSON via le navigateur, vous pouvez sélectionner Importer une configuration dans le menu des paramètres de l'appareil.
La liste d'importation est décochée par défaut et seuls les paramètres explicitement sélectionnés sont enregistrés. Vous pouvez d'abord vérifier le nom et la lecture actuelle, puis vérifier la configuration via l'engrenage de droite. La fermeture de l'interface d'importation n'enregistrera pas les brouillons non confirmés.
Doublons et mises à jour de configuration
Les paramètres qui ont déjà la même méthode de lecture, la même règle de décodage et la même unité de sortie seront marqués comme doublons et continueront à utiliser l'identifiant de paramètre d'origine. La seule modification du nom d'affichage ne fait pas du même paramètre un nouvel élément lu.
Une requête peut fournir plusieurs paramètres, tels que deux températures dans la même réponse ; le même nom peut également provenir de contrôleurs différents ou de formules différentes, de sorte que les doublons ne peuvent pas être jugés uniquement par leur nom. Les éléments dont les règles de requête ou de décodage ont été modifiées sont importés en tant que nouveaux paramètres et n'écrasent pas les anciens éléments uniquement par leur nom.
Lors de l'importation dans un autre adaptateur, la propre référence de paramètre du périphérique cible est établie. L'instrumentation personnalisée doit resélectionner les paramètres correspondants du périphérique cible dans la liaison d'entrée ; conservez l’identifiant d’entrée inchangé et pas besoin de modifier le code.
Contraintes de fichiers
La configuration utilise JSON, l'identifiant de format est capdrive.obd et appVersion est la version requise de l'application ; le numéro de version actuel de l'application est écrit lors de l'exportation. Lorsque la version est insuffisante, vous serez invité à effectuer une mise à niveau. Un seul fichier peut contenir jusqu'à 5 MiB et contenir jusqu'à 3 000 paramètres. Le fichier enregistre la configuration lue et ne contient pas la connexion Bluetooth de l'appareil, et ne garantit pas non plus que tous les éléments seront lisibles sur le véhicule cible.
Configuration et décodage des paramètres
Ouvrez l'éditeur via l'engrenage à droite des paramètres. Ce qui suit décrit les champs dans l'ordre suivant : « ce qu'il faut lire sur le véhicule → comment convertir → comment déterminer la validité ». Tester la lecture utilise la configuration actuelle dans l'éditeur pour vérifier les résultats ; après avoir cliqué sur Enregistrer, les modifications deviennent la configuration enregistrée de l'appareil.
Nom et fréquence de mise à jour
Le nom est utilisé pour identifier les paramètres du véhicule. Les identifiants internes sont gérés automatiquement par l'application et ne sont pas renseignés dans l'éditeur de paramètres, ni demandés PID ; les préréglages exportés ne portent pas d’identifiants natifs de périphérique. Le script de l'instrument utilise son propre identifiant d'entrée défini et sélectionne les paramètres du véhicule via la liaison d'entrée.
Intervalle de lecture (secondes) est rempli en secondes et la plage est 0.3–99999. Par exemple, 1 seconde signifie que l'intervalle de requête cible est de 1 seconde. La mise à jour réelle est également affectée par la réponse du véhicule, d'autres demandes et les exigences de lecture actuelles. Les éléments visibles dans la liste des paramètres, la sélection des instruments et l'utilisation des données de trajet créent des exigences de lecture ; le simple fait d'importer des paramètres n'entraîne pas que la liste entière soit toujours interrogée à une fréquence fixe. Les paramètres partageant la même requête peuvent être réutilisés dans une réponse.
paramètres de demande
| Champ | Signification et méthode de remplissage |
|---|---|
| Servir | Catégorie de demande, en utilisant un nombre hexadécimal. Par exemple, le service demandé pour 0105 est 01. |
| PID | Le numéro de l'élément de données dans ce service. Par exemple, le PID de 0105 est 05 ; 01 et 21 utilisent PID à deux chiffres et 22 utilise PID à quatre chiffres. |
| Demande CAN ID | L'adresse du contrôleur du véhicule recevant la demande. Lorsqu'il est laissé vide, le protocole utilise l'adressage fonctionnel ; les valeurs par défaut correspondantes doivent généralement conserver l’adresse d’origine. |
| Réponse au filtrage CAN ID | Spécifiez quelle réponse du contrôleur est utilisée pour éviter de sélectionner la mauvaise source lorsque plusieurs contrôleurs renvoient des données. |
| Adresse de destination étendue, adresse de réception étendue | Configuration d'adressage de communication supplémentaire à utiliser par les protocoles du véhicule qui l'exigent. |
| Paramètres de délai de réponse | Configuration du délai d'expiration hexadécimal utilisée par l'adaptateur, non renseignée en secondes ; il s'agit d'un paramètre différent de l'intervalle de lecture. |
| Contrôle de flux CAN personnalisé | Utilisé pour les demandes nécessitant une configuration de contrôle de flux spécifique, telle que définie par le véhicule correspondant. |
Formules de conversion, ordre des octets et unités
La réponse du véhicule est généralement constituée d'octets de données. A représente le premier octet de données, B représente le deuxième, et ainsi de suite, à l'exclusion de l'en-tête du protocole. Une formule prend en charge les opérations arithmétiques, au niveau du bit, les comparaisons, les opérations logiques et les expressions conditionnelles ; ce n'est pas un script qui peut appeler des fonctions JavaScript arbitraires.
Par exemple, la température du liquide de refroidissement utilise A - 40 ; Le régime moteur standard (RPM) utilise (A * 256 + B) / 4. Si A = 26, B = 248, ce dernier obtient 1726 rpm. La formule d'un paramètre doit être cohérente avec la signification des octets renvoyés par la requête.
Le caractère endianiste dicte la manière dont les champs multi-octets sont interprétés : le big-endian place l'octet de poids fort en premier, le small-endian place l'octet de poids faible en premier. L'application exécute la formule numérique après l'ordre de traitement configuré, et la formule ne doit plus échanger d'octets à plusieurs reprises.
L'unité du résultat de la formule doit être distinguée de l'unité d'affichage. La modification du nom de l'unité personnalisée modifie uniquement l'étiquette et ne modifie pas la valeur de la formule ; lors de la sélection d'une unité d'affichage compatible pour une grandeur physique standard existante, l'application peut effectuer la conversion correspondante. Veuillez vérifier les unités d'origine utilisées dans la formule pour éviter des conversions répétées.
Conditions de lecture et plage de validité
| Configuration | Effet réel |
|---|---|
| Nombre minimum d'octets de réponse | Excluez les retours d'une longueur insuffisante pour empêcher le calcul de continuer lorsque des octets sont manquants. |
| Lire les conditions | La condition est évaluée sur les octets de réponse brute, tels que A != 0. Cette lecture n'est pas disponible lorsque le résultat est nul, qu'il manque des octets ou que le calcul a échoué. |
| valeur minimale, valeur maximale | Pincez les résultats numériques. Par exemple, lorsque la plage valide est configurée entre 0 et 100, 120 sera affiché comme 100. La valeur maximale doit être supérieure à la valeur minimale ; si la valeur minimale n'est pas définie, elle sera traitée comme zéro. Le seul réglage de la valeur minimale ne limitera pas l'amplitude séparément. |
| Limite inférieure effective, limite supérieure effective | Les résultats invalides sont exclus, tout comme les limites elles-mêmes. Par exemple, lorsque la limite supérieure est de 100, les résultats supérieurs ou égaux à 100 ne sont pas disponibles. |
La réponse réussit les vérifications de longueur et de condition de lecture avant d’être décodée. Le résultat numérique est d'abord limité, puis les limites supérieures et inférieures effectives sont vérifiées ; aucune lecture n'est émise lorsqu'une valeur finie ne peut pas être obtenue. La condition de lecture utilise la réponse brute avant la conversion de l'ordre des octets.
mappage de texte
Le mappage de texte affiche une valeur obtenue par une formule sous forme de texte, telle que 1 → D. La clé prend en charge les nombres décimaux et négatifs et doit être une valeur finie unique. 1.5 et 1.50 représentent le même élément. Le littéral peut être une chaîne vide.
Lorsque le mappage est atteint, la chaîne correspondante est renvoyée ; lorsqu'il n'est pas atteint, un nombre est renvoyé lorsque Renvoyer le nombre d’origine sans correspondance est activé et null est renvoyé lorsqu'il est éteint. Ce paramètre sans correspondance s’applique lorsqu’un mappage existe. Le texte cliqué ne continuera pas à effectuer un découpage numérique.
Par conséquent, le même paramètre peut renvoyer un nombre, un texte ou une valeur nulle, et le code d'instrumentation doit gérer le type réel du paramètre. Lorsque la situation « certaines valeurs peuvent être affichées et d'autres valeurs disparaître » se produit, vous devez vérifier si le mappage correspond et si les paramètres ne correspondent pas.
Sauvegarde et message d'erreur
Les configurations invalides indiqueront les champs et les raisons, puis seront enregistrées ou testées après correction. PID des services 01 et 21 est un nombre hexadécimal à deux chiffres, 22 est composé de quatre chiffres ; CAN ID comporte 3 ou 8 chiffres et les paramètres d'adresse étendue et de délai d'attente comportent deux chiffres. L'intervalle de lecture est de 0.3–99999 secondes, le nombre minimum d'octets de réponse est un entier de 0–4096, et la formule et les conditions de lecture peuvent chacune atteindre 1 024 UTF-8 octets. La valeur doit être limitée, la valeur minimale ne peut pas être supérieure à la valeur maximale et la limite inférieure valide doit être inférieure à la limite supérieure valide ; la clé de mappage de texte ne peut pas être répétée.
Remplacement des données de voyage
Remplacer les données du trajet fait en sorte que la lecture de base utilise le paramètre OBD spécifié. Par exemple, en spécifiant un paramètre de vitesse du véhicule comme « Vitesse », le champ de vitesse de base, les jauges intégrées associées et les enregistrements de trajet peuvent utiliser cette lecture du véhicule.
Les cibles alternatives incluent la vitesse, le G longitudinal, le G latéral, le tangage et le roulis. Accepte km/h ou mph pour la vitesse, g ou m/s² pour l'accélération et les degrés ou radians pour l'angle. L'application convertira les unités selon les besoins de la cible.
Le remplacement nécessite que les paramètres soient fournis avec les nombres, unités et plages appropriés. Les paramètres avec mappage de texte ne peuvent pas être utilisés pour le remplacement de traits ; les résultats originaux en dehors de la plage de configuration seront également rejetés et les valeurs limites après limitation ne seront pas considérées comme des mesures de course valides.
Utilisez cette source lorsqu'il existe des lectures OBD valides ; revenez aux données mobiles lorsque les lectures sont manquantes, expirées ou invalides. Cette lecture de base peut encore être vide lorsque la source mobile est également indisponible. L'importation de paramètres ordinaires ne spécifie pas automatiquement les cibles de remplacement.
Les paramètres tels que la température du liquide de refroidissement, la vitesse de rotation (RPM), etc. peuvent être affichés séparément dans l'instrument personnalisé, et leurs références OBD peuvent être utilisées directement sans configurer le remplacement de la course.
Accès aux instruments personnalisés
Cliquez sur le rouage à côté de Réglages de l’instrument → Liaisons d’entrée pour saisir Configuration des paramètres et ajoutez une entrée Données OBD, par exemple l'identifiant coolant. Revenez à la liaison d'entrée et sélectionnez le paramètre Température du liquide de refroidissement sous Périphériques correspondant. Le script lit $data.current.coolant ; l'UUID des paramètres du véhicule n'a pas besoin d'être écrit dans le code.
Les lectures incluent value et unit, par exemple { value: 83, unit: '°C' }. Les correspondances de valeurs à du texte peuvent également renvoyer des chaînes, le type doit être vérifié avant le formatage des nombres. Lorsqu'elle n'est pas liée, l'intégralité de l'entrée est null ; lorsqu'il est lié mais qu'il n'y a pas de lecture temporairement, value est null et unit prend toujours l'unité de configuration.
Après avoir importé les œuvres d'autres personnes ou modifié l'adaptateur, reliez l'entrée existante pour continuer à utiliser le code. Le type attendu est utilisé pour les indices, la valeur de retour du véhicule n'est pas convertie. L'aperçu utilise une entrée analogique, et l'appareil actuel et Tester la lecture doivent être vérifiés lors de la confirmation des données réelles du véhicule.
Validité des données et diagnostic des défauts
Statut de lecture
La connexion est valide, la réponse est reçue et la lecture est valide sont trois conditions différentes. La réponse peut ne pas produire une valeur utilisable en raison d'une longueur insuffisante, de conditions de lecture non satisfaites, d'une formule non valide ou d'un échec de mappage de texte.
Les lectures d'exécution ont une date d'expiration. Après une déconnexion, un échec de lecture ou l'expiration des données, le remplacement de l'instrument et du déclenchement ne doit pas continuer à utiliser l'ancienne valeur comme données valides actuelles. La liste des paramètres peut conserver la dernière lecture réussie à des fins de démonstration qui n'équivaut pas à une sortie en direct valide ; le résultat de la requête actuelle peut être vérifié en utilisant Tester la lecture.
Zéro est une valeur valide et une valeur nulle signifie qu'aucune lecture n'est actuellement disponible. La chaîne vide dans la carte de texte correspond au résultat du texte correspondant, qui est également différent du test manquant.
Localiser par niveau de défaut
| Performance | Portée d'inspection correspondante |
|---|---|
| Impossible de découvrir l'appareil | Alimenté par adaptateur, type BLE, autorisations iPhone Bluetooth et App. |
| Bluetooth est connecté mais l'initialisation a échoué | Prise en charge des commandes de l'adaptateur, état de communication du véhicule et identification du protocole. |
| La liste des paramètres est vide | La configuration enregistrée de l'appareil actuel, les résultats de la première requête de capacité et si la liste a été activement effacée. La reconnexion ne restaurera pas automatiquement les éléments supprimés. |
| Il n'y a pas de lecture valide pour un seul paramètre | Adresse de requête et PID, longueur de réponse, conditions de lecture, formule de décodage, plage et mappage de texte. |
| La valeur existe mais la signification ou l'unité est anormale. | Préréglez si le modèle de voiture applicable, l'ordre des octets, la formule et l'unité sont cohérents. |
| La liste affiche l'ancienne valeur, le compteur n'a aucune valeur | Si la lecture actuelle a expiré ou si la lecture a échoué ; le cache d'affichage de liste ne signifie pas que les données en temps réel sont valides. |
| Il existe des relevés valides mais le compteur personnalisé ne s'affiche pas | Le périphérique actuel, les paramètres sélectionnés, les expressions et la gestion par le code des nombres, des littéraux et des valeurs nulles. |
| La substitution d'itinéraire n'a pas pris effet | Cibles de remplacement, types de valeurs de paramètres, compatibilité des unités et des plages et validité de la lecture. |
Les commentaires sur les problèmes peuvent inclure les informations suivantes pour différencier les problèmes de connectivité, les problèmes de configuration et les problèmes d'affichage :
- Modèle, année, version d'alimentation et modèle d'adaptateur.
- Noms actuels de l’appareil, des préréglages et des paramètres.
- Testez les résultats de lecture ou les erreurs spécifiques.
- Cela affecte-t-il tous les paramètres ou des paramètres individuels, et si le problème se produit dans la liste des paramètres, dans le remplacement du déclenchement ou dans l'instrument personnalisé.