einbinden von PEAK pcan in node red möglich?

Gast #7176886
Lesenswert?
• ▲
▼
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
Gast #7177098
Lesenswert?
• ▲
▼
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.
Gast #7177270
Lesenswert?
• ▲
▼
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.
Gast #7177284
Lesenswert?
• ▲
▼
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.
Gast #7177309
Lesenswert?
• ▲
▼
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.
Gast #7178053
Lesenswert?
• ▲
▼
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".
Gast #7178155
Lesenswert?
• ▲
▼
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/

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.