Hallo
Ich möchte ein eine K-Line Diagnose kommunikation selber verweirklichen.
Sprich. Eine eigene PC-Anwendung schreiben, die mit einem Interface
spricht, welches dann die Diagnosekommunikation realisiert.
Meine fragen:
- Gibt ja sicher ein fertiges interface zu dem eine API angeboten wird.
Bitte mal tipps geben. Protokoll soll KWP2000 sein.
- Pc Programmierung habe ich schon einige Erfahrung, aber nicht wenn es
darum geht mit einem Kontroller / Interface zu sprechen. (Aber das hat
sich dann ja m´durch die API erledigt). Ansonsten wäre eine kurze
erläuterung wie die kommunikation da genau läuft.
PC -> Controller Platine(Interface) -> Auto
- Was sollte ich noch beachte, bzw. mich einarbeiten
Meine Kenntnisse:
programmierung von uC
PC Programmierung (C)
Danke
Ich mache die OBD2-Programmierung nun schon seit vielen Jahren. Glaube
mir, es ist recht schwierig, im Netz freie Informationen über die
Protokolle zu bekommen. Die SAE-Datenblätter zu den Protokollen sind
sehr umfangreich und recht teuer, der Kauf lohnt sich nur, wenn Du
wirklich vor hast, das Ganze später kommerziell zu vermarkten. Ansonsten
gibt es ja auf dem Markt genügend fertige OBD2-PC-Interfaces, die
einfach per serieller Schnittstelle vom PC angesprochen werden und die
Kommunikation sowie die Pegelwandlung der Signale vornehmen. Es wird ein
recht einfacher AT-Befehlssatz wie bei Modems benutzt, selbst mit einem
Terminalprogramm kann man schon ohne jegliche Programmierung gute
Erfolge erziehlen.
Such einfach im Netz mal nach AGV4000, DX35 oder ELM327. Diese
Interfaces können alle Protokolle, natürlich auch KWP2000.
E.R.
Peer schrieb:> Sprich. Eine eigene PC-Anwendung schreiben, die mit einem Interface> spricht, welches dann die Diagnosekommunikation realisiert.
Also die 100. ELM Applikation? Naja.
Wenn Du nur APIs nutzen kannst/willst, würde ich es sein lassen. Wozu?
Wenn Du wirklich KW2000 beherrschen willst, lies ein Buch. Es gibt nur 3
am Markt.
Hier wird ja wieder fleissig Angst gemacht.
Ich habe für ein Interface basierend auf einem Atmel und einem
Pegelwandler knapp zwei Wochen (jeweils Abends) gebraucht, bis ich den
mit meinem Smart gekoppelt bekommen habe und die gängigen Werte wie
Drehzahl etc. auslesen konnte.
Letztlich besteht das Ganze erstmal aus einer 50 Baud
Initialisierungssequenz und dann folgend eine simplen UART Kommunikation
mit 10500 Bd (wenn ich mich richtig erinnere). Wirklich kein Hexenwerk.
Wenn man ELM verwenden will, ELM Datenblätter gibt es im Internet, da
ist das alles beschrieben.
Gruss
Axel
Maus schrieb:> Wenn Du nur APIs nutzen kannst/willst, würde ich es sein lassen. Wozu?> Wenn Du wirklich KW2000 beherrschen willst, lies ein Buch.
Naja es ist halt einfacher eine vorhandene APi zu verwenden als alles
selber zu erstellen.
Und KWP200 Lernen ist ganz toll, aber ich will nicht das ganze Protokoll
auswendig können. Der Funktionelle aufbau ist klar, und ich weiß was ich
machen will. alles andere ergibt sich
Axel:
Machst du das nur aus Hobby oder auch beruflich?
Aber genau das ist es was ich gerne in gewisser weise fertig hätte.
KWP200 fertig implementiert, so das ich nich die initialisierungs
sequenz usw selber schrieben muss.
Ich weiß was ich für daten hin schicken will und wenn ich was bekomme,
was es bedeutet.
ich möchte mich ungern noch damit befassen, das ich erst den ganzen
Nachrichtenaufbau konstuieren muss usw.
Danke
Axel Laufenberg schrieb:> Letztlich besteht das Ganze erstmal aus einer 50 Baud> Initialisierungssequenz
Das wäre Slowinit und der geht mit 5 Baud. Normal startet man KWP2000
aber mit Fastinit.
> und dann folgend eine simplen UART Kommunikation> mit 10500 Bd (wenn ich mich richtig erinnere). Wirklich kein Hexenwerk.
Mit 10400 Baud und so ganz simpel ist die Kommunikation auch nicht.
Man muss zuerst die KeyWords decodieren, dementsprechend müssen die
Befehle kodiert sein - kurz/lang usw. Dann kommen noch die ganzen
Umrechnungen der empfangenen Werte, Adressen, PIDs...
Alles andere als einfach und simpel.
> Ich habe für ein Interface basierend auf einem Atmel und einem> Pegelwandler knapp zwei Wochen (jeweils Abends) gebraucht,
Ahem.
Marc Vesely schrieb:> Axel Laufenberg schrieb:>> Letztlich besteht das Ganze erstmal aus einer 50 Baud>> Initialisierungssequenz> Das wäre Slowinit und der geht mit 5 Baud. Normal startet man KWP2000> aber mit Fastinit.>>> und dann folgend eine simplen UART Kommunikation>> mit 10500 Bd (wenn ich mich richtig erinnere). Wirklich kein Hexenwerk.> Mit 10400 Baud und so ganz simpel ist die Kommunikation auch nicht.> Man muss zuerst die KeyWords decodieren, dementsprechend müssen die> Befehle kodiert sein - kurz/lang usw. Dann kommen noch die ganzen> Umrechnungen der empfangenen Werte, Adressen, PIDs...> Alles andere als einfach und simpel.>>> Ich habe für ein Interface basierend auf einem Atmel und einem>> Pegelwandler knapp zwei Wochen (jeweils Abends) gebraucht,> Ahem.
Ist schon zwei oder drei Jahre her, deswegen habe ich die Details nicht
mehr so parat. Ich habe damals so eine kleine Anzeige gebaut, die hat
Drehzahl, Temperatur etc. angezeigt, also reines Hobby. Hatte mir damals
ein Buch für die Kodierung gekauft müsste mal raussuchen, welches das
war.
Muss man halt ein bischen rumprobieren, aber wenn man das Prinzip
erstmal raus hat, ist das kein Problem. Da muss man keine Angst vor
haben.
Zumindest, solange es nur um die normalen Fehlercodes geht. Wer
natürlich seine Aussenspiegel anklappen will, hat schon was anderes vor.
Gruss
Axel
Axel Laufenberg schrieb:> Hatte mir damals> ein Buch für die Kodierung gekauft müsste mal raussuchen, welches das> war.
Mehr hatte ich auch gar nicht gesagt. Das hat nichts mit Angst machen zu
tun.
Und meine Aussage, daß ich nicht verstehe, warum man die 100. App
schreiben will auch nicht. Aber der OP will ja wohl auch keinen ELM
nutzen und nicht mal nachlesen, was das ist.