Hallo allerseits, kennt jemand eine Möglichkeit USB HID Daten an den CAN Bus zu senden? Hintergrund: Von einem Gerät werden Daten gesendet. Das Gerät erscheint im PC als USB HID device. Das funktioniert auch ganz prima (Windows). Nun möchte ich einige Daten aber auf dem CAN Bus senden. Leider hab ich von Can wenig Ahnung und es gibt wohl auch nichts fertiges. Wie würdet ihr da heran gehen?
Schließe einen USB-CAN-Adapter an den PC an (z.B. von Vector oder PeakCan) und schreibe eine Software welche die Daten vom HID-Gerät zum CAN umleitet.
Dr. Sommer schrieb: > Schließe einen USB-CAN-Adapter an den PC an (z.B. von Vector oder > PeakCan) und schreibe eine Software welche die Daten vom HID-Gerät zum > CAN umleitet. Danke für die Antwort, es soll aber ohne PC funzen. Sorry das hab ich vergessen zu schreiben.
Dr. Sommer schrieb: > Dann eben das gleiche Spiel mit einem Raspberry-PI o.ä. Guter Tip, hab aber mit dem Raspi noch nie was gemacht. Gibt es da USB HID (host) und CAN?
CanCan schrieb: > Guter Tip, hab aber mit dem Raspi noch nie was gemacht. Gibt es da USB > HID (host) und Ja. CanCan schrieb: > und CAN? Nicht direkt. Du brauchst immer noch einen CAN-Adapter. Es gibt aber bestimmt ähnliche Boards welche CAN eingebaut haben, da darfst du selber mal nach suchen. Die TI Sitara Prozessoren haben CAN und USB-Host integriert, bei Boards die das nutzen (z.B. Beaglebone Black) könnte das gehen.
Suche dir einen STM32F-Controller auf einem EVA-Board mit USB & CAN heraus.
Dr. Sommer schrieb: > Nicht direkt. Du brauchst immer noch einen CAN-Adapter. Es gibt aber > bestimmt ähnliche Boards welche CAN eingebaut haben, da darfst du selber > mal nach suchen. Suche ich gern, noch eine Frage: Wie sieht es mit der CAN Software aus. Bei USB gibt es ja libs (und es ist wohl sehr komplex). Gibt es das auch für CAN oder kann man das selbst machen?
Herby schrieb: > Suche dir einen STM32F-Controller auf einem EVA-Board mit USB & CAN > heraus. Warum gerade den und nicht den Raspi?
Herby schrieb: > Suche dir einen STM32F-Controller auf einem EVA-Board mit USB & CAN > heraus. Aber aufpassen dass USB und CAN bei dem Controller gleichzeitig nutzbar sind. Die benötigte USB-Host-Implementation ist sehr komplex. CanCan schrieb: > Gibt es das auch für CAN oder kann man das selbst machen? Es sollte Linux-Treiber dafür geben, kann man aber auch selbst machen; hängt vom verwendeten Prozessor ab. CAN ist ja nicht so kompliziert.
Dr. Sommer schrieb: > CAN ist ja nicht so kompliziert. Danke nochmal für die Antworten. Wie läuft das bei CAN in der Praxis. Es gibt ja jede Menge Geräte. Wie "verstehen" die was ich ihnen sende?
CanCan schrieb: > Wie läuft das bei CAN in der Praxis. Es gibt ja jede Menge Geräte. > Wie "verstehen" die was ich ihnen sende? Du musst in deren Datasheet nachlesen, was du ihnen senden musst. Ggf. wird ein High-Level-Protokoll wie CANopen benutzt. Lies dich erstmal zu CAN ein, die Grundlagen sind nicht schwierig. Aber so Plug&Play wie USB ist das nicht, man muss schon wissen was man tut.
Dr. Sommer schrieb: > Lies dich erstmal zu CAN ein, die Grundlagen sind nicht schwierig. Hab ich schon gemacht, ist mir auch klar wie es von der Hardware funzt. Auf der Datenebene steht da aber immer ID / Daten Wenn ich das richtig verstehe bekommt der Empfänger Daten und weiß über die ID was gemeint ist (z.B. Drehzahl, Reifendruck Innenbeleuchtung an). Was und wie es da steht ist völlig frei (auch die ID) und man muss selber sehen wie das im aktuellen Umfeld konfiguriert ist. Z.b. weiß man nicht welche ID's bereits vergeben sind. Das kann man auch nicht herausfinden weil ja nicht immer alle "online" sind, man muss schlicht vorher wissen. Stimmt das so?
CanCan schrieb: > Dr. Sommer schrieb: >> Nicht direkt. Du brauchst immer noch einen CAN-Adapter. Es gibt aber >> bestimmt ähnliche Boards welche CAN eingebaut haben, da darfst du selber >> mal nach suchen. > > Suche ich gern, noch eine Frage: > > Wie sieht es mit der CAN Software aus. Bei USB gibt es ja libs (und es > ist wohl sehr komplex). > > Gibt es das auch für CAN oder kann man das selbst machen? Es gibt keinen HID-over-CAN-Standard oder so. Du musst dir also selber überlegen, wie du die Informationen auf den CAN legst. Das kommt letztenlich ja auch darauf an, was die Gegenstelle erwartet. CanCan schrieb: > Herby schrieb: >> Suche dir einen STM32F-Controller auf einem EVA-Board mit USB & CAN >> heraus. > > Warum gerade den und nicht den Raspi? Ohne Betriebssystem, muss daher nicht booten und nicht heruntergefahren werden.
Ja so ist es. Du musst wissen welche Geräte am CAN-Bus hängen, welche ID's die senden/empfangen und wie die Formate sind. Eine entsprechende Übersicht über alle Nachrichten eines Netzes nennt sich Kommunikations-Matrix oder CAN-Matrix. Ein übliches Format dafür ist Vector DBC. Ohne die Matrix musst du die Format erst aufwendig erraten/reverse engineeren.
Dr. Sommer schrieb: > Du musst wissen welche Geräte am CAN-Bus hängen, welche > ID's die senden/empfangen und wie die Formate sind. Danke für die Antwort, ist also so wie bei TCP/IP mit festen IP adressen (ohne DHCP). > Eine entsprechende > Übersicht über alle Nachrichten eines Netzes nennt sich > Kommunikations-Matrix oder CAN-Matrix. Wird das händisch erzeugt bzw. "by human definition"? > Ein übliches Format dafür ist > Vector DBC. Ohne die Matrix musst du die Format erst aufwendig > erraten/reverse engineeren. Wenn ich das richtig lese ist das eine Datenbank die zwischen den Entwicklern ausgetauscht wird, nicht zwischen den Geräten. Rolf M. schrieb: > Ohne Betriebssystem, muss daher nicht booten und nicht heruntergefahren > werden. Danke für die Info.
CanCan schrieb: > Wird das händisch erzeugt bzw. "by human definition"? Ja. Höchstens automatisch kombiniert. CanCan schrieb: > Wenn ich das richtig lese ist das eine Datenbank die zwischen den > Entwicklern ausgetauscht wird, nicht zwischen den Geräten. Ja. Wie gesagt, kein Plug and Play
Dr. Sommer schrieb: > Ja. Wie gesagt, kein Plug and Play Jetzt kapier ich's, vielen Dank für die Info
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.