2015-03-17 9 views
6

Es gibt OBD-II Gerät wie http://www.rczd.com/c/2015/Car_Diagnostic_Tools_0223/41193.html dieser Gerätanbieter hat keine Website oder Dokumentationsquelle. Wir haben einen kurzen "Schnellstart" im Kasten und versichern, dass es OBD-II PIDs unterstützt.Kommunikation mit OBD-II-Gerät

Kürzlich habe ich https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_1_PID_41

Die Frage ist, zu folgen, wenn es welche gibt allgemeine Muster, wie mit diesem icar Gerät zu kommunizieren.

Bevor ich mich mit (freematics)dongle verbunden habe, habe ich den Datenstrom gesendet, den ich analysiert habe.

Aktuelle senden nur einen Wert nach einer Anfrage senden wir es (es ist synchron und kann nicht mehr als eine Anfrage pro Zeit).

Ich würde gerne aktuelle OBD-II params, um sie (häufig) anzuzeigen.

Irgendwelche Ideen?

+0

Hallo @Jacob, ich sehe unten haben Sie es endlich implementiert. Kannst du mir bitte mit Code helfen? –

Antwort

9

Wenn Ihr Gerät mit dem ELM327 kompatibel ist, können Sie mehrere PID-Anforderungen verwenden, jedoch nur, wenn der Adapter über das CAN-Protokoll mit dem Fahrzeug verbunden ist. Es würde also nur mit einer Teilmenge von Fahrzeugen funktionieren, da nicht alle Fahrzeuge CAN unterstützen.

Beliebte Scan-Tools sendet einfach sequentielle Anfragen. Der maximale Durchsatz, den Sie mit diesem Ansatz erzielen können, liegt bei 30-40 rps.

Ich weiß nicht, wie Freematics-Dongle funktioniert, aber ich kann sehen, es hat einige SD-Karte montiert - vielleicht gibt es nur Emulation der Parallelität und intern wird jede Anfrage sequenziell gesendet?

Wenn Sie nach zuverlässigen Java-Bibliothek für den Anschluss an OBD-II-Gerät suchen, würde ich Ihnen empfehlen https://github.com/pires/obd-java-api. Sie können auch einen Blick auf meine Bibliothek werfen - https://github.com/devesion/java-obd-adapter

+1

Ja, ich habe das kürzlich mit https://github.com/pires/obd-java-api gelöst, aber es war vor ein paar Wochen, also sehe ich, dass es viele Änderungen in der lib gibt :) – Jacob