This is an old revision of the document!
Table of Contents
SocketCAN
Einführung
Die RPI-CAN MCP251x Schnittstellen-Baugruppe benötigt einen Raspberry Pi 2/3.
SocketCAN ist nur verfügbar, wenn der Rocrail-Server auf dem selben Raspberry Pi läuft, der den RPi-MCP251x trägt.
Die Kommunication mit CBUS(CAN) ist direkt und binär; Keine bidirektionale Konvertierung im "MERG-Gridconnect-ASCII-Framing"1).
Die 12VDC-Stromversorgung für angeschlossene CANGC*-Baugruppen kann mit einem GCA-08 erfolgen. Siehe Anschluss-Kabel für mehr Information.
Documentation
- https://en.wikipedia.org/wiki/SocketCAN (EN; etwas detaillierter als die DE-Seite)
RPI-CAN MCP251x Schnittstelle
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
Hardware
CANService
Als Alternative zum Betrieb von Rocrail auf dem Raspberry Pi, ist es auch möglich, den CANService zu verwenden.
Er verhält sich wie ein GC1e.