Kann ich das Lenkrad in Honda Civic 2017 (ohne Honda Sending) drehen, indem ich Befehle über den CAN-Bus (OBD II-Port) sende?

1

Ich möchte mein Honda Civic LX 2017 (ohne Honda Sensing) lenken, indem ich Befehle über den CAN-Bus (OBD II-Anschluss) sende. Mein Auto verfügt über eine elektronische Servolenkung. Ich mache das, weil ich einige Experimente mit selbstfahrender Software brauche, die den Lenkwinkel als Ausgabe sendet.

Zu diesem Zweck verwende ich einen Panda-OBD-Dongle von comma.ai. Ich habe Leute gesehen, die dies in Fahrzeugen mit Honda Sensing taten. Ich möchte nur wissen, ob es in meinem Fahrzeug möglich ist.

Tamilarasu Ulaganathan
quelle
Ich bezweifle, dass das Sensorpaket anscheinend die Spurhalteassistent-Funktion enthält, die Sie benötigen würden. Wenn dies bei Ihnen der Fall ist, können Sie es wahrscheinlich.
Ben

Antworten:

4

Nein, nicht direkt über den OBDII-Port. Es gibt keine Möglichkeit, Lenkungsaktivierungen über OBD zu senden, selbst bei Diagnosegeräten auf Händlerebene. Stellen Sie sich die Auswirkungen auf die Sicherheit vor, wenn dies möglich ist.

Selbst wenn Sie direkt auf den CAN-Bus der Lenkung zugegriffen haben, bezweifle ich, dass Sie Daten zur Aktivierung der Lenkung senden können.

In den Systemen, mit denen ich gearbeitet habe (Scania, Landrover, Volvo, Toyota), ist das Lenksteuersystem in sich geschlossen, sodass die H-Bridge-Motorsteuerung und die Verarbeitungseinheit einschließlich des Lenkwinkelsensoreingangs in einem Steuergerät untergebracht sind. Daher können Sie keine Daten senden es keine falschen Informationen. Die einzigen Informationen, die über den CAN-Bus gesendet werden, sind Motordrehzahl, Fahrzeuggeschwindigkeit, doppelter Lenkwinkel und Hunderte anderer Datenbits von anderen Sensoren. Alle sicherheitskritischen Daten werden normalerweise über Flex-Ray mit mehreren Redundanzbereichen gesendet.

Es gibt wirklich nur drei Möglichkeiten, die Steuerung zu übernehmen:

1: Emulieren Sie den Lenkwinkelsensor. Dies ist schwieriger als es sich anhört, da es das Abfangen der Ausgabe des Lenkwinkelsensors erfordert, einige ziemlich schnelle Ein- und Ausgaben. Könnte ernsthafte Sicherheitsprobleme mit sich bringen, also würde ich es nicht tun.

2: Hacken Sie direkt in die H-Bridge-Eingänge. Ich habe dies viele Male getan und ist wahrscheinlich das sicherste und einfachste, wenn Sie über grundlegende Kenntnisse in Elektronik und Software verfügen. Nehmen Sie einfach die EPS-ECU auseinander und suchen Sie die Eingänge von der MCU zur H-Bridge. Diese betragen höchstwahrscheinlich 3,3 oder 5 V. Versorgen Sie diese einfach über ein Arduino oder ein benutzerdefiniertes Board mit Strom. Sie können zusätzliche Sicherheitsfunktionen hinzufügen, indem Sie den CAN-Bus auf Eingaben des Treibers usw. überwachen. Sie müssen einen Weg finden, Ihr System davon abzuhalten, gegen den neuen Controller zu kämpfen Dazu müssen Sie die Leiterplatten-Leiterbahnen von der MCU zur H-Bridge abschneiden und die MCU-Ausgänge mit den Eingängen meines Controllers verbinden und die H-Bridge-Eingänge mit den Ausgängen meines Controllers verbinden.

3: Injizieren Sie einen benutzerdefinierten Code in die EPS-MCU. Ohne Zweifel die beste und sicherste Lösung, wenn Sie über umfangreiche Software- und Reverse Engineering-Kenntnisse verfügen. Geben Sie einfach einen Code ein, um die Lenkung zu aktivieren, wenn bestimmte Nachrichten auf dem CAN-Bus sind. Der Vorteil davon ist, dass Sie keine Sicherheitsfunktionen umgehen und da der Code eingebettet ist, denkt das Auto nicht, dass etwas nicht stimmt. Das einzige Problem, das ich dabei sehen kann, ist das Timing, da Sie beim Lenken offensichtlich eine extrem hohe Aktualisierungs- / Antwortrate benötigen.

Terry Gould
quelle