Hallo Community, ich bin auf der Suche nach einem kleinen Board, welches z.B. an einem Raspberry PI oder Arduino (wichtig Mini PC) angeschlossen werden kann und nach Möglichkeit folgende Busse unterstützt (für Fahrzeugdiagnose) : HighSpeed CAN ISO 9141 J 1850 PWM/VPW Low Speed CAN GM LAN Das Board sollte nach Möglichkeit die OBD II Grundfunktionalitäten bzw. CAN unterstützen. Im Netz habe ich schon einige Möglichkeiten gefunden. Allerdings werden da nicht alle Busse unterstützt bzw. bin ich mir nicht ganz sicher, ob diese Boards etwas taugen. Unter anderem habe ich folgende Boards gefunden: - http://www.carberry.it/en/p/347/Carberry/ - http://skpang.co.uk/catalog/pican-canbus-board-for-raspberry-pi-p-1196.html - http://www.linux-magazin.de/NEWS/Adapterboard-bringt-Gnublin-Module-an-den-Raspberry-Pi - http://shop.embedded-projects.net/embedded-projects-gmbh/gnublin-module-gnupi-fuer-raspberrypi.html - http://www.mhs-elektronik.de/index.php?news=4957&l=1 Habt ihr Erfahrungen mit diesen Boards bzw. gibt es Alternativen, die Ihr empfehlen könnt? Gibt es auch eine Möglichkeit sich solche HArdware selbst zusammen zu bauen?
Klar kann man sich die Hardware selbst bauen. Nur mit der physischen Anbindung an den jeweiligen Bus ist es ja nicht getan. Die darüber liegenden Protokolle musst du ja auch kennen, sonst nützt dir das ja alles nix. Was genau hast du denn vor? Soll das eine eierlegende Wollmilchsau werden, die in jedem Fahrzeug funktionieren soll?
Das kann man fast so sagen :-) Die gängigen Transportprotokolle sind mir soweit bekannt, jedoch müssten die nicht unbedingt mit dabei sein. Mir würde es pronzipiell reichen, wenn alle OBDII Protokolle unterstützt werden würde. Bei J1850 könnte ich da noch eine Ausnahme machen. Auf dem Markt gibt es ja das ein oder andere Tool, aber die sind natürlich sehr teuer. Hast du da eine Idee, wie man da ggfs. was zusammenbauen kann? Hab zwar Informationstechnik studiert und auch ein wenig Erfahrung in Elektrotechnik, aber an so etwas habe ich mich bisher noch nie heran gewagt.
Ich kann nicht oft genug wiederholen: Der RPi ist im Grunde ein Grafikprozessor, an dem durch einige Klimmzüge Ethernet angeflanscht wurde. CAN muss extern z.B. über SPI angebunden werden. Da funkt dann z.B. der FIQ für den USB-Ethernet 8000 mal in der Sekunde dazwischen. Ein Beaglebone hat zwei integrierte CAN Interfaces, zig I2C, UART und PWM Kanäle. Und wem das noch nicht reicht nimmt man die integrierten PRUSS (2x 200MHz Realtime Kerne), um noch andere Protokolle abbilden zu können. Damit könnte man dann zB. die OBDII Protokolle abseits von CAN abbilden. Wenn man es besonders preiswert haben will, kann man natürlich auch den STN11100 verwenden, der die OBDII Protokolle beherscht. Hat aber den Nachteil, das man der Qualität der Firmware auf Gedeih und Verderb ausgeliefert ist.
:
Bearbeitet durch User
Hallo, vielen Dank für die Hilfe. Auf das Beaglobone bin ich schon mal gestoßen, habe es dann mehr oder weniger verworfen, da dies nicht (zumindest gefühlt) so bekannt wie das Raspberry PI ist und es für das RPI mehr Informationen im Internet zu finden gibt. Gibt es dazu auch Tutorials wie man auf auf dem CAN-Bus Daten versenden und empfangen kann? P.S: Wenn ich deine Info schon irgendwo gelesen, dann hätte ich hier nicht so dumm fragen müssen :-)
Der Banana Pi ist deutlich performanter als der Raspberry, kostet etwa das gleiche und hat einen CAN Controller on Board. Treiber unter Linux scheinen vorhanden. Hier ein bisschen Info: http://forum-bananapi.de/Thread-CAN-Bus-Controller-Area-Network Bzgl. der OBDII Protokolle wird man mal schauen muüssen. Gerhard
Hallo Marko Marko Kochendörfer schrieb: > Hallo, > > vielen Dank für die Hilfe. Auf das Beaglobone bin ich schon mal > gestoßen, habe es dann mehr oder weniger verworfen, da dies nicht > (zumindest gefühlt) so bekannt wie das Raspberry PI ist und es für das > RPI mehr Informationen im Internet zu finden gibt. Stimmt, das BBB ist nicht so bekannt. Ich habe mich mit beiden Boards beschäftigt: Die Anzahl der RPi User ist riesig, aber das Know-How der BBB Nutzer ist wesentlich besser. > > Gibt es dazu auch Tutorials wie man auf auf dem CAN-Bus Daten versenden > und empfangen kann? Das Interface kann man auch einfach auf einem Stück Locchraster- Platine selbst machen (Seite 2): https://github.com/CircuitCo/BeagleBone-CANBus-RevA1/blob/master/BeagleBone-CANBus-RevA1-schematic.pdf?raw=true Der Linux Kernel untestützt das BBB CAN-Interface mit SocketCAN: https://de.wikipedia.org/wiki/SocketCAN http://www.koervernet.de/elektronik/beagle-bone-black http://lnxpps.de/openwrt/wr841/can2eth.c Das gute an SocketCAN: Portierbarkeit. > > P.S: Wenn ich deine Info schon irgendwo gelesen, dann hätte ich hier > nicht so dumm fragen müssen :-) Siehe auch: http://fabiobaltieri.com/2013/07/23/hacking-into-a-vehicle-can-bus-toyothack-and-socketcan/ Zum BananaPI: Auch interessant nur schafft es Allwinner mit seiner beschränkten Informationspolitik Kernel Entwickler zu vergraulen. IMHO gibt es nur einen can4linux Treiber; SocketCAN habe ich auch gesehen aber Nutzer sind sehr rar ..
:
Bearbeitet durch User
Marko Kochendörfer schrieb: > vielen Dank für die Hilfe. Auf das Beaglobone bin ich schon mal > gestoßen, habe es dann mehr oder weniger verworfen, da dies nicht > (zumindest gefühlt) so bekannt wie das Raspberry PI ist und es für das > RPI mehr Informationen im Internet zu finden gibt. Dabei gibt es das Beagleboard und seinen Nachfolger Beaglebone schon viel länger als den Raspberry. Der war als billiger Abklatsch für Schulungs- und Ausbildungszwecke konzipiert. Daher wurde alles weggelassen, was man irgendwie weglassen konnte. Hauptsache billig, billig, billig, ...
Hallo, erst mal Danke für die zahlreichen Rückmeldungen. Ich habe mich beim Beaglebone noch mal ein weiter eingelesen. Der BBB enthält ein CAN-Bus Interface, welches noch mit einem CAN-Transceiver bestückt werden muss, ist dies so korrekt? Welchen Transceiver würdet ihr da empfehlen und gibt es auch welche, die weitere Busse (z.B. K-Line ISO 9142) unterstützen und dort verwendet werden können? Ist dort viel "Lötarbeit" notwendig oder können diese Transceiver gesteckt werden?
Für Highspeed-CAN setzt man heutzutage einen TJA1051 (TJA1050) ein, oder mit weckfähigem Standby einen TJA1055 (TJA1054). Wenn Du noch einen PCA82C250 rumliegen hast, kannst Du den natürlich auch verwenden, oder besser einem Technologiemuseum spenden. Für K-Line ISO 9142 und LIN kannst Du z.B. den TLE7259, TJA1021 oder ATA6663 einsetzen. Prozessorseitig ist ein UART erforderlich, so wie für RS-232 oder -485.
Der TJA1055 ist ein Fault Tolerant CAN-Transceiver, kein High Speed. Aber wie schon genannt, Transceiver kann man von den ganzen "üblichen Verdächtigen" NXP, Infineon, Atmel, Texas Instruments, ON Semi, Microchip, STM nehmen. In den entsprechenden Application Notes finden sich auch Angaben zur Beschaltung. So recht ist mir aber noch immer noch nicht klar, was du genau machen willst. Du hast was von Mini-PC erwähnt. Soll es ein CAR-PC werden, der OBD-Daten ausliest? Dann wären ja Raspberry, Beaglebone und co. als "Schnittstelle" völlig overpowert. Und sollen es nur die standardisiersten abgasrelevanten OBDII Daten sein? Nix Herstellerspezifisches? Dann würde sich ja - wie bereits erwähnt - der STN1110 anbieten. Oder ein ELM327. Da braucht man sich um die Protokolle nicht mehr kümmern. Mit Transportprotokollen ala ISOTP oder VW TP2.0 ist es ja nicht getan, das OSI-Modell hat ja noch ein paar mehr Ebenen.
Jens E. schrieb: > Der TJA1055 ist ein Fault Tolerant CAN-Transceiver, kein High Speed. Richtig, das war Bullshit. TJA1042 meinte ich, bzw dessen aktuelle Nachfolger.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.