Hallo liebes Forum, ich hoffe die Stelle hier ist richtig, wusste nicht ob es eher zu uC oder PC-Programmierung passt. Nun zu meiner Frage. Ich habe gerade angefangen mich mit node red (konkret stm32cubeMonitor) zu beschäftigen. Nun kommt mir die Frage ob ich irgendwie den vorhandenen PEAK pcan Dongle mit einbinden kann. Wichtig ist das ich (leider) Windows verwende, die Lösungen welche ich spontan gefunden habe basieren allerdings auf socketcan welches nur unter Linux verfügbar zu sein scheint. Falls jemand einen Tipp hat wäre ich sehr Dankbar. LG
Wir haben für bestimmte Fahrzeuge auch Dongle von Peak. Ob die für STM funktionieren, weiß ich nicht, aber unter Windows läuft das.
Den stm32CubeMonitor steckt man doch per st-link an die Ziel-CPU. Was hilft einem da ein CAN-USB Adapter ?
Ulf L. schrieb: > Den stm32CubeMonitor steckt man doch per st-link an die Ziel-CPU. > Was > hilft einem da ein CAN-USB Adapter ? das ist eine von vielen Möglichkeiten, es geht ja auch z.B. serielle Schnittellen, UDP etc. Und wenn ich Analysen durchführen möchte kann es schon praktisch sein den CANBUS mit eingebunden zu haben.
Eventuell kommst du mit einem anderen CANUSB-Adapter schneller zum Ziel. Sowas wie https://www.fischl.de/usbtin/ o.ä. Der Vorteil ist das slcan-Protokoll. Das ist einfachstes ASCII über serielle Schnittstellen. Damit lässt sich viel einfacher etwas portables bauen. Bei nodejs reicht das Modul "serialport" (oder so ähnlich) und läuft damit unter Linux/Windows und OSX identisch. Selbst unter Linux gibt es im Packet "can-utils" ein slcanpty-Program was socket can auf slcan transferiert. Die umgekehrte Richtung (von einem slcan-Adapter wie usbtin zu socketcan) gibt es mit slcand auch. Auf dem Raspi werden häufig (oder fast ausschließlich) Erweiterungsplatinen mit MCP2515 verwendet die auch socketcan sprechen. Mit slcand macht man daraus dann auch einen slcan-Adapter der sich ueber die serielle Schnittstelle ansprechen lässt. Irgendwie haben die bei CAN alle den Schuss nicht gehört. Jeder macht seinen eigenen Brei mit eigenen Treibern und eigenen APIs. Traurig das bisher immer noch kein allgemeingültiger Standard existiert. Und nein, socketcan kann's auch nicht sein solange Windows aussen vor bleibt.
Du kannst native Erweiterungen für node.js schreiben. Damit kannst du einen Adapter zwischen node.js und den Peak-CAN API's (die kommen als DLL) in C/C++ bauen. Ich würde dazu raten das "PCAN-Developer 4" zu nutzen, welches flexibler und besser ist als das normale API (PCAN-Basic). Beide APIs sind aber ziemlich skurril strukturiert, feinste deutsche Software-Qualität.
Programmierer schrieb: > Du kannst native Erweiterungen für node.js schreiben Naja, er wollte einfach in nodejs ein paar CAN-Messages empfangen/senden. Wenn er dazu erst ein natives c/c++ Modul schreiben muss, passt wohl was nicht. Das sollte wenn dann eine Aufgabe für den Hersteller des Adapters sein. Schließlich verlangen die dafür auch Geld. Und nodejs ist ja nun kein Exot.
Nachtrag: ich dachte du hast selbst schon gesucht: https://www.npmjs.com/package/@csllc/cs-pcan-usb war das zu schwer zu finden?
temp schrieb: > Nachtrag: > > ich dachte du hast selbst schon gesucht: > > https://www.npmjs.com/package/@csllc/cs-pcan-usb > > war das zu schwer zu finden? oh ok, Vielen Dank, ich hatte immer in Kombination mit node red gesucht, ich hatte da node.js garnicht auf dem Schirm, ich muss auch mal sehen wie das zusammen hängt. Bisher kante ich nur das installieren über das Programm -> "Paletten Verwalten".
n00b schrieb: > Vielen Dank, ich hatte immer in Kombination mit node red gesucht, ich > hatte da node.js garnicht auf dem Schirm, ich muss auch mal sehen wie > das zusammen hängt. > > Bisher kante ich nur das installieren über das Programm -> "Paletten > Verwalten". Vereinfacht gesagt: Wenn es für eine bestimmte gewünschte Funktionalität noch keine fertigen Komponenten/Nodes gibt, die Du in Node Red über die "Palette verwalten"-Funktion suchen und hinzufügen kannst, dann kannst derartigen Komponenten/Nodes halt auch selbst programmieren. Und zwar in Node.js bzw. Javascript, denn Node Red ist halt in Node.js bzw. Javascript implementiert. Da es in diesem Fall ja offenbar bereits eine fertige Library für Node.js gibt, die Du nutzen kannst, musst Du im Grunde nur eine Art kleinen Wrapper für diese Library bauen, um sie mit Node Red nutzen zu können. Auf der Webseite von Node Red gibt's ein gutes Tutorial, wie man seine eigenen Nodes bzw. Komponenten entwickelt: https://nodered.org/docs/creating-nodes/
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.