OBD Fahrzeugdaten
Lesen Sie vom Fahrzeug bereitgestellte Drehzahl, Kühlmitteltemperatur, Öltemperatur, Kraftstoff und andere Parameter über einen kompatiblen Bluetooth-Adapter. In diesem Artikel werden die Lesebedingungen, die Parameterkonfiguration, die Datenaktualisierung und die Regeln für die Verwendung von Messwerten in Instrumenten und Fahrten erläutert.
Fahrzeugparameter und Leseergebnisse
OBD wird zum Lesen der von der Fahrzeugsteuerung bereitgestellten Daten verwendet. Der Fahrzeugcontroller, auch ECU genannt, ist für den Motor, das Getriebe und andere Systeme verantwortlich; CapDrive sendet über den Adapter Anfragen an diese Controller und wandelt die empfangenen Daten in Messwerte um.
Ein „Parameter“ in der App ist ein Datenelement, das gelesen und angezeigt werden soll, beispielsweise die Motordrehzahl (U/min), die Kühlmitteltemperatur oder ein Status. Es enthält Leseanfragen, Umrechnungsformeln und Einheiten. Numerische Parameter können für Zahlen, Verlauf oder Kurven verwendet werden; Statusparameter können durch Textzuordnung als D, P usw. angezeigt werden.
Beispielsweise kann der Kühlmitteltemperaturparameter mithilfe der Anforderung 0105 abgerufen werden, um ein Datenbyte A zu erhalten und gemäß A - 40 konvertiert zu werden. Wenn der Dezimalwert des zurückgegebenen Bytes 123 ist, ist das Ergebnis 83 °C. Um brauchbare Messwerte zu erhalten, müssen die Verbindungsmethode, die Anforderungsdefinition und die Konvertierungsregeln korrekt sein.
Welche Parameter das Fahrzeug unterstützt, hängt vom Modell, Baujahr, Antriebssystem und Reglerstatus ab. Es können nur die tatsächlich vom Fahrzeug bereitgestellten Werte gelesen werden, und eine Änderung des Namens oder der Einheiten erhöht nicht die Datenfähigkeit des Fahrzeugs selbst.
Supportumfang und Nutzungsbedingungen
Für die Verbindung mit dem Fahrzeug OBD sind CapDrive Plus, Bluetooth Low Energy (BLE)-Adapter erforderlich, die ELM327-Anweisungen unterstützen, und Bluetooth-Berechtigungen auf dem iPhone. Klassische Bluetooth- und Wi-Fi-Adapter werden derzeit nicht unterstützt.
Erst nachdem der Adapter an die OBD-Schnittstelle des Fahrzeugs angeschlossen und entsprechend den Anforderungen des Fahrzeugs eingeschaltet wurde, kann die App mit dem Fahrzeug kommunizieren. Bestimmte Parameter erfordern, dass sich das Fahrzeug in einem bestimmten Zustand befindet, z. B. dass die Steuerung eingeschaltet ist, der Motor läuft oder das entsprechende System betriebsbereit ist. Die Aufnahme von „Bluetooth“ im Namen eines Adapters allein beweist nicht, dass er BLE und der Richtlinie entspricht.
Der OBD-Wert, Es ist nicht nötig, zuerst eine Reise zu beginnen, kann in der Parameterliste oder im Parametereditor angezeigt und getestet werden. Ob die Mobiltelefonfahrt begonnen hat, bestimmt nicht, ob das Fahrzeug Kühlmitteltemperatur, Geschwindigkeit (U/min) und andere Parameter zurückgibt.
CapDrive unterstützt die Konfiguration von Leseanforderungen für die Hex-Dienste 01, 21, 22. Für den normalen Gebrauch kann die zum Fahrzeug passende Voreinstellung verwendet werden; Die spezifische Anforderungsadresse und -formel unterliegen der Voreinstellung oder Fahrzeugparameterdefinition.
Verbindungs- und Geräteverwaltung
Eintrag: Mehr (…) → OBD-Fahrzeugverbindung. Auf der Geräteseite werden in der Nähe befindliche Adapter und gespeicherte Geräte angezeigt, und die Parameterkonfiguration des Adapters wird in den Geräteeinstellungen gespeichert.
Erstmalige Verbindung und erneute Verbindung
Bei der ersten Verbindung stellt die App eine Bluetooth-Kommunikation her, initialisiert den Adapter, identifiziert das Fahrzeugprotokoll und fragt das Fahrzeug ab, um unterstützte Standardparameter zu melden. Nach Erfolg werden die initialisierbaren Standardparameter zur Geräteliste hinzugefügt. Ob die Standardparameter im aktuellen Zustand Werte haben, hängt von den tatsächlichen Leseergebnissen ab.
Wenn ein vorhandenes Gerät erneut eine Verbindung herstellt, verwendet es weiterhin die ursprüngliche Konfiguration, einschließlich geänderter Parameter und aktiv gelöschter Listen. Nachdem ein Parameter gelöscht wurde, wird er durch erneutes Verbinden nicht wieder hinzugefügt. Wenn zusätzliche Messwerte benötigt werden, können voreingestellte oder neue Parameter importiert werden.
Aktuelle Datenquelle
Das „aktuelle Gerät“ bezieht sich auf den Adapter, der CapDrive Fahrzeugdaten bereitstellt. Es kann jeweils nur ein Gerät als aktuelle Datenquelle verwendet werden. Die Parameter und Einstellungen jedes Geräts werden unabhängig gespeichert; Beim Wechsel zu einem anderen Gerät werden die Parameterreferenzen des vorherigen Geräts nicht automatisch verwendet.
Beim Trennen der Verbindung bleibt die Konfiguration erhalten. Gerät ignorieren entfernt die Konfiguration und den Cache des Geräts. Wenn Sie Parameter migrieren müssen, können Sie die Konfiguration exportieren und dann in das Zielgerät importieren; Bei kundenspezifischen Instrumenten sollten Sie die Parameter unter dem Zielgerät neu auswählen.
Parametervoreinstellungen und Konfigurationsdateien
Der Standardwert ist ein Satz bereits geschriebener Parameter-Lesekonfigurationen, wodurch die Notwendigkeit entfällt, Anforderungen und Formeln Element für Element auszufüllen. Die Standardvoreinstellung OBD-II stellt Standardparameter bereit und die Fahrzeugmodellvoreinstellung stellt Parameterdefinitionen für das entsprechende Fahrzeugmodell bereit. Bei der Auswahl einer Modellvoreinstellung sollten Sie das Modelljahr und die Leistungsversion überprüfen.
Auf angegebenes Gerät importieren
Öffnen Sie die Konfigurationsbibliothek unten in der Geräteparameterliste. Durch das Herunterladen in der App wird die Importschnittstelle des Geräts aufgerufen. Wenn Sie die Datei JSON über den Browser herunterladen, können Sie im Geräteeinstellungsmenü Konfiguration importieren auswählen.
Die Importliste ist standardmäßig deaktiviert und es werden nur explizit ausgewählte Parameter gespeichert. Sie können zuerst den Namen und den aktuellen Messwert überprüfen und dann die Konfiguration über das Zahnrad auf der rechten Seite überprüfen. Durch das Schließen der Importschnittstelle werden unbestätigte Entwürfe nicht gespeichert.
Duplikate und Konfigurationsaktualisierungen
Parameter, die bereits über dieselbe Lesemethode, Decodierungsregel und Ausgabeeinheit verfügen, werden als Duplikate markiert und verwenden weiterhin die ursprüngliche Parameterkennung. Durch die bloße Änderung des Anzeigenamens wird derselbe Parameter nicht zu einem neuen Leseelement.
Eine Anfrage kann mehrere Parameter bereitstellen, z. B. zwei Temperaturen in derselben Antwort; Der gleiche Name kann auch von verschiedenen Controllern oder unterschiedlichen Formeln stammen, sodass Duplikate nicht nur anhand des Namens beurteilt werden können. Elemente mit geänderten Anforderungs- oder Decodierungsregeln werden als neue Parameter importiert und überschreiben alte Elemente nicht allein aufgrund ihres Namens.
Beim Import in einen anderen Adapter wird die eigene Parameterreferenz des Zielgeräts hergestellt. Bei der benutzerdefinierten Instrumentierung sollten die entsprechenden Parameter des Zielgeräts in der Eingabebindung neu ausgewählt werden. Die Eingabekennung bleibt unverändert und es ist keine Änderung des Codes erforderlich.
Dateibeschränkungen
Die Konfiguration verwendet JSON, die Formatkennung ist capdrive.obd und appVersion ist die erforderliche App-Version; Beim Exportieren wird die aktuelle App-Versionsnummer geschrieben. Wenn die Version nicht ausreicht, werden Sie zum Upgrade aufgefordert. Eine einzelne Datei kann bis zu 5 MiB umfassen und bis zu 3.000 Parameter enthalten. Die Datei speichert die gelesene Konfiguration und enthält weder die Bluetooth-Verbindung des Geräts, noch garantiert sie, dass alle Elemente auf dem Zielfahrzeug lesbar sind.
Parameterkonfiguration und Dekodierung
Öffnen Sie den Editor über das Zahnrad rechts neben den Parametern. Im Folgenden werden die Felder in der Reihenfolge „Was wird aus dem Fahrzeug gelesen → Wie wird konvertiert → Wie wird die Gültigkeit ermittelt“ beschrieben. Lesen testen verwendet die aktuelle Konfiguration im Editor, um die Ergebnisse zu überprüfen; Nachdem Sie auf „Speichern“ geklickt haben, werden die Änderungen zur gespeicherten Konfiguration des Geräts.
Name und Aktualisierungshäufigkeit
Der Name wird zur Identifizierung von Fahrzeugparametern verwendet. Interne Identifikatoren werden von der App automatisch verwaltet und weder im Parametereditor ausgefüllt noch abgefragt PID; Exportierte Voreinstellungen enthalten keine nativen Gerätekennungen. Das Instrumentenskript verwendet seine eigene definierte Eingabekennung und wählt Fahrzeugparameter durch Eingabebindung aus.
Leseintervall (Sekunden) wird in Sekunden ausgefüllt und der Bereich ist 0.3–99999. Beispielsweise bedeutet 1 Sekunde, dass das Zielabfrageintervall 1 Sekunde beträgt. Die eigentliche Aktualisierung wird auch von der Fahrzeugreaktion, anderen Anfragen und aktuellen Leseanforderungen beeinflusst. Sichtbare Elemente in der Parameterliste, der Instrumentenauswahl und der Fahrtdatennutzung schaffen Leseanforderungen; Das bloße Importieren von Parametern führt nicht dazu, dass immer die gesamte Liste mit einer festen Häufigkeit abgefragt wird. Parameter, die dieselbe Anfrage teilen, können in einer Antwort wiederverwendet werden.
Einstellungen anfordern
| Feld | Bedeutung und Füllmethode |
|---|---|
| Aufschlag | Kategorie der Anfrage, unter Verwendung einer Hexadezimalzahl. Der für 0105 angeforderte Dienst ist beispielsweise 01. |
| PID | Die Datenelementnummer in diesem Dienst. Beispielsweise ist PID von 0105 05; 01 und 21 verwenden die zweistellige PID und 22 verwendet die vierstellige PID. |
| Anfrage CAN ID | Die Adresse des Fahrzeugcontrollers, der die Anfrage erhält. Wenn das Feld leer bleibt, verwendet das Protokoll funktionale Adressierung. Bei übereinstimmenden Standardwerten sollte normalerweise die ursprüngliche Adresse beibehalten werden. |
| Antwort auf die CAN ID-Filterung | Geben Sie an, welche Controller-Antwort verwendet werden soll, um zu vermeiden, dass die falsche Quelle ausgewählt wird, wenn mehrere Controller Daten zurückgeben. |
| Erweiterte Zieladresse, erweiterte Empfangsadresse | Zusätzliche Kommunikationsadressierungskonfiguration zur Verwendung durch Fahrzeugprotokolle, die dies erfordern. |
| Antwort-Timeout-Parameter | Die vom Adapter verwendete hexadezimale Timeout-Konfiguration, nicht in Sekunden ausgefüllt; Es ist eine andere Einstellung als das Leseintervall. |
| Benutzerdefinierte CAN-Flusssteuerung | Wird für Anfragen verwendet, die eine spezifische Flusskontrollkonfiguration erfordern, wie vom entsprechenden Fahrzeug definiert. |
Umrechnungsformeln, Bytereihenfolge und Einheiten
Die Fahrzeugantwort besteht normalerweise aus Datenbytes. A stellt das erste Datenbyte dar, B stellt das zweite dar und so weiter, mit Ausnahme des Protokollheaders. Eine Formel unterstützt arithmetische, bitweise Operationen, Vergleiche, logische Operationen und bedingte Ausdrücke. Es handelt sich nicht um ein Skript, das beliebige JavaScript-Funktionen aufrufen kann.
Beispielsweise verwendet die Kühlmitteltemperatur A - 40; Die Standardmotordrehzahl (U/min) verwendet (A * 256 + B) / 4. Wenn A = 26, B = 248, erhält letzterer 1726 rpm. Die Formel eines Parameters sollte mit der Bedeutung der von der Anfrage zurückgegebenen Bytes übereinstimmen.
Endianness bestimmt, wie Multibyte-Felder interpretiert werden: Big-Endian setzt das höherwertige Byte an die erste Stelle, Little-Endian stellt das niederwertige Byte an die erste Stelle. Die App führt die numerische Formel nach der konfigurierten Verarbeitungsreihenfolge aus und die Formel sollte nicht wiederholt Bytes austauschen.
Die Einheit des Formelergebnisses muss von der Anzeigeeinheit unterschieden werden. Durch Ändern des Namens der benutzerdefinierten Einheit wird nur die Beschriftung und nicht der Formelwert geändert. Bei der Auswahl einer kompatiblen Anzeigeeinheit für eine bestehende physikalische Standardgröße kann die App die entsprechende Umrechnung durchführen. Bitte überprüfen Sie die in der Formel verwendeten Originaleinheiten, um wiederholte Umrechnungen zu vermeiden.
Lesebedingungen und gültiger Bereich
| Konfiguration | Tatsächlicher Effekt |
|---|---|
| Mindestanzahl an Antwortbytes | Schließen Sie Rückgaben mit unzureichender Länge aus, um zu verhindern, dass die Berechnung fortgesetzt wird, wenn Bytes fehlen. |
| Bedingungen lesen | Die Bedingung wird anhand der Rohantwortbytes ausgewertet, z. B. A != 0. Dieser Messwert ist nicht verfügbar, wenn das Ergebnis Null ist, Bytes fehlen oder die Berechnung fehlgeschlagen ist. |
| Minimalwert, Maximalwert | Numerische Ergebnisse einklemmen. Wenn der gültige Bereich beispielsweise auf 0–100 konfiguriert ist, wird 120 als 100 angezeigt. Der Maximalwert muss größer als der Minimalwert sein; Wenn der Mindestwert nicht festgelegt ist, wird er als Null behandelt. Durch die alleinige Einstellung des Mindestwerts wird die Amplitude nicht separat begrenzt. |
| Effektive Untergrenze, effektive Obergrenze | Ungültige Ergebnisse werden ebenso ausgeschlossen wie die Grenzen selbst. Wenn die Obergrenze beispielsweise 100 beträgt, sind Ergebnisse größer oder gleich 100 nicht verfügbar. |
Die Antwort durchläuft Längen- und Lesebedingungsprüfungen, bevor sie dekodiert wird. Das digitale Ergebnis wird zunächst begrenzt und anschließend werden die wirksamen Ober- und Untergrenzen überprüft; Es wird kein Messwert ausgegeben, wenn kein endlicher Wert ermittelt werden kann. Die Lesebedingung verwendet die Rohantwort vor der Konvertierung der Bytereihenfolge.
Textzuordnung
Die Textzuordnung zeigt einen durch eine Formel erhaltenen Wert als Text an, z. B. 1 → D. Der Schlüssel unterstützt Dezimalzahlen und negative Zahlen und muss ein eindeutiger endlicher Wert sein. 1.5 und 1.50 repräsentieren dasselbe Element. Literal darf eine leere Zeichenfolge sein.
Wenn die Zuordnung getroffen wird, wird die entsprechende Zeichenfolge zurückgegeben. Wenn es nicht erreicht wird, wird eine Zahl zurückgegeben, wenn Bei fehlender Zuordnung ursprüngliche Zahl zurückgeben aktiviert ist, und null wird zurückgegeben, wenn es deaktiviert ist. Diese nicht übereinstimmende Einstellung gilt, wenn eine Zuordnung vorhanden ist. Bei Treffertext wird kein digitales Ausschneiden mehr durchgeführt.
Daher kann derselbe Parameter eine Zahl, einen Text oder einen Nullwert zurückgeben, und der Instrumentierungscode sollte den tatsächlichen Typ des Parameters verarbeiten. Wenn die Situation „Einige Werte können angezeigt werden und andere Werte verschwinden“ auftritt, sollten Sie prüfen, ob die Zuordnung übereinstimmt und ob die Einstellungen nicht übereinstimmen.
Speichern und Fehlermeldung
Ungültige Konfigurationen werden in den Feldern und Gründen angezeigt und nach der Korrektur gespeichert oder getestet. PID der Dienste 01 und 21 ist eine zweistellige Hexadezimalzahl, 22 ist vierstellig; CAN ID ist 3 oder 8 Ziffern und die erweiterten Adress- und Timeout-Parameter sind zwei Ziffern. Das Leseintervall beträgt 0.3–99999 Sekunden, die Mindestanzahl der Antwortbytes ist eine Ganzzahl von 0–4096 und die Formel und die Lesebedingungen betragen jeweils bis zu 1.024 UTF-8 Bytes. Der Wert muss begrenzt sein, der Minimalwert darf nicht größer als der Maximalwert sein und die gültige Untergrenze muss kleiner sein als die gültige Obergrenze; Der Textzuordnungsschlüssel kann nicht wiederholt werden.
Austausch von Reisedaten
Fahrtdaten ersetzen sorgt dafür, dass der Basiswert den angegebenen Parameter OBD verwendet. Wenn Sie beispielsweise einen Fahrzeuggeschwindigkeitsparameter als „Geschwindigkeit“ angeben, können das Basisgeschwindigkeitsfeld, zugehörige integrierte Messgeräte und Fahrtaufzeichnungen diesen Fahrzeugmesswert verwenden.
Zu den alternativen Zielen gehören Geschwindigkeit, Längs-G, Quer-G, Nicken und Rollen. Akzeptiert km/h oder mph für Geschwindigkeit, g oder m/s² für Beschleunigung und Grad oder Bogenmaß für Winkel. Die App rechnet die Einheiten nach Bedarf für das Ziel um.
Für den Ersatz müssen Parameter mit geeigneten Zahlen, Einheiten und Bereichen bereitgestellt werden. Parameter mit Textzuordnung können nicht zum Ersetzen von Strichen verwendet werden; Originalergebnisse außerhalb des Konfigurationsbereichs werden ebenfalls abgelehnt und Grenzwerte nach der Begrenzung werden nicht als gültige Hubmessungen angesehen.
Verwenden Sie diese Quelle, wenn gültige OBD-Messwerte vorliegen. Greifen Sie auf mobile Daten zurück, wenn Messwerte fehlen, abgelaufen oder ungültig sind. Dieser Basiswert ist möglicherweise noch leer, wenn die mobile Quelle ebenfalls nicht verfügbar ist. Beim normalen Parameterimport werden Ersatzziele nicht automatisch angegeben.
Parameter wie Kühlmitteltemperatur, Drehzahl (U/min) usw. können im benutzerdefinierten Instrument separat angezeigt werden und ihre OBD-Referenzen können direkt verwendet werden, ohne dass eine Hubersetzung konfiguriert werden muss.
Benutzerdefinierter Instrumentenzugriff
Klicken Sie auf das Zahnrad neben Instrumenteneinstellungen → Eingabezuordnungen, um Parameterkonfiguration einzugeben und eine OBD-Daten-Eingabe hinzuzufügen, zum Beispiel die Kennung coolant. Kehren Sie zur Eingabebindung zurück und wählen Sie unter Geräte den Parameter Kühlmitteltemperatur aus. Das Skript liest $data.current.coolant; Die UUID der Fahrzeugparameter muss nicht in den Code geschrieben werden.
Zu den Lesevorgängen gehören value und unit, zum Beispiel { value: 83, unit: '°C' }. Textzuordnungen können auch Zeichenfolgen zurückgeben. Der Typ sollte vor der Zahlenformatierung überprüft werden. Wenn es nicht gebunden ist, ist die gesamte Eingabe null; Wenn es gebunden ist, aber vorübergehend nicht gelesen wird, ist value null und unit übernimmt weiterhin die Konfigurationseinheit.
Nachdem Sie die Werke anderer Leute importiert oder den Adapter geändert haben, binden Sie die vorhandene Eingabe erneut, um den Code weiterhin verwenden zu können. Der erwartete Typ wird für Hinweise verwendet, der Fahrzeugrückgabewert wird nicht umgewandelt. Die Vorschau verwendet einen analogen Eingang und das aktuelle Gerät und Lesen testen sollten bei der Bestätigung realer Fahrzeugdaten überprüft werden.
Datenvalidität und Fehlerdiagnose
Lesestatus
Die Verbindung ist gültig, die Antwort wird empfangen und der Messwert ist gültig – das sind drei verschiedene Bedingungen. Die Antwort liefert aufgrund unzureichender Länge, nicht erfüllter Lesebedingungen, ungültiger Formel oder fehlender Textzuordnung möglicherweise keinen verwendbaren Wert.
Laufzeitablesungen haben ein Ablaufdatum. Nach einer Trennung, einem Lesefehler oder einem Datenablauf sollte beim Austausch von Instrumenten und Auslösern der alte Wert nicht mehr als aktuell gültige Daten verwendet werden. Die Parameterliste kann zu Demonstrationszwecken die letzte erfolgreiche Lesung beibehalten, die keiner gültigen Live-Ausgabe entspricht; Das aktuelle Anfrageergebnis kann mit Lesen testen überprüft werden.
Null ist ein gültiger Wert und ein Nullwert bedeutet, dass derzeit keine Messwerte verfügbar sind. Die leere Zeichenfolge in der Textzuordnung ist das übereinstimmende Textergebnis, das sich ebenfalls vom fehlenden Test unterscheidet.
Suchen Sie nach Fehlerebene
| Leistung | Entsprechender Prüfumfang |
|---|---|
| Gerät konnte nicht erkannt werden | Stromversorgung über Adapter, Typ BLE, iPhone Bluetooth und App-Berechtigungen. |
| Bluetooth ist verbunden, aber die Initialisierung ist fehlgeschlagen | Unterstützung von Adapterbefehlen, Fahrzeugkommunikationsstatus und Protokollidentifikation. |
| Parameterliste ist leer | Die gespeicherte Konfiguration des aktuellen Geräts, die Ergebnisse der ersten Funktionsabfrage und ob die Liste aktiv gelöscht wurde. Durch die erneute Verbindung werden gelöschte Elemente nicht automatisch wiederhergestellt. |
| Für einen einzelnen Parameter gibt es keinen gültigen Messwert | Abfrageadresse und PID, Antwortlänge, Lesebedingungen, Dekodierungsformel, Bereich und Textzuordnung. |
| Der Wert existiert, aber die Bedeutung oder Einheit ist abnormal. | Stellen Sie ein, ob das anwendbare Fahrzeugmodell, die Bytereihenfolge, die Formel und die Einheit konsistent sind. |
| Liste zeigt alten Wert, Zähler hat keinen Wert | Ob die aktuelle Lesung abgelaufen ist oder nicht gelesen werden konnte; Der Listenanzeige-Cache bedeutet nicht, dass die Echtzeitdaten gültig sind. |
| Es liegen gültige Messwerte vor, das benutzerdefinierte Messgerät wird jedoch nicht angezeigt | Das aktuelle Gerät, ausgewählte Parameter, Ausdrücke und die Verarbeitung von Zahlen, Literalen und Nullwerten durch den Code. |
| Der Reiseplanersatz wurde nicht wirksam | Ersetzungsziele, Parameterwerttypen, Einheiten- und Bereichskompatibilität und Auslesegültigkeit. |
Das Problem-Feedback kann die folgenden Informationen umfassen, um zwischen Verbindungsproblemen, Konfigurationsproblemen und Anzeigeproblemen zu unterscheiden:
- Modell, Jahr, Leistungsversion und Adaptermodell.
- Aktuelle Geräte-, Preset- und Parameternamen.
- Testleseergebnisse oder spezifische Fehler.
- Betrifft es alle Parameter oder einzelne Parameter und ob das Problem in der Parameterliste, beim Trip-Ersatz oder im benutzerdefinierten Instrument auftritt?