RKS+CAN Adapter für CAN-Bus Sniffing
CAN-Interface
CANhack.de - CAN Hardware, CAN Software, CAN Protokolle - Das CAN-Bus Forum für Dein CAN-Bus Projekt. eLearning CAN-Bus und Elektronik.

CAN-Bus auswerten mit MCP2515 und RaspberryPi


 
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Mikrocontroller und Elektronik: Programmierung
Autor Nachricht
Metaln00b
Hacker
Hacker


CAN Hacker seit: 08.08.2017
Beiträge: 28
Karma: +7 / -0   Danke, gefällt mir!

2003 Smart CDI
CAN Support

Beitrag18-08-2017, 18:21    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

ALLES AUF EIGENE GEFAHR!!!

Hardware:

Man nehme einen Raspberry mit aktuellstem Jessie FULL 4.9.35-v7+ (2017).
Der Kernel des Linux's besitzt so gut wie alles was man braucht. Bei Älteren OS sind die Konfigurationen etwas unterschiedlich, dazu kann man die gewohnten HowTo's verwenden.

Den StromPi kann ich nur empfehlen, da er die Möglichkeit bietet, den Raspi an das Boardnetz zu klemmen.

Dazu gibt es ein CAN-Bus Interface was sich im Netz MCP2515 nennt, eigentlich ist das einer der Chips der verbaut ist, aber das ist ja erstmal egal.
Man erkennt das Bauteil an dem "NiRen" auf der Platine.

Wichtig ist es, dass man die Spannungsversorgung des TJA1050 trennt und diesen dann sepperat mit 5V versorgt.
Denn wenn die GPIO's des Raspis mit 5V rückgespeist werden, habt ihr einen Briefbeschwerer erstellt.
Also 3V3(Raspi) an die VCC(MCP2515) und die 5V direkt an den TJA1050 (Bitte das auftrennen nicht vergessen!)
Wer im Internet sucht, wird da recht flott etwas finden, allerdings mit Kondensator gegen Masse, den braucht man aber nicht unbedingt.

Man beachte die rechte aufgekratzte Stelle, neben dem angelöteten Kabel.

Ich habe zudem den Quartz von 8MHz gegen einen mit 16MHz getauscht. (muss man nicht, man kann aber anscheinend dadurch mehr Baudraten einstellen).


Hier das Standard Tutorial

Software:
Wenn man die Installation des OS gemacht hat, kann man direkt mal einige Einstellungen vornehmen.

Das Standard Tutorial funktioniert bei euch nicht?

Ganz einfach.

Das Tutorial ist schon etwas älter:

Im Terminal:

sudo apt-get install can-utils // Installieren
sudo raspi-config // SPI aktivieren

mit

sudo nano /boot/config.txt

die Zeile mit

dtparam=spi-on // ggf. Auskommentieren

dann die nachfolgende Zeile ergänzen:

dtoverlay=mcp2515-can0, oscillator=16000000,interrupt=25 // Wichtig: Leerzeichen nach dem Komma vor oscillator! oscillator=8000000 bei einem 8MHz Quartz

Wer keine Lust hat ständig das CAN-Interface manuell zu starten (sudo ip link set can0 up type can bitrate 500000), kann mit

sudo nano /etc/network/interfaces

am Ende die Zeile
Code:

auto can0
iface can0 can static
bitrate 500000

ergänzen. Steht auch nochmal mit der wichtigen und richtigen Einrückung im Standard TuT.

Speichern und neustarten

Nach dem neustart

sudo ip link set can0 up type can bitrate 500000

mit

ifconfig

überprüft man, ob in der ersten Zeile can0 vorhanden ist. Die 1000 Nullen sind Normal weil CAN-Bus wie in Netzwerk funktioniert, allerdings die Adressierung über die ID's erfolgt.

Gibt noch die Möglichkeit ohne echtem CAN-Bus die Software zu testen, sucht einfach mal nach "vcan" oder "vcan0 mcp2515", da werdet ihr schon was finden.

Zu meiner Software:

Die Rechtschreibprüfung manipuliert den SourceCode. Deshalb habe ich es als zip-Archiv hochgeladen

Viel Spaß



RaspPiCAN.jpg
 Beschreibung:
 CAN-Bus auswerten mit MCP2515 und RaspberryPi
 Dateigröße:  3,56 MB
 Angeschaut:  9435 mal

RaspPiCAN.jpg


Source.zip
 Beschreibung:
 SourceCode
SourceCode
Download
 Dateiname:  Source.zip
 Dateigröße:  2,62 KB
 Heruntergeladen:  773 mal


Zuletzt bearbeitet am 18-08-2017, 18:53, insgesamt 2-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden   Fahrzeuge des Benutzers ansehen
postmann
CAN-Profi
CAN-Profi


CAN Hacker seit: 23.05.2013
Beiträge: 117
Karma: +37 / -0   Danke, gefällt mir!


CAN Support

Beitrag18-08-2017, 20:26    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

Das sieht echt interessant aus, ich glaube ich besorge mir eine Raspi und baue das mal nach. icon_smile.gif
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
Metaln00b
Hacker
Hacker


CAN Hacker seit: 08.08.2017
Beiträge: 28
Karma: +7 / -0   Danke, gefällt mir!

2003 Smart CDI
CAN Support

Beitrag18-08-2017, 21:50    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

postmann hat folgendes geschrieben:
Das sieht echt interessant aus, ich glaube ich besorge mir eine Raspi und baue das mal nach. icon_smile.gif


Achte aber bitte auf das vcan0, dass muss du ändern auf can0, denn das vcan war nur zum testen.
frame.id und die Zahl ist das gewisse Byte 0-7 im Array.

Wenn du Fragen hast, tu dir keinen Zwang an icon_wink.gif

LG


Zuletzt bearbeitet am 19-08-2017, 2:23, insgesamt 1-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden   Fahrzeuge des Benutzers ansehen
Metaln00b
Hacker
Hacker


CAN Hacker seit: 08.08.2017
Beiträge: 28
Karma: +7 / -0   Danke, gefällt mir!

2003 Smart CDI
CAN Support

Beitrag01-09-2017, 10:34    Titel: Senden mit canplayer Antworten mit Zitat

Habe jetzt einen Arduino genommen, um dort diverse Werte über einen Display anzeigen zu lassen. Am Auto funktioniert alles einwandfrei, was das Empfangen angeht.

Der Raspberry und der Arduino sind über 2 MCP2515 verbunden. Beider sind auf 500kbps.

Jetzt habe ich mit candump eine Aufnahme im Smart CAN-Bus gemacht candump -l can0, um nicht immer ans Auto laufen zu müssen, da ich gerne am Schreibtisch mein Arduino Bordcomputer testen möchte.

Dann habe ich eine Logdatei (es stehen auch Daten drin), welche ich mit canplayer -I candump-xxx.log abspiele, die der Arduino verarbeiten und anzeigen soll.
Vorher musste ich mit sudo ifconfig can0 txqueuelen 1000 die Meldung sendto: No buffer space available beseitigen.

Es wird leider nichts gesendet, es kommt also nichts am Arduino an. Es scheint auch so, als würde etwas durchlaufen, da ich mit STRG+C das Senden unterbrechen muss.

Ich benutze bei beiden den MCP2515. Am Arduino ist der MCP auf listenonly.

Ich habe gelesen, dass es anscheinend daran liegen könnte, dass der MCP keine 5V erkennt, welche der Bus haben muss.

Beide Geräte empfangen Daten nur im Auto ohne Probleme. Also liegt das Problem anscheinend nur am Senden.

Jemand eine Idee?

Vielen Dank im Vorraus


Zuletzt bearbeitet am 01-09-2017, 10:38, insgesamt 1-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden   Fahrzeuge des Benutzers ansehen
chipy
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag01-09-2017, 10:59    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

Hallo,

wie kommst Du an den Can im Auto zum tracen?
Kann man den am OBD-Stecker abgreifen?
Welcher Fahrzeugtyp?
Oder muss man da hinter die Verkleidung?
Oder gibt es da stellen wo der Bus lang geht und man gut an die Kabel kommt?
Kannst Du mir einen Trace schicken wo Lenkradtasten, Zündung Licht dabei sind?
Ich könnte den dann versuchen den an mein Radio zu schicken, Fahrzeugtyp kann ich einstellen.
Nach oben
Metaln00b
Hacker
Hacker


CAN Hacker seit: 08.08.2017
Beiträge: 28
Karma: +7 / -0   Danke, gefällt mir!

2003 Smart CDI
CAN Support

Beitrag01-09-2017, 11:40    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

chipy hat folgendes geschrieben:
Hallo,

wie kommst Du an den Can im Auto zum tracen?
Kann man den am OBD-Stecker abgreifen?
Welcher Fahrzeugtyp?
Oder muss man da hinter die Verkleidung?
Oder gibt es da stellen wo der Bus lang geht und man gut an die Kabel kommt?
Kannst Du mir einen Trace schicken wo Lenkradtasten, Zündung Licht dabei sind?
Ich könnte den dann versuchen den an mein Radio zu schicken, Fahrzeugtyp kann ich einstellen.



Das kann ich dir nicht sagen, was hast du für ein Auto? Ich mache das an meinem Smart. Da gibt es leider kein CAN an der OBD-Buchse, da muss man am Tacho abgreifen. Da der Smart anscheinend kein Gateway hat, kommen alle Nachrichten überall an.

Es bringt dir nix wenn ich dir meine Aufnahme schicke, da jedes Auto eine andere ID für gewisse Zwecke nutzt. Wie das aber bei OBD2 aussieht, kann ich nicht sagen, aber bei genormten OBD Buchsen, kommt CAN an, da kannst du dann abgreifen.

Soweit ich deinen Thread verfolgt habe, nutzt dein Fahrzeug für Multimedia und Motor Management, unterschiedliche CAN-BUS-Systeme.

Ich weiß nicht in wie weit du mit der Materie vertraut bist, aber evtl. solltest du dich nochmal genauer Informieren was CAN-Bus ist. *nicht böse gemeint*
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden   Fahrzeuge des Benutzers ansehen
chipy
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag01-09-2017, 12:04    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

Es bringt dir nix wenn ich dir meine Aufnahme schicke, da jedes Auto eine andere ID für gewisse Zwecke nutzt.
Ich kann den Fahrzeugtyp am Radio einstellen, z.B. BENZ(Smart) .

Da gibt es leider kein CAN an der OBD-Buchse, da muss man am Tacho abgreifen.
Sicher, so alt ist der Smart doch nicht?
Das wundert mich, dass da die Can Pins nicht belegt sind am OBD.

Dass der Smart nur einen Bus hat vereinfacht den Test, schicke mir doch bitte mal einen Trace, am besten mit Zündung schalten, Licht schalten.
Bzw. wann geht das Radio an, Schlüssel eingesteckt?
Aber Zündung an, Licht an wäre nummer sicher.
Andererseits mit Zündung sind es vermutlich gleich viel mehr Messages, die man dann filtern müsste um herauszufinden was das Radio einschaltet.
Nach oben
Metaln00b
Hacker
Hacker


CAN Hacker seit: 08.08.2017
Beiträge: 28
Karma: +7 / -0   Danke, gefällt mir!

2003 Smart CDI
CAN Support

Beitrag01-09-2017, 13:17    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

chipy hat folgendes geschrieben:

Sicher, so alt ist der Smart doch nicht?
Das wundert mich, dass da die Can Pins nicht belegt sind am OBD.


Bei einem Smart CDI bis BJ 2003 gibt es kein OBD2, erst ab 2004.

Alle anderen wie z.B. der Benziner haben ab "EU-Norm" OBD2!

Zudem wird es gerade etwas "offtopic" icon_wink.gif icon_razz.gif
Du schreibst in jeden Thread fragen, die teilweise den Zusammenhang etwas verlieren. Vielleicht fragst du das, in deinem schon offenen Thread...sry Threads (gibt ja schon 2 über dein Vorhaben).


Zuletzt bearbeitet am 01-09-2017, 13:36, insgesamt 3-mal bearbeitet.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden   Fahrzeuge des Benutzers ansehen
postmann
CAN-Profi
CAN-Profi


CAN Hacker seit: 23.05.2013
Beiträge: 117
Karma: +37 / -0   Danke, gefällt mir!


CAN Support

Beitrag01-09-2017, 17:29    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

Wenn du an deinem Radio die Variante "BENZ(Smart)" einstellen kannst, ist es entweder für ein smart Forfour, da der die selben Audiokomponenten hat, wie die A-Klasse bzw. B-Klasse, oder für einen 453 (dann müsste es aber richtigerweise "Renault (smart)" heisen).

Für das "alte" CityCoupe bzw. Roadster gibt es keinen CAN am Radio, die wurden analog Versorgt und gesteuert.
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden  
Metaln00b
Hacker
Hacker


CAN Hacker seit: 08.08.2017
Beiträge: 28
Karma: +7 / -0   Danke, gefällt mir!

2003 Smart CDI
CAN Support

Beitrag03-09-2017, 15:38    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

Problem gelöst.

Wenn man 2 Controller miteinander verbindet muss an einem MCP2515 J1 gebrückt werden, um den CAN-Bus zu terminieren.

LG
Nach oben CAN Hacker - Profil anzeigen Private Nachricht senden   Fahrzeuge des Benutzers ansehen
alex
Gast




 


Kostenloser Account, kein CAN Entwicklungs-Support

Beitrag03-09-2017, 16:34    Titel: CAN-Bus auswerten mit MCP2515 und RaspberryPi Antworten mit Zitat

Wenn es nur die zwei sind glaube an jedem, 120 Ohm Terminierung an jedem Busende.

Aber einer reicht wahrscheinlich, ohne sind die Transceiver wahrscheinlich so hochohmig, dass wenn sie den Bus auf dominant getrieben haben, der gar nicht auf rezessiv zurückkommt wenn sie dann abschalten.


Zuletzt bearbeitet am 03-09-2017, 17:16, insgesamt 1-mal bearbeitet.
Nach oben
Neues Thema beginnen Auf Beitrag antworten Weitergeben, Thema teilen Lesezeichen setzen Druckansicht CANhack.de - Übersicht » Mikrocontroller und Elektronik: Programmierung
Ähnliche Fachartikel und Themen
Thema Community Bereich
Keine neuen Beiträge Can-Bus Botschaft auswerten CAN-Bus Allgemein
Keine neuen Beiträge CAN Signale mit PC auswerten im E90 CAN-Bus Allgemein
Keine neuen Beiträge CANopen Daten auswerten Mikrocontroller und Elektronik: Programmierung
Keine neuen Beiträge CAN-Botschaft auswerten Audi A5 mit Mirocontroller Mikrocontroller und Elektronik: Programmierung
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst Deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst Deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum herunterladen.