User Tools

Site Tools


cbus:socketcan-de

SocketCAN

Einführung

Die Pi01CAN MCP251x Schnittstellen-Baugruppe benötigt einen Raspberry Pi 2/3/4 mit PiOS 32bit oder 64bit. 1)
SocketCAN ist nur verfügbar, wenn der Rocrail-Server auf demselben Raspberry Pi mit dem PiCAN läuft.
Die Kommunication mit RCAN2) ist direkt und binär; Keine bidirektionale Konvertierung im "MERG-Gridconnect-ASCII-Framing"3).
Die 12VDC-Stromversorgung für angeschlossene CANGC*-Baugruppen kann mit einem GCA-08 erfolgen. Siehe Anschluss-Kabel für mehr Information.


Documentation

Pi01CAN-Schnittstelle

pi01can.jpg
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:
/boot/config.txt

Die Kommentierung '#' von dieser Zeile entfernen:\\
//vor Änderung//
<code>
#dtparam=spi=on

nach Änderung

dtparam=spi=on
dtparam=spi=on
; add
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=spi-bcm2835-overlay

Neustart

sudo shutdown -r now

Schnittstellen

Folgende Datei als Super-User - sudo - mit einem Text-Editor eigener Wahl editieren:
/etc/network/interfaces
Die folgenden Zeilen am Ende der Datei hinzufügen: (Die Kommentar-Zeilen '#' sind optional.)

# CAN Interface
auto can0
iface can0 inet manual
        pre-up /sbin/ip link set $IFACE type can bitrate 125000 restart-ms 100
        up /sbin/ifconfig $IFACE up
        down /sbin/ifconfig $IFACE down

Prüfen

pi@keltenbahn:~ $ dmesg | egrep -i "can|spi" 
[    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: "can0" wird verwendet.)

Gerätenamen prüfen

Gerätenamen mit dem Befehl ifconfig auf dem Raspberry Pi prüfen:

pi@keltenbahn:~ $ ifconfig
can0: flags=193<UP,RUNNING,NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        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 CANService zu verwenden.
Er verhält sich wie ein GC1e.

cbus/socketcan-de.txt · Last modified: 2020/07/16 00:02 by rainerk