cbus:socketcan-de
Differences
This shows you the differences between two versions of the page.
| — | cbus:socketcan-de [2024/04/10 00:40] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== SocketCAN ====== | ||
| + | [[: | ||
| + | [[: | ||
| + | [[: | ||
| + | * [[: | ||
| + | * [[: | ||
| + | |||
| + | \\ | ||
| + | |||
| + | // | ||
| + | |||
| + | \\ | ||
| + | =====Einführung===== | ||
| + | Die __**[[: | ||
| + | SocketCAN ist nur verfügbar, wenn der Rocrail-Server auf demselben Raspberry Pi mit dem PiCAN läuft.\\ | ||
| + | Die Kommunication mit RCAN**((Unterstützt auch CBUS))** ist direkt und binär; Keine bidirektionale Konvertierung im //" | ||
| + | Die 12VDC-Stromversorgung für angeschlossene CANGC*-Baugruppen kann mit einem __**[[: | ||
| + | |||
| + | \\ | ||
| + | |||
| + | =====Documentation===== | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Pi01CAN-Schnittstelle ===== | ||
| + | * __**[[: | ||
| + | |||
| + | [[https:// | ||
| + | //Die I2C-Bauteile können entfallen, falls der RocNet-Anschluss nicht benötigt wird. (Einfach eine Bemerkung schreiben, wenn bei GCA bestellt wird.)//\\ | ||
| + | \\ | ||
| + | |||
| + | =====Raspi Einstellung===== | ||
| + | |||
| + | ====config.txt==== | ||
| + | Folgende Datei als Super-User - sudo - mit einem Text-Editor eigener Wahl editieren: | ||
| + | **/ | ||
| + | < | ||
| + | Die Kommentierung '#' | ||
| + | //vor Änderung// | ||
| + | < | ||
| + | # | ||
| + | </ | ||
| + | //nach Änderung// | ||
| + | < | ||
| + | dtparam=spi=on | ||
| + | </ | ||
| + | < | ||
| + | dtparam=spi=on | ||
| + | ; add | ||
| + | dtoverlay=mcp2515-can0, | ||
| + | dtoverlay=spi-bcm2835-overlay | ||
| + | </ | ||
| + | ====Neustart==== | ||
| + | < | ||
| + | sudo shutdown -r now | ||
| + | </ | ||
| + | ====Schnittstellen==== | ||
| + | Folgende Datei als Super-User - sudo - mit einem Text-Editor eigener Wahl editieren: | ||
| + | **/ | ||
| + | Die folgenden Zeilen am Ende der Datei hinzufügen: | ||
| + | < | ||
| + | # CAN Interface | ||
| + | auto can0 | ||
| + | iface can0 inet manual | ||
| + | pre-up /sbin/ip link set $IFACE type can bitrate 125000 restart-ms 100 | ||
| + | up / | ||
| + | down / | ||
| + | </ | ||
| + | |||
| + | :!: **Hinweis: | ||
| + | |||
| + | ====Prüfen==== | ||
| + | < | ||
| + | dmesg | egrep -i " | ||
| + | [ 3.998382] CAN device driver interface | ||
| + | [ 4.051102] mcp251x spi0.0 can0: MCP2515 successfully initialized. | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | ===== Rocrail Einstellung ===== | ||
| + | {{: | ||
| + | * Sub-Bibliothek **SocketCAN** auswählen | ||
| + | * Hostname(Gerätename) auf **can0** (Wenn nicht gesetzt: " | ||
| + | |||
| + | ====Gerätenamen prüfen==== | ||
| + | Gerätenamen mit dem Befehl **ifconfig** auf dem Raspberry Pi prüfen: | ||
| + | < | ||
| + | pi@keltenbahn: | ||
| + | can0: flags=193< | ||
| + | unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 | ||
| + | RX packets 0 bytes 0 (0.0 B) | ||
| + | RX errors 0 dropped 0 overruns 0 frame 0 | ||
| + | TX packets 0 bytes 0 (0.0 B) | ||
| + | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ===== CANService ===== | ||
| + | Alternativ zum Betrieb von Rocrail auf dem Raspberry Pi ist es auch möglich, den __**[[: | ||
| + | Er verhält sich wie ein GC1e.\\ | ||
| + | \\ | ||
| + | ===== Alternative CAN-Platine ===== | ||
| + | Dieses kostengünstige // | ||
| + | {{: | ||
| + | Das Raspberry __[[# | ||
| + | < | ||
| + | oscillator=8000000 | ||
| + | </ | ||
| + | Auf der Platine überprüfen, | ||
| + | {{: | ||
| + | Dieses Beispiel zeigt 8000 kHz -> 8000000 Hz\\ | ||
| + | Für CAN-Geschwindigkeiten über 125 kHz wird empfohlen, diesen Quarz durch einen [[https:// | ||
| + | \\ | ||
| + | |< >| | ||
| + | | Verdrahtung | ||
| + | ^ Shield ^ Rpi ^ Rpi Stif-Nummer(n) ^ Bemerkung ^ | ||
| + | | VCC | 5V | 2, 4 | mit 3,3 V kann es empgange, kann aber keine CAN-Pakete senden. | | ||
| + | | GND | Masse (Ground) | 6, 9, 20, 25, 30, 34, 39 | | ||
| + | | CS | GPIO 8 (CE0) | 24 | | ||
| + | | SO | GPIO 9 (MISO) | 21 | | ||
| + | | SI | GPIO 10 (MOSI) | 19 | | ||
| + | | SCK | GPIO 11 (SCLK) | 23 | | ||
| + | | INT | GPIO 25 | 22 | | ||
| + | |||
| + | **Hinweis: | ||
| + | * Diese Platine ist __nicht isoliert__. (ISO1050) | ||
| + | * Am Schraubanschluss fehlt eine Masseanschluss und es wird __dringend empfohlen, die Masse des CAN-Kabels mit dem GND-Stift dieser Platine zu verbinden__, | ||
| + | |||
| + | |||