CAN-Card: Visitenkarte wird zur Schnittstelle

|

dissecto CAN Card

Die weltweit erste Visitenkarte, die gleichzeitig ein CAN-Interface ist!

Die dissecto CAN-Card basiert auf dem CandleLight Projekt und ist Open Source und Open Hardware. Die Hardware basiert auf den CandleLight-Schaltplänen von Hubert Denkmair. Sie ist kompatibel mit den meisten Geschwister Schneider USB/CAN-Treibern, einschließlich des gs_usb Python-Moduls und unseres gsusb Web-Interface.

Hardware

Um den Formfaktor dünn und die Kosten niedrig zu halten, wurde auf physische Anschlüsse an der CAN-Card verzichtet. Es ist möglich, die CAN-Card zu verwenden, ohne ein zusätzliches Bauteil zu löten. Stattdessen werden nur ein Paar Drähte für den CAN-Anschluss verwendet. Die untere linke Ecke der Platine kann in die meisten USB-A-Buchsen eingesteckt werden, sofern an den Seiten genügend Platz vorhanden ist. Alternativ kann ein USB-A-Verlängerungskabel verwendet werden.

Die Seite mit den Komponenten ist normalerweise nach oben gerichtet. Wenn die Ausrichtung richtig ist und die Karte richtig steckt, sollten die roten LEDs auf der Platine aufleuchten.

Um die Karte an einen CAN-Bus anzuschließen, ohne einen Draht löten zu müssen, können Sie einen Kupferdraht zwischen den beiden Lochpaaren CANH und CANL durchfädeln.

CAN-Terminierung

Die CAN-Schnittstelle auf der CAN-Card ist standardmäßig nicht terminiert. Die CAN-Card enthält jedoch einen 120-Ω-Abschlusswiderstand, der durch das Hinzufügen eines Lötklumpens auf der durch die TERM-Kennung gekennzeichneten Jumper angeschlossen werden kann.

Hinzufügen von festen Anschlüssen

Wenn Sie geschickt im Umgang mit einem Lötkolben sind, können Sie die fehlenden Anschlüsse anbringen, um die Verbindung stabiler zu machen.

Als DSUB 9 CAN-Connector wird der Wurth Elektronik618009231321/618009231421 oder der Amphenol ICCLD09P33E4GV00LF/LD09S33E4GV00LF empfohlen. Als USB-Stecker wird der koreanische Hroparts Elec TYPE-C-31-M-12 oder der Phoenix Contact 1332645 empfohlen.


Verwendung in Python

Mit der Programmiersprache Python und dem Modul gs_usb können Sie Skripte schreiben, um Aufgaben mit Ihrer CAN-Card zu automatisieren.

Windows-spezifische Installation

Unter Windows müssen Sie die libusb DLL installieren, die Sie auf der libusb github releases Seite finden können. Extrahieren Sie nur die Datei libusb-1.0.XX-binaries.7z\libusb-1.0.XX-binaries\VS2015-x64\dll\libusb-1.0.dll und legen Sie sie in den Python-Installationspfad.

Wenn Sie Python aus dem Microsoft Store installiert haben, geben Sie libusb-1.0.dll in %AppData%\..\Local\Microsoft\WindowsApps ein. Wenn Sie Python auf eine andere Weise installiert haben, setzen Sie libusb-1.0.dll neben die ausführbare Datei python.exe.

gs_usb Installation

Wenn python 3 auf Ihrem System installiert ist, können Sie pip verwenden, um die erforderlichen python-Module zu installieren:

python -m pip install gs_usb python-can[gs_usb] libusb

Weitere Informationen zur Verwendung und Installation finden Sie in der README-Datei von gs_usb. Alternativ können Sie Ihre dissecto CAN-Card auch mit dem python-can Modul verwenden, welches Ihnen sogar erlaubt, CandleLight Geräte innerhalb von scapy zu verwenden.


Verwendung unter Linux

Obwohl Sie die Python-Module gs_usb und python-can auch unter Linux verwenden können, erzielen Sie eine bessere Leistung, wenn Sie den SocketCAN-Kernel-Treiber verwenden.

Verwenden Sie den Befehl modprobe can, um das CAN-Kernelmodul zu laden, falls es noch nicht geladen ist, und installieren Sie das Paket can-utils, um Zugriff auf Tools wie candump und cansend zu erhalten.

Details zu SocketCAN finden Sie auf der SocketCAN Seite der dissecto Knowledge Base


Fehlerbehebung

Treiberinstallation unter Windows

Windows enthält bereits den WinUSB USB-Treiber, der für die Arbeit mit Geschwister Schneider USB/CAN-Geräten wie der dissecto CAN-Card notwendig ist. Manchmal kann jedoch eine andere Software diesen Treiber ersetzen oder deinstallieren. Befolgen Sie die folgenden Anweisungen, um sicherzustellen, dass der WinUSB-Treiber verwendet wird.

Sie können Zadig verwenden, um den WinUSB-Treiber zu installieren

Wählen Sie in Zadig “Options” und dann “List All Devices”.

Vergewissern Sie sich, dass die Schnittstelle “USB to CAN adapter” den WinUSB-Treiber verwendet.

Sie können nun testen, ob das Gerät auf unserer gsusb-Weboberfläche korrekt erkannt wird.

Schematische Darstellung