Table of Contents
CANService
Einführung
Der CANService ist eine kleine Applikation, die wie eine Brücke zwischen UDP/TCP und CAN agiert.
Protokolle und Ports
Märklin CS2 CAN
Es bietet die gleichen UDP-Ports wie die Märklin CS2/CS3, 15730/15731 und TCP-Standard-Port 15731 für die Kommunikation mit einem PC.
RCAN
ASCII:
Für RCAN + CBUS empfohlen.
Mit RCAN wird der TCP-Port 5550 verwendet. Die Zeilenvorschub-Option ist erforderlich.
Binary
Keine Unterstützung für CBUS und hat kein Framing.
Der TCP-Port 15731 kann in Kombination mit der Binary-Option verwendet werden.
BiDiB-USB
2.1.656+
Der TCP-Port 15731 kann auch für BiDiB verwendet werden, wenn die Befehlszeilen-Option -usb
gesetzt ist.
Das Standard-USB-Gerät ist /dev/ttyUSB0
.
Rocrail muss auf BiDiB-Typ TCP mit Port 15731 gesetzt sein. Der Hostname ist die IP oder Name des RPi.
Ein ungenutzter Raspberry Pi 1, 2 oder 3 kann als USB-TCP-Brücke verwendet werden.
Befehlszeilen-Optionen:
- -usb
- -usbdev <serial device name>
- -info
- -byte
Einschränkungen
TCP/IP kann nur einen Client verarbeiten.
Wenn mehrere Verbindungen benötigt werden, kann das erweitert werden.
Anforderungen
- Debian-basierte Linux-Plattform, wie Raspberry Pi + Raspbian.
Installation
Die CANService-Applikation ist im /opt/rocrail
-Ordner installiert und in allen angebotenen rocrail*.deb
-Paketen enthalten.
SockeCAN-Einstellung
Siehe: Raspberry Pi Einstellung
CAN-Bitrate
Die CAN-Bitrate entsprechend des Ziel-CAN einstellen:
CAN | Bitrate |
---|---|
RCAN | 125000 |
MBUS/CS2/MS2 | 250000 |
Zimo/Z21/MX10 | 125000 |
CANService-Einstellung
Es sind keine Einstellungen zu konfigurieren, einfach im Benutzerkontext ausführen.
Um ihn nach jedem Start automatisch auszuführen, kann er wie der Rocrail-Server eingerichtet werden.
Start-Script
#/bin/bash cd /home/pi /opt/rocrail/canservice.sh <options>
Das Script ausführbar machen:
chmod +x /home/pi/canservice.sh
Zur crontab mit Befehl crontab -e
hinzufügen:
@reboot /home/pi/canservice.sh