Jump to content
CarPort ForumCarPort Forum

Recommended Posts

Erstellt

Hallo Ihr lieben,

wie kann ich Daten in den CAN Bus schreiben?

 

Ich möchte z.B. den Blinker blinken lassen oder die Hupe Hupen lassen.

 

Mein Ziel ist es, eine Art If Abfrage zu schreiben (in C#) z.B.:

Wenn die Distanzkontrolle wert von >50com meldet, zwei mal kurz Hupen.

Ich möchte noch nicht direkt an den CAN Bus ran, sondern während der Entwicklung über den Diagnose Port arbeiten.

 

Vielen lieben Dank,

 

zum Gruß!

Posted

Einige Einstellung wie Blinker blinken und andere Komfort Sachen sind möglich aber wenn Du Richtig Programmieren willst brauchst Du eine Software dass das Eeprom Flashen kann wie Z.b. VCP-CAN

 

Mit Carport geht das nicht.  

Seat Alhambra BJ. 2002 1.9 TDI (AUY), Autodia-K409, Carport Basic KKL, VCDS-Lite, WHB-Diag 0.89(Selber Angepasst)

Posted

Das was du machen möchtest wird auch nicht mir VCP nicht gehen, vorrausgesetzt du willst nicht das ganze in ein Steuergerät einbauen sondern deine eigene Box am OBD Port betreiben.

Für beide Fälle bist du hier im falschen Forum da Carport dir dabei nicht helfen kann. Evt. kannst du das ganze über das FSE Steuergerät machen da gibt es welche auf denne Linux läuft. Ich weiß aber nicht ob du Rohwerte von den Sensoren aus den Steuergeräten bekommst. Du kannst aber über die Stellglieddiagnose den Blinker aktivieren.

 

Schau dir mal das an: https://media.ccc.de/v/30C3_-_5360_-_en_-_saal_2_-_201312281600_-_script_your_car_-_felix_tmbinc_domke

Dort wird ne ganze menge darüber erklärt wie CAN Funktioniert und das mit den FSE Linux Steuergeräten

Posted

Meine eigentliche Idee war, einfach die CAN ID eines Bauteils (z.B. Blinker) zu emulieren und die Daten direkt in den CAN Bus zu schreiben.

 

Einfaches Beispiel (sinngemäß):

void loop()
{
sCAN message;

message.id = 0x121; // CAN ID formatted in HEX
message.header.rtr = 0;
message.header.length = 8; // Header length formatted in DEC
message.data[0] = 0xFF; // 8 Bit data as an array
    message.data[1] = 0x11;
    message.data[2] = 0x22;
    message.data[3] = 0x33; //formatted in HEX
    message.data[4] = 0x44;
    message.data[5] = 0x55;
    message.data[6] = 0x66;
    message.data[7] = 0x77;

mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), 0);
mcp2515_send_message(&message);
}

Da ich ja durch Carport in den CAN Bus komme, war die Frage, ob ich einfache Befehle (commands) absenden und damit auch mein Projekt testen kann, ohne eigene Hardware und Software zu entwickeln.

 

Mit einem einfachen Adruino Board und dem mcp2515 von microchip kann ich ja über CAN high (Pin 6 am OBD2) und CAN low (Pin 14) Daten in den CAN Bus einspeisen. Da der CAN Bus ein Prioritäten Bus ist, kann ich die Werte im Bus des Fahrzeug durch meine eigene "überschreiben".

Komme ich denn über den AutoDia K509 und dem Pro Modul direkt in den Rohen CAN Bus rein?

 

Liebe Grüße!

Posted

Über Carport nein. Über das AutoDia evt. das Teil meldet sich als serial Port also mit PuTTY müsstest du zumindest Daten an das AutoDia schicken können, wie das auszusehen hat kp.

Posted

Du musst noch beachten, dass der CAN Bus von der OBD2 Schnittstelle nur bis zum Gateway geht. Dort sind dann verschiedene CAN-Busse angeschlossen (Motor, Komfort, Infotainment). Das Can-Gateway verteilt die Nachrichten auf die entsprechenden Busse, es werden aber nicht alle Nachrichten weitergeleitet, deshalb ist es schwierig von der OBD2-Schnittstelle direkt low-Level Kommunikation zu machen. Ich denke du musst dich direkt in den Entsprechenden CAN-Bus klinken (wahrscheinlich Motor-CAN). Es gibt so ein paar Selbststudienprogramme von VW über den CAN-Bus, ließ die erstmal durch :)

Posted

Vielen dank für eure Rückmeldungen. Ich habe bereits Data Exchange On The CAN Bus von Volkswagen gelesen.

Es gibt bereits "Tuning Boxen", welche am Gaspedal gesteckt werden um von dort aus in den Drive Train CAN Bus zu schreiben.

Ich denke, ich werde diesen Zugang zum CAN verwenden. Über den Diagnose Port währe es natürlich komfortabler, aber man kann ja nicht alles kriegen.

 

Ziel ist es es am Ende, die Modifikationen direkt in das Steuergerät per Firmware Update einzuspielen.

  • 2 weeks later...
Posted

Prima, ich wollte immer schon ein eigenes Steuergerät, welches die Standheizung umgebungstemperaturabhängig wochentags um halb sieben einschaltet, also nur dann, wenn es kälter als z. B. 5 Grad ist. Lass mal hören, was Du hinbekommen hast!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Antwort erstellen...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Wichtige Informationen

Diese Webseite verwendet Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen erhalten Sie in unserer Datenschutzerklärung.