RPi an CAN-Bus im Auto

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute,
    ich bin neu hier und möchte mich jetzt auch mal mit dem Thema beschäftigen. Mein Raspberry ist momentan in Lieferung, bin also erstmal nur theoretisch dabei. Ich habe folgende Idee die ich umsetzen will, brauche aber dazu ein paar Einsteigertipps von euch. Das große Ziel lautet wiefolgt:

    Das RPi soll als "Auslesegerät" für diverse Informationen in einem Kfz dienen. Die Informationen sollen aus einem bestimmten Steuergerät des Kfz geholt werden. Das heißt ich muss den RPi mit dem CAN-Bus eines Fahreuges kommunizieren lassen (geht erstmal nur um Kfz mit CAN-Bus).
    Dazu habe ich mich schon im Internet informiert, habe bereits ein Modul gefunden: http://www.skpang.co.uk/catalog/pican-…-pi-p-1196.html

    Da ich momentan ganz am Anfang stehe, sind für mich folgende Punkte diskussionswürdig:

    - ist NOOBS zu empfehlen und
    - welches Betriebssystem gibt mir für mein Vorhaben die besten Vorausetzungen?
    - ist das o.g. Modul für mein Vorhaben zu gebrauchen?

    Vielen Dank für euch Hilfe, hoffentlich kann jemand etwas dazu schreiben.
    MfG Rob

    • Offizieller Beitrag

    Hi und Willkommen :)

    ich kenne mich zwar nicht genau mit dem CAN-Bus aus und schon gar nicht mit dem CAN-Bus von deinem KFZ ....aber ich glaube du Planst die falsche Seite... Welches Betriebssystem und passende Module sind (für mich) bei deinem Vorhaben das kleinere übel.
    Du solltest dich erst mal informieren über:
    1. Kannst du den CAN-Bus von deinem KFZ einfach so auslesen?
    2. Wenn ja dann - Was sind das für Daten die da hin und her fliegen? Es ist ja nicht so das du dann direkt liest: "Geschwindigkeit 52km/h; Drehzahl 3000 U/m


    Wenn das soweit klar ist kann man sich mit den Raspberry beschäftigen ;)

    - welches Betriebssystem gibt mir für mein Vorhaben die besten Vorausetzungen?
    Je nach Programmiersprache die du wählst kann es fast jedes System sein (außer es heißt RASPBMC ;))
    Wenn du Probleme bei der Installation hast kann NOOBs vielleicht weiterhelfen aber ich würde dir raten erst einmal ohne NOOBs zu starten ...

    - ist das o.g. Modul für mein Vorhaben zu gebrauchen?
    Das Modul kann eine gute Wahl sein - aber da es den kompletten GPIO Header in Beschlag nimmt obwohl nur ca. 5 Pins benötigt werden ist doch ein wenig doof aber wenn mehr nicht dran soll ist das sicherlich ok ;)

    Ich bin ein gefallener Engel namens Turael.

    Einst vor langer Zeit rebelierte ich im Himmel bis Gott mich auf die Erde verbannte.

    Doch meine taten werden kein ende finden....

  • Danke für eure Antworten! Habe leider erst gestern weiter machen können.
    Habe mir das in meinem ersten Beitrag genannten CAN-Modul bestellt und schon probiert den Kernel nach dieser Anleitung http://elinux.org/RPi_CANBus zu kompilieren. Hat auch geklappt soweit ich das einschätzen kann.

    Gibt es vielleicht soetwas wie ein Test-Programm damit ich die funktionsfähigkeit checken kann? Bei dem Link meines gekauften CAN-Boards (http://www.skpang.co.uk/catalog/pican-…-pi-p-1196.html) befindet sich ein Test-Programm, was ich leider nicht zum laufen bekomme. Nachdem ich den runtergeladenen Kernel einbinde und einen reboot mache funktioniert die tastatur nicht mehr, sodass ich hilflos bin.

    Eine weitere Frage habe ich noch zur eben genannten Anleitung zur Kernel Kompilierung..
    Im laufe der Anleitung muss man die folgenden Befehle eingeben:

    make ARCH=arm CROSS_COMPILE=arm-rpi-linux-gnueabi- oldconfig -j 3
    make ARCH=arm CROSS_COMPILE=arm-rpi-linux-gnueabi- menuconfig
    make ARCH=arm CROSS_COMPILE=arm-rpi-linux-gnueabi- -j3

    Bei mir ging es bis zur letzten dritten Zeile, dann habe ich immer Fehler bekommen. Er kennt arm-rpi-linux-gnueabi- nicht.
    Deshalb habe ich es dann mit diesen Befehlen probiert,ging auch:

    make oldconfig -j 3
    make menuconfig
    make -j3

    Könnt ihr mir sagen ob ich das so machen kann? Raspbian bootet jedenfalls mit dem neuen Kernel und spuckt keine Fehler aus.

    Vielen Dank für eure Hilfe Leute!

    Einmal editiert, zuletzt von rob.jun7 (27. September 2013 um 10:52)

  • Schau mal hier:

    http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=7027&start=284

    mit folgendem Archiv:

    http://lnxpps.de/rpie/rpi_can_3611_spi_dma.tar.xz

    Mit SKPANG bin ich bereis in Kontakt, so das die Anleitung bald angepasst wird.

    Und:
    Es stimmt, es gibt (noch) Probleme, bei hohen Bitraten mit vielen Paketen.
    Auch wenn's hier wahrscheinlich nicht gern gesehen wird:
    Nimm ein BeagleBone Black, da gibt es die Probleme nicht, da des BBB einen
    integrierten CAN-Contoller besitzt.


    Gruß

    Gerd

  • Hey Leute,
    habe es zum Laufen bekommen, bin somit jetzt auch um einige Ideen reicher.
    Antworten auf meine Frage:


    Cross Compiling brauch man beim RPi nicht machen, es reichen die Befehle:
    - make oldconfig
    - make menuconfig
    - make

    In dieser Anleitung http://elinux.org/RPi_CANBus vom Kernel kompilieren waren einige kleine Fehler.
    Falls jemand Fragen zum CAN-Bus hat kann er sie hier stellen. Habe heute das ISO-Transportprotokoll eingebunden und aus einem Airbag-Steuergerät eines Fahrzeuges diversen Daten wie Teilenummer abgefragt, funzt auch alles.
    Grüße

    Einmal editiert, zuletzt von rob.jun7 (18. Oktober 2013 um 13:02)

  • Generell werden bei CAN Bus nur Zahlencodes übertragen. Das sollte berücksichtigt werden.

    Ansonsten würde ich auch ein "günstiges" CAN Bus Kabel in der eBucht kaufen und per USB an den Pi anschließen, sofern die Parameter und Signale stimmen.

    Der Rest ist dann Programmiererei ala "Das Rad neu erfinden".

    Aber wems Spaß macht.

    Wichtig ist halt, dass nicht jede Automarke die selben CAN Bus Verfahren nutzt und bei Steuergeräten ist extremst aufzupassen, dass man nicht durch falsche Codierung den/die Airbags auslöst. Das kann während der Fahrt "nach hinten losgehen".

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Zitat


    Wichtig ist halt, dass nicht jede Automarke die selben CAN Bus Verfahren nutzt und bei Steuergeräten ist extremst aufzupassen, dass man nicht durch falsche Codierung den/die Airbags auslöst. Das kann während der Fahrt "nach hinten losgehen".

    Ich habe natürlich kein Airbag-SG im Fahrzeug angesprochen, ich habe hier eins rumliegen;-) Meine Arbeit bezieht sich auf Volkswagen Modelle, nicht auf andere Marken.
    Habe jetzt ein Programm geschrieben was mir automatisch die benötigten das aus dem SG holt und auf meinem RPi anzeigt.
    Dazu musste ich aber noch den Low-Latency-Patch und den MCP2515-Patch raufhauen..

    Einmal editiert, zuletzt von rob.jun7 (24. Oktober 2013 um 09:08)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!