Mark7
Posts: 8
Joined: Mon Apr 06, 2015 11:09 am

Can Logger

Mon Apr 06, 2015 11:11 am

Hallo,

ich bin Anfänger und würde gerne mittels eines Raspberry Pi 2 einen Can Logger realisieren. Dazu hätte ich folgende Fragen:

- Ist die Leistung des Rasp. 2 grundsätzlich ausreichend dafür?

- Ich hab im Internet nach möglichen Can Boards gesucht, kann mir jemand eines empfehlen das gut mit dem Raspberry arbeitet? - Ich finde übrigens nur Module für den Rasp 1 B+, ich nehme an diese sind auch für den Raps 2 kompatibel?

- Ideal wäre es, zwei Can Kanäle gleichzeitig zu überwachen. Mir ist bis jetzt aber keine Idee gekommen wie man das Problem lösen könnte, da alle Pins mit einer Can Platine belegt sind?

- Ein Display sollte auch noch dran... was ist der Standard zum anschliessen? Der DSI Port oder HDMI?

- Habe bereits einige Displays gefunden, gibts auch hier Empfehlungen? Größe sollte zw. 3,5 und etwa 4 Zoll liegen. Auch über die Gehäuse mache ich mir Sorgen, da manche ohne Gehäuse kommen und wo finde ich individuelle, in denen das Display rein passt?

für jede Antwort dankbar ;)

Gruß

captain_to_slow
Posts: 13
Joined: Thu Mar 26, 2015 8:16 pm

Re: Can Logger

Mon Apr 06, 2015 9:25 pm

Hi Mark7,

ich selbst nutze den Can-Adapter von Cooking-Hacks inkl. Multiprotokol shield. Sowie einen Tiny-Can von MHS.
Hatte zwar am Anfang Probleme, wie man hier nachlesen kann: http://www.raspberrypi.org/forums/viewt ... 5&t=105499.
Aber nun geht es einwandfrei.
Probleme lagen auf meiner Seite :-)
Was willst du den genau machen? Dich in einem bestehenden CAN-Netzwerk einklinken oder über die OBD-Schnittstelle mitloggen?
Der Unterschied liegt "nur" in der Belegung der Schnittstelle des jeweiligen CAN-Adapters, wie ich selbst schmerzvoll erfahren musste.

Wenn du wirklich zwei CAN-Eingänge haben willst kannst du an einen Raspi 2 theoretisch bis zu vier Tiny-Cans anschließen.
Hast du denn auch zwei getrennte CANs? Sonst würden zwei getrennte Eingänge ja keinen Sinn machen.
Du wolltest ja "nur" einen Datenlogger machen und kein Gateway aufbauen.
Bzgl. deiner Frage der Leistung, das kommt sehr auf dein CAN-Adapter an, wenn deren Empfangspuffer groß genug ist, (Cooking Hacks und Tiny-Can haben 2 Eingangs Message Puffer und drei Sende-Puffer). Ich kann bisher keine Leistungsschwäche feststellen und verwende es als Restbussimulator.
Bzgl. Display kann ich dir leider nicht helfen, nutze keins.

Mark7
Posts: 8
Joined: Mon Apr 06, 2015 11:09 am

Re: Can Logger

Tue Apr 07, 2015 10:12 pm

Hallo captain,

hey cool danke für deine Antwort, schön dass das schonmal jemand in die Richtung gewagt hat :)


Also ursprünglich war geplant, das ich die Cans direkt abgreife, also nicht über OBD. Ist es denn über OBD einfacher?

Wenn ich es richtig Deute, ist der "Tiny-CAN I-XL" für den Raspberry Pi 2 geeignet und wird einfach über USB angeschlossen richtig?

Das ist natürlich eine super Sache, allerdings möchte ich das ganze mit einem gewissen Budget realisieren, und 2 Stück der Tiny Cans liegen dann bei 150€, das wäre wohl zuviel. Fällt dir noch eine andere Möglichkeit ein?

Zum Punkt Cooking Hacks. Für was brauchst du eine Arduino Shield Connection Bridge? edit: ah eben nochmal nachgesehen, das Board ist eig. für den Arduino und mit der Bridge kann man es mit dem Rasp nutzen - richtig?
Und könnte man 2 dieser Module über GPIO verbinden (durchschleifen) oder kommt er dann durcheinander?
Wie schaut es bei Cooking Hacks mit Software aus?

Und zu guter letzt noch das mit den Pins für den Display Anschluss. Das Problem wäre beim Tiny nicht gegeben (USB), da das Display wahrscheinlich ueber GPIO laufen wird (Touch), wenn da aber schon die Can Platine dran hängt... Komme ich dann an die benoetigten Pins fürs Display ran oder schluckt die Can Platine alle Pins?

--- da es Preislich aus das selbe hinaus geht, ist die Tiny Can Lösung nicht die ausgereiftere, oder wo sind hier welche Vor- und Nachteile?

Lieben Gruß
Mark

Multe
Posts: 4
Joined: Fri Nov 09, 2012 10:33 am

Re: Can Logger

Wed Apr 08, 2015 10:10 am

Hallo zusammen,

eine Anmerkung, die vielleicht ein wenig Offtopic ist, aber doch irgendwie zum Anwendungsfall passt.
Der CAN der OBD-II Dose ist meistens nur ein abgespeckter Diagnose CAN. Das heißt, dass dort nur die gerouteten Daten über das Gateway der Steuergeräte liegen (das sind meist nur Getriebe- und Motorsteuergerät). Ausserdem werden die Daten über Diagnoseservices gereizt und nicht wie sonst auf dem CAN üblich zyklisch gesendet.
Der Vorteil der OBD-II Dose ist, dass die Daten dort immer gleich angefordert werden können, egal welches Fahrzeug man hat.

Wenn Du Fahrzeugdaten beobachten möchtest, dann ist es sinnvoll den entsprechenden CAN direkt abzugreifen, allerdings wird es ohne entsprechende Datenbank (z.B. DBC-File) schwer überhaupt etwas raus zu lesen.
Je teuerer Dein Fahrzeug ist, desto wahrscheinlicher ist, dass dort mehr als ein CAN verbaut ist. Meistens gibt es bei hochpreisigen Modellen einen sogenannten langsamen eingestellten Komfort-CAN (Fensterheber, Sitzverstellung, Verdecksteuerung, etc.) und eine schnelleren CAN für Fahrwerk und Antriebssteuergeräte.

Gruß Malte

Mark7
Posts: 8
Joined: Mon Apr 06, 2015 11:09 am

Re: Can Logger

Wed Apr 08, 2015 1:28 pm

Danke fuer die Info Malte,

DBC Files kann ich bekommen.

Gruß

captain_to_slow
Posts: 13
Joined: Thu Mar 26, 2015 8:16 pm

Re: Can Logger

Wed Apr 08, 2015 6:39 pm

Hi Mark,

also ich versuche mal so gut es geht auf deine Fragen einzugehen:

- Zwei Can-Shields an einem Multiprotokoll-Shield könnte schwierig werden, da nur eine Schnittstelle für das Format des Can-Shield existiert. Vom ansprechen über SPI könnte es auch noch schwierigkeiten geben. Dazu also eher keine brauchbare Info dazu von mir, da so nicht im Einsatz.

- Das ist genau der Tiny-Can Adapter, welchen ich im Einsatz habe. Über USB, wie gesagt bis zu vier sollte klappen, habe ich aber auch nicht umgesetzt, sondern beides vermischt.
- Codebeispiele gibt es von Cooking Hacks wie auch von MHS-Elektronic. Die habe ich auch als Basis genommen um damit zu entwicklen.
- Bedenke bitte aber, das beide Adapter jeweils einen eigenen 120 Ohm Wiederstand mitbringen, der nur bei der alten Board-Revision des Tiny-Cans umgangen werden kann! Jetzt fragst du dich, warum das wichtig ist? Ganz einfach wenn die Wiederstände nicht stimmen kann es Salat auf dem Bus geben. Wie gesagt kann sein, muss aber nicht. Ich hatte ja in meinem Post auf einen anderen Thread verwiesen und dort hat mir ein User eine tolle Seite verlinkt, wo das erklärt wird. Ich bin so frei: http://www.microcontrol-blog.net/2012/1 ... etzwerken/
- Wenn du stark auf die Kohle schauen musst, etwas Elektronik Erfahrung hast, kannst du auch zu "Open Source" Can-Adaptern greifen. D.h. die Schaltpläne und die Bestückung sind Opensource und dann teile bestellen und basteln. Z.b. verwenden Tiny-Can und Can-Shield von Cooking Hacks beide den selben Can-Controller-Chip. :D
- Ich persönlich würde die Daten nicht an der OBD Schnittstelle abgreifen, denn da ist Mitlauschen eher nicht möglich. Du musst aktiv danach fragen. Du hast das Zielfahrzeug jetzt nicht verraten, aber viele Möglichkeiten hast du nicht, es gibt, wie Malte korrekt geschrieben hat, meist 2 Cans: einen schnellen für Motormanagment, ABS und Co., sowie einen langsameren Komfort-Can wo das Radio, Navi, Spiegel Sitzte etc. dranhängen. Wenn dein Auto aber sehr neu und hochpreisig ist, dann ist CAN von gestern, es gibt Nachfolger die höhere Datenraten hinbekommen, aber du wirst ja schon geprüft haben was dein Auto hat.
- Wenn du MultiShield und Can-Shield einsetzt bleiben viele GPIO Schnittstellen frei. Erstens kannst du alle nicht genutzten direkt auf dem MultiShield abgreifen und die GPIOs welche im Raspi 2 neu hinzugekommen sind, kannst du auch für das Display nutzen.
- Die Frage nach Software von Cooking Hacks verstehe ich vielleicht nur falsch, aber ausser die API, welche im Tutorial verwiesen wird, gibt es keine SW. Okay, mehrere Beispiel C++-Dateien. Es gibt keine Windows SW oder ähnliches, wie von MHS-Electronic.
- Also wenn du so fragst, würde ich zwei Tiny-Cans nehmen :) Einfacher.

Abseits deiner Fragen kommt mir aber eine Idee:
Falls du z.b. nur einen Logger für ein Track-Tool (Auto-Einsatz nur auf Rennstrecken) bauen willst,
das geht einfacher: Bluetooth-OBD Stecker + Bluetooth Dongle für den Raspi. Beides sehr preisgünstig und fürs OBD-Loggen reicht das alle mal aus.

Gruß der langsame.

Mark7
Posts: 8
Joined: Mon Apr 06, 2015 11:09 am

Re: Can Logger

Thu Apr 09, 2015 9:14 am

Habe gerade deine Antwort gelesen. Vielen Dank für die Mühe!! Ich werd das spaeter nochmal in Ruhe lesen und einzeln bearbeiten und ggf. noch ne Frage einwerfen :-)

Lg

Mark7
Posts: 8
Joined: Mon Apr 06, 2015 11:09 am

Re: Can Logger

Mon Apr 13, 2015 10:32 pm

So da bin ich wieder.

Habe mir alle Möglichkeiten mal gründlich durch den Kopf gehen lassen und ich denke ich werde es mit 2 einfachen und günstigeren Can Platinen machen, z.B.:

PICan:
http://skpang.co.uk/catalog/pican-canbu ... -1196.html
Gnublin:
http://wiki.gnublin.org/index.php/MCP2515_CAN
CanBerry:
http://www.industrialberry.com/canberry-v-1-1/

Einfach weil ich die Can-Rohdaten will, welche ich dann mit DBC Files abgleichen/interpretieren will. Bei der TinyCan Lösung habe ich ja bereits Software dabei und ich weis nicht ob das dann einwandfrei geht, ich die Rohdaten bekomme und ob das überhaupt nötig ist. Ist ja damit auch gleich doppelt so teuer. Ich würde dann eine eigene GUI schreiben (mit Tool Hilfe) und die übersetzten Nachrichten anzeigen.
Eine Erweiterung wäre z.B., ich lade ein Config File per USB auf den Raspi und kann damit festlegen, welche Werte das kleine Display live anzeigen lassen soll (dies geschieht zusätzlich zum loggen). Dann bräuchte ich auch nicht zwingend ein Touchdisplay, und könnte das Display per HDMI ansteuern.

Wenn ich es richtig sehe, ist der von Cooking Hacks ähnlich wie eines meiner verlinkten Platinen, aber was rechtfertigt den (doppelten) Preis?

Von meinen vorgeschlagenen ist der PiCan mein Favorit, hier habe ich bereits ein aktuellen Thread dazu gefunden:
http://www.forum-raspberrypi.de/Thread- ... spberry-pi

diesen hier gibt es auch noch, die funktionsweise ist mir aber noch nicht ganz klar?:
http://www.fischl.de/usbtin/

---
Wegen den 2 Cans gleichzeitig, würde ich einfach mal probieren 2 Module anzuschliessen.

kann es bei den verschiedenen Boards zu Unterschieden/Einschränkungen bei der Geschwindigkeit geben?
wie finde ich den meinen Boards das "Problem mit den Widerständen" und ob der Eingangspuffer groß genug ist, heraus?

Das sind so die größten Ängste mit diesen Platinen...

Was hast du denn für Code Beispiele, in wie weit haben sie dich unterstützt bzw. was wolltest du denn eigentlich realisieren?

Lg Mark

captain_to_slow
Posts: 13
Joined: Thu Mar 26, 2015 8:16 pm

Re: Can Logger

Tue Apr 14, 2015 7:58 pm

Hi Mark,

ich glaube du hattest mich nicht so ganz verstanden, oder ich habe mich falsch ausgedrückt:
- Egal ob du den TinyCan oder den Cooking Hacks Adapter nutzt, du musst dich schon um alles SW-Technisch kümmern.
C++ oder C heißt hier das Zauberwort.
- Ich sagte ja bereits, dass du mit der SW was eventuell was falsch verstanden hast. Es gibt für beide jeweils eine API, also genau genommen Beispiel Dateien, welche man als API bzw. als Basis für die Eigenentwicklung angucken kann.
- Bei allen Beispielen, welche du verlinkt hast, hast du immer den gleichen CAN Chip, welcher, auch bei den beiden von mir verwendeten Adaptern verwendet wird.
- Wegen zwei CAN-Adaptern gleichzeitig fällt der Pi-Can und der CANberry schon raus, das hätte dir aber selber schon auffallen sollen, denn du hast nur eine GPIO Leiste, da kannst du nur einen von draufstecken. Genau so wie bei dem Adapter von Cooking Hacks.
- Für den zweiten von dir verlinkten musst du auch eine extra Platine dazukaufen, den GNUBLIN ob du an diesem dann zwei der CAN-Adapter betreiben kannst, lese ich da jetzt nicht, habe aber die Seite auch nur überflogen.
- Du hast bei allen Lösungen, also die ich erwähnte und die du verlinkt hattest das Glück bzw. den Spass immer die Rohdaten zu haben. Du musst immer alles selber Programmieren. Wie du auf die Idee kommst das du z.b. beim Tinycan keine Rohdaten hättest, also die CAN-Botschaften so wie sie rüberkommen, erschließt sich mir nicht, denn weil es eine Kontroll-SW für Windows für den Tinycan gibt vermutest du auf dem Raspberry nicht alle Daten zu bekommen :?:
- Ich kann nichts zu den APIs der von der verlinkten Projekte sagen, aber traust du dir zu den Kernel selber zu ändern? 2 deiner verlinkten Projekte wollen das laut ihrer Beschreibung. Mich würde das jetzt nicht abhalten, sollte dich auch nicht, ist nicht wirklich schwer.
- Das Eingangspuffer Problem hast du bei allen nicht wirklich, den es wird ja immer der gleiche Can-Chip auf allen Platinen verwendet: MCP2515, also zwei Eingangs-Puffer und drei Sende-Puffer :)
- Bzgl. der Widerstände: Du hast bei zwei deiner Varianten Schaltpläne gegeben, prüfe ob du da irgendwo einen 120Ohm Wiederstand bei der CAN-High oder Can-Low Leitung findest.
- Die Codebeispiele die ich habe sind alle von den jeweiligen Seiten: Also die API von Cooking Hacks (ArduPi.Cpp, ArduPi.h, Can.Cpp, Can.h) sowie die verschiedensten Programmiersprachen Beispiele von MHS für den TinyCan von deren Internet Seite (Downloads-Seite)
- Ich nutze aktuell nur noch den Cooking Hacks Adapter auf dem Raspi und der TinyCan unter Windows als "Gegenstelle" zum Empfangen der Nachrichten und testen ob ich die Nachrichten richtig versendet habe und ob die Timings eingehalten wurden. Wenn die Entwicklung abgeschlossen ist werde ich den Raspi als Restbussimulator benutzen, also im Automobile-Bereich als Autoersatz für bestimmte Steuergeräte um diese fehlerfrei zu betreiben.
- wenn du nur einen Can Nutzen willst kannst du alle deiner Varianten nutzen, bei 2 CANs solltest du die jeweiligen Verkäufer einfach mal befragen, die wollen ja schließlich was verkaufen, da können Sie auch fragen beantworten. Da kannst du auch direkt die Geschichte mit dem 120 Ohm Wiederstand klären lassen.
- Bzgl. dem Preis von dem Cooking Hacks Adapter, das ist einfach, der ist wegen dem Multishield so teuer, welches für eine vielzahl von Arduinoshield gedacht ist und nicht nur für den CanShield 8-)

Ich hoffe ich konnte dir jetzt etwas helfen, ansonsten frag ruhig. Aber wirklich weiterhelfen kann ich dir nur bei dem Tinycan oder bei dem Adapter von Cooking Hacks.

Gruß der langsame.

Mark7
Posts: 8
Joined: Mon Apr 06, 2015 11:09 am

Re: Can Logger

Thu Apr 16, 2015 10:17 pm

Hi langsamer captain,

ich muss mich entschuldigen, du hattest dich eig. bereits davor verständlich ausgedrückt bezgl. der SW.
Danke für die weiteren Infos.
Habe die den Gnublin bereits bestellt, ich halte dich auf dem laufenden ... :)

Vielen Dank soweit!

Lg

captain_to_slow
Posts: 13
Joined: Thu Mar 26, 2015 8:16 pm

Re: Can Logger

Fri Apr 17, 2015 7:39 pm

Hi Mark,

der Gnublin und der CAN-Adapter von denen liest sich gut.
Berichte einfach mal wie es dir dabei ergeht,
also wenn man das sich so anschaut könnten eventuell bis zu 5 CAN Module angeschlossen werden.
Es klingt auf alle fälle interessant.

Ich wünsche dir viel Erfolg!

Gruß der langsame.

Mark7
Posts: 8
Joined: Mon Apr 06, 2015 11:09 am

Re: Can Logger

Sun Apr 19, 2015 1:40 pm

Hi captain,

Das werde ich machen, vielen Dank!

Gruß

Return to “Deutsch”