RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#1 von bertr2d2 , 01.05.2017 13:23

Hallo Zusammen,

bei der Internet-Recherche bin ich mal wieder über zig Nachbauten meines RPi-CAN Interfaces gestolpert *1. Diese werden zu hohen Preisen angeboten. Von dem User Derrow hier aus dem Board gibt es eine Alternative; diese verfügt aber über keine galvanische Trennung. Hier mein preiswerter, leicht nachzubauender Vorschlag:


Lässt sich auch gut in ein Gehäuse einbauen:


Nebenbei ist noch ein I2C Busextender mit aufgebaut. Im Grunde ist das ein GCA-PI01. Mit dem lassen sich sehr preiswert Rückmelder wie PI02 anbinden. Die Rückmelder versenden bei Bedarf S88-Events über ein kleines Programm das zum can2udp Paket gehört.

Ich biete die Platine (alternativ auch hier bestellbar - bitte 1,6mm als Stärke wählen) und Bauteile in begrenzter Anzahl an. Bei Interesse bitte Email oder PN an mich.
Das Angebot richtet sich ausdrücklich an erfahrene Linux-User und ist nichts für Anfänger. Es gibt kein fertiges Image nur eine kleine Beschreibung zur Inbetriebnahme.
Später wird es auch noch einen überarbeiteten Treiber geben und ein Programm, das diese Kombination u.A. zu einer preiswerten CC-Schnitte (Stichwort USB OTG Serial) macht leider beherrschen RPI2+3 kein USB OTG. Schade.

Gruß

Gerd

*1 Unfreiwillig habe ich damals eine Art Fingerabdruck eingebaut: der fragwürdige Spannungsteiler 10k/18k zur Anbindung des CAN-Tranceivers MCP2551. Dieser Baustein wurde vor Jahren von Microchip als "Nicht Empfohlen für Neu-Designs" eingestuft. Trotz dessen nutzen viele diesen anstatt des lang erhältlichen MCP2562, der auch mit zwei Spannungen umgehen kann. Der Spannungsteiler entfällt dadurch. Schon komisch, wie sich so etwas hartnäckig hält. tse ...


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 21.02.2023 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#2 von bertr2d2 , 25.06.2017 14:28

Hallo,

auch wenn die Resonanz nicht so groß wie beim BPi ist, schreitet die Entwicklung auch hier voran.

Vielleicht hat sich der ein oder andere gefragt, wozu das Lochrasterfeld dient:
(Achtung: der Längsregler 7805 ist hier "falsch" eingebaut !)

Es ist als variables Ein-Ausgabe Interface über Optokoppler (LTV827 bzw LTV817) gedacht. Hier 3 Ausgänge und ein Eingang. Wie für S88 gemacht Siehe auch:
https://github.com/GBert/misc/blob/master/RPi-MCP2515/S88.md

Reichelt Liste für S88/5V

Das passende s88udp incl Entprellung existiert auch schon:

pi@raspberrypi:~/railroad/can2udp/src $ sudo ./s88udp-rpi -vft 100
using broadcast address 192.168.0.255
13:35:39.496034 [0x000001DF] ->S88>UDP CANID 0x00230300 [8] 00 00 00 05 00 01 00 00
13:35:41.660905 [0x00000261] ->S88>UDP CANID 0x00230300 [8] 00 00 00 07 01 00 00 00
13:35:42.093358 [0x0000027B] ->S88>UDP CANID 0x00230300 [8] 00 00 00 07 00 01 00 00
13:35:42.794480 [0x000002A5] ->S88>UDP CANID 0x00230300 [8] 00 00 00 05 01 00 00 00
13:35:42.994412 [0x000002B1] ->S88>UDP CANID 0x00230300 [8] 00 00 00 05 00 01 00 00
13:35:43.576262 [0x000002D4] ->S88>UDP CANID 0x00230300 [8] 00 00 00 03 01 00 00 00
13:35:43.709847 [0x000002DC] ->S88>UDP CANID 0x00230300 [8] 00 00 00 03 00 01 00 00


Somit hat man neben dem CAN-Bus (mit Gleisbox -> CS2 Emulation) und I2C Anbindung auch die Möglichkeit S88 Module preisgünstig anzubinden.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 21.02.2023 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#3 von bertr2d2 , 23.10.2017 14:05

Hallo,

die Platine gibt es nun in einer leicht modifizierten Version V1.1, wo nun auch die Anbindung des I2C-Bustreibers und die Bestückungsseite des Längsreglers 7805 korrigiert wurde:


Der CAN-Transceiver (ISO1050) ist das einzige SMD-Bauteil. Dadurch ist der Nachbau aus Hardware Sicht relativ einfach.

Der Aufbau richtet sich vor allen an Linux Erfahrene, die die Installation der Software selbst vornehmen können.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#4 von bertr2d2 , 06.12.2017 17:01

Hallo Uwe,

ich führe die Diskussion hier mal weiter.

Zitat

Hallo,

soweit ich mich da erinnern kann kommt es auch immer wieder zu Verbindungsabbrüchen zwischen RPI und CAN. Mein Vermutung ist ja das, dass SPI nicht sauber im SOC implementiert wurde.


der Broadcom SoC enthält mind. einen signifikanten SPI-Bug. Aber der Bug ist bekannt und wird umschifft. Solche Bugs sind nichts Ungewöhnliches - alle CPUs enthalten Fehler.

Ich habe vor ein paar Monaten einen CAN-Test mit 4 facher Geschwindigkeit (1 Mbit anstatt M*rklins 250Kbit) und maximalen Paketanzahl gemacht (knapp 20.000/sec). Mein RPi3 hat keine Schwäche gezeigt. Also von daher sollte bei der relativ geringen Paketanzahl je Sekunde bei M*rklin nichts anbrennen.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#5 von bertr2d2 , 31.05.2018 14:54

Hallo,

ich habe hier ein paar voll funktionsfähige RPi-Boards mit dem neuen MCP25157 aus einer 0-Serie:

anzubieten. Aus dem Board sind nebem dem MCP2517 noch ein I2C Treiber (siehe PI01) und ein isolierter S88 Anschluss.

Preis für Board, 2x Grove-Kabel und Abstandsbolzen: 25 Euro incl. Versand.
Bei Interesse -> PN oder Email an mich.
Das Angebot richtet sich an Interessenten mit Linux-Erfahrung.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#6 von bertr2d2 , 06.11.2019 12:24

Hallo,

ich habe noch einige Bausätze hier die ich gerne verkaufen würde. Inhalt ist für isolierten/galvanisch getrenntem CAN-Bus mit DCDC Wandler (nur noch GND, CANL und CANH Verbindung notwendig) mit ISO1050 für 25€ incl. Porto innerhalb Deutschlands.
I2C Treiber und S88 ist nicht enthalten können aber nachgerüstet werden.

Das Angebot richtet sich an erfahrene Linux-Nutzer mit Lötkenntnissen.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#7 von bertr2d2 , 04.03.2020 19:17

Hallo S88 Nutzer,

wer den isolierten S88 nutzt sollte zwei Leiterbahnen auftrennen (unten - mitte):



Die Spannung muss dann über P15 zugeführt werden, z.B. über den Adapter, den man bei mir bekommen kann.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 27.05.2021 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#8 von bertr2d2 , 05.01.2021 12:28

Hallo,

wer das Löten scheut, für den habe ich noch eine interessante Alternative:



Der Preis ist mit $21,99 bzw 24,90€ (welectron) sehr attraktiv. Zusammen mit einem RPi ist das wirklich günstig.

Mit einem MS2 Ersatzkabel kann man dann unmittelbar los legen :

schwarzGNDG
braunCANLL
orangeCANHH
rot18Vwird hier nicht verbunden

Wenn man die Kontakte vorsichtig durch Hochbiegen der kleine Laschen am Stecker herauszieht, dann kann man die gecrimpten Kontakte nutzen.

Selbst mit CdB Komponenten funktioniert das Interface zusammen. Über lan-schnitte kann man die CdB Komponenten sogar konfigurieren.

Die Software can2udp und damit Railcontrol, iTrain, WDP etc. pp. funktionieren damit genauso. Michaels (aka st-oldie) Software ist damit ebenfalls nutzbar.

Rocrail kann die SocketCAN Schnittstelle direkt nutzen und braucht can2udp nicht.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 03.02.2024 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#9 von Ronson1909 , 24.02.2021 22:17

Vielen Dank für den Tipp. Nachdem eine andere CAN Halbselbstbau-Platine offenbar kaputt ging, war das ein günstiger und unkomplizierter Ersatz.


Ronson1909  
Ronson1909
Beiträge: 4
Registriert am: 09.02.2021


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#10 von bertr2d2 , 30.04.2021 12:30

Hallo,

ich habe mir nochmal den Waveshare 2-CH CAN HAT geschnappt und die Sachen nochmal mit dem aktuellen Raspberry Pi OS (aka Raspbian) durchgespielt.

Vorweg eine kleine Anmerkungen: Wenn man den HAT gut befestigen will braucht man Abstandsbolzen M2,5 x 15mm

Hier die Kurzanleitung zur Inbetriebnahme:

In /boot/config.txt die Zeile:

# dtparam=spi=on

ändern in
dtparam=spi=on
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=23


Datei /etc/network/interfaces.d/can0 erstellen mit
auto can0
iface can0 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 250000 restart-ms 100
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down


Datei /etc/network/interfaces.d/can1 erstellen mit
auto can1
iface can1 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 250000 restart-ms 100
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down


Damit sind die CAN Interfaces bereit wenn man den RPi neu startet.
Siehe nach dem Reboot:
ip -s -d link show can0
ip -s -d link show can1

Der CAN-Status ERROR-ACTIVE ist der Richtige.

Für Rocrail ist damit die Systemeinstellung auf dem Raspberry Pi abgeschlossen.
Als Zentrale wählt man MBUS, Typ SocketCAN und Hostname can0 bzw can1.
Rocrail Nutzer sollten den Rest dieses Beitrages ignorieren.

Wenn man can2lan und z21emu nutzen will, geht man wie folgt vor:
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 git libpcap-dev
cd
git clone https://github.com/gbert/railroad
cd railroad/can2udp/src
make -j5
sudo cp can2lan /usr/sbin
sudo cp -r ../files/maerklin/config /var/www/html
sudo cp ../debian/can2lan.init /etc/init.d
sudo /etc/init.d/can2lan.init start
sudo /etc/init.d/can2lan.init status
sudo update-rc.d can2lan.init defaults
cd ../../can-monitor/src
make -j5
sudo cp can-monitor /usr/bin
# Z21 Emulator
cd ~/railroad/z21/src
make
sudo cp z21emu /usr/bin/


Jetzt kann man den RPI und dem CAN-Hat mit seiner Lieblings-Steuersoftware nutzen. CS2 als Zentrale setzen und die IP-Adresse des RPis eintragen, falls notwendig.

Wann man den Märklin CAN-Bus an can0 angeschlossen hat kann man sich den Datenverkehr mittels can-monitor anschauen.

Nachtrag
Wer ein freie OpenSource Steuerungssoftware nutzen will, der ist ggf. an Railcontrol interessiert. Hier eine Anleitung zur Installation:
cd
git clone --depth=1 https://github.com/teddych/railcontrol.git
cd railcontrol
make -j5
sudo mkdir -p /opt/railcontrol
sudo chown -c $USER /opt/railcontrol
cp railcontrol /opt/railcontrol
cp railcontrol.conf.dist /opt/railcontrol/railcontrol.conf
cp -r html /opt/railcontrol
cd /opt/railcontrol
# Jetzt sind wir fertig und können das Programm starten
./railcontrol --logfile=/tmp/railcontrol.log


Die grafische Oberfläche ist dann über http://<raspberrypi-ip>:8082 erreichbar.

Unter Edit-Controls trägt man folgendes ein:
Name: Gleisbox
Typ: Märklin Central Station CS2/CS3 (TCP)
IP Adresse: 127.0.0.1
und das Abenteuer kann beginnen :-)

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


MachMalPause, OliverK und grobie haben sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 09.02.2024 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#11 von bertr2d2 , 09.06.2021 11:12

Hallo,

trotz der günstigen Platine von Waveshare biete ich wieder die Platinen zum Selbstbau an.
Vorteil:
optionales, galv. getrenntes S88

Wer Interesse an der Leerplane hat -> PN oder besser Email an mich

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


Chrisn86 hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#12 von Chrisn86 , 08.01.2022 10:32

Hallo,

ich habe nun auch die Platine aufgebaut und bin nun am Einrichten unter Raspbian.
Der Witz ist er kann aber anscheinend nicht den Link zu Can0 aufbauen mit dem Befehl:

1
 
sudo ip link set can0 up type can bitrate 250000 restart-ms 100
 



ich erhalte dann nur folgende Fehlermeldung:

1
 
RTNETLINK answers: Connection timed out
 



Daraus schließe ich, das die Verbindung zum MCP2515 wohl nicht aufgebaut werden konnte, was schon verwunderlich ist.
Die boot.txt ist selbstverständlich angepasst, aber es kommt keine Kommunikation zu stande.
Vielleicht hat Jemand auch das Problem schon Mal gehabt?


Chrisn86  
Chrisn86
Beiträge: 7
Registriert am: 29.11.2020


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#13 von bertr2d2 , 08.01.2022 10:42

Hallo Chrisn68,

was sagt denn bei Dir 'dmesg | egrep "CAN|mcp"' ?

Bei mir sieht das so aus:

pi@raspberrypi:~ $ dmesg | egrep  "CAN|mcp"
[ 7.677827] CAN device driver interface
[ 7.833020] mcp251x spi0.0 can0: MCP2515 successfully initialized.


Bitte sage uns auch noch welches Board Du konkret verwendest und wie sehen Deine config.txt Anpassungen aus.

Ist bereits ein weiterer CAN-Bus Teilnehmer am Bus angeschlossen ?

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 08.01.2022 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#14 von Chrisn86 , 08.01.2022 11:18

Hallo Gerd,

ich bekomme dazu folgende Antwort:

1
 
mcp251x spi0.0: MCP251x didn't enter in config mode
 



Ich gehe nun davon aus, da ich den ISO1050 noch nicht aufem Board habe das es ein Problem mit dem Thema Abschlusswiderstände für die CAN Seite ist, was ja dann auch über den ISO1050 plus 120R mit vorhanden wäre.

Folglich kann er dann auch keine Kommunikation aufbauen.

Gruß,
Christoph


Chrisn86  
Chrisn86
Beiträge: 7
Registriert am: 29.11.2020


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#15 von bertr2d2 , 08.01.2022 11:26

Hallo Christoph,

Zitat von Chrisn86 im Beitrag #14
mcp251x spi0.0: MCP251x didn't enter in config mode

es findet keine fehlerfreie SPI Kommunikation statt. Prüfe die Verbindungen MISO/MOSI/CLOCK/CS bzw. die Quarz Schaltung des MCP2515.
Wie sehen Deine config.txt Anpassungen aus ? Welches Board verwendest Du ?

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


GENKI hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 08.01.2022 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#16 von Chrisn86 , 08.01.2022 11:31

Hallo,

ich benutze das Board von dir, was du mir die Woche zugesandt hast: https://github.com/GBert/misc/tree/master/RPi-MCP2515/
Von daher ist alles so beschaltet wie es auf dem Schaltplan sein sollte, bis auf den fehlenden ISO1050 ist es vollständig.

Gruß,
Christoph


Chrisn86  
Chrisn86
Beiträge: 7
Registriert am: 29.11.2020


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#17 von Riemi , 04.02.2022 10:53

Ich habe mir das Waveshare 17912 besorgt und mit der super Anleitung von Gerd alles auf einem Raspberry 4 am laufen.
Vielen Dank schon mal dafür.
Ich als Anfänger hätte da noch paar Fragen und hoffe auf eure Hilfe.

Ist es damit auch möglich einen S88 Bus für Rückmelder anzuschließen?


Riemi  
Riemi
Beiträge: 6
Registriert am: 03.02.2022
Spurweite H0
Stromart Digital

zuletzt bearbeitet 05.02.2022 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#18 von bertr2d2 , 06.02.2022 13:27

Hallo Riemi,

Zitat von Riemi im Beitrag #17
Ich habe mir das Waveshare 17912 besorgt und mit der super Anleitung von Gerd alles auf einem Raspberry 4 am laufen.
Ist es damit auch möglich einen S88 Bus für Rückmelder anzuschließen?

in diesem Fall wäre wohl die oben gezeigte Selbstbau-Platine besser gewesen, da sie ein S88 Interface beinhaltet. Ansonsten kannst Du auch ein LinkS88 (Märklin 60883) verwenden. Aber aufgepasst: Das Modul ist nicht galv. vom CAN-Bus getrennt. - ist galv. getrennt !

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


grobie hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 23.03.2024 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#19 von Riemi , 07.02.2022 13:00

War anfangs auch am überlegen die Selbstbau-Platine zu nehmen, ich habe mich aber mangels Erfahrungen beim Löten von Platinen dagegen entschieden.
Oder gibt es die auch bereits fertig und wenn ja wo kann man die beziehen?


Riemi  
Riemi
Beiträge: 6
Registriert am: 03.02.2022
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#20 von bertr2d2 , 09.02.2022 18:00

Hallo Riemi,

Zitat von Riemi im Beitrag #19
War anfangs auch am überlegen die Selbstbau-Platine zu nehmen, ich habe mich aber mangels Erfahrungen beim Löten von Platinen dagegen entschieden.
Oder gibt es die auch bereits fertig und wenn ja wo kann man die beziehen?

ich kann Dir einen kleinen Aufsatz anbieten, der den S88 Isolator anbindet. Vorteile: Du kannst zwischen 5V/12V auswählen und wahlweise RJ45 oder S88 Kabel verwenden. Software ist vorhanden.
Bei Interesse, kontaktiere mich per PN.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


Riemi und grobie haben sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 03.09.2022 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#21 von bertr2d2 , 05.01.2023 11:06

Hallo Zusammen,

wer Rocrail direkt mit dem CAN-Bus (SocketCAN) verwenden will, muss folgende Einstellungen wählen:

Datei -> Rocrail Eigenschaften
Zentrale
Neu -> mbus
Typ -> SocketCAN
Hostname leer lassen (can0 wird automatisch eingefügt)
Gerät spielt keine Rolle
CTS spielt keine Rolle
Baudrate spielt keine Rolle
Protokoll nach eigenen Wünschen angeben - Im Zweifel alle anwählen

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


grobie hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 05.01.2023 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#22 von bertr2d2 , 21.02.2023 11:04

Hallo,

wer ein RPi mit S88 Erweiterung hat, kann folgendes systemd Skript verwenden, damit s88udp automatisch gestartet wird:

wget github.com/GBert/railroad/raw/master/can2udp/systemd/s88udp.service
# Parameter -m und -p anpassen -> siehe s88udp -h
sudo mv s88udp.service /lib/systemd/system/
sudo ln -s /lib/systemd/system/s88udp.service /etc/systemd/system/s88udp.service
sudo systemctl daemon-reload
sudo systemctl enable --now s88udp

Das systemd Skript erwartet s88udp in /usr/sbin (sudo cp s88udp-rpi /usr/sbin/).

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


vikr hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#23 von bertr2d2 , 25.04.2023 13:12

Hallo Jörg,

Zitat von Bulli1975 im Beitrag Gleisbox als Zentrale
Hallo Zusammen,

gibt es für Raspberry Pi 3 oder 4 eine Platine mit CAN und S88 fertig zu kaufen oder als Bausatz?

Aktuell habe ich die Version 2 von Ifoedit auf einem Breadboard aufgebaut, suche aber für meine H0 und N Anlage eine fertige Platine. Als Steuerungs-Software verwende ich Rocrail und die Platine sollte daher mit PiCanS88 oder vergleichbarer Treiber-Software funktionieren.


ich "schiebe" das Thema mal hier her. Du kannst die oben gezeigte Platinen selbst bestellen oder von mir bekommen. Fertig aufgebaute und getestete Platinen ebenfalls -> PN oder Email an mich.
PICANS88 sollte auch laufen, aber dafür kann ich keinen Support geben. Wenn Du eh Rocrail nutzen willst, ist der 'canservice' von Rocrail die bessere Wahl. Siehe auch:
Rocrail mbus

Gruß

Gerd

PS: Bitte nur ein Post für Dein Anliegen formulieren nicht drei, sonst erstickt man in der Flut der Information bzw. Anfragen


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


Bulli1975 hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 25.04.2023 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#24 von grobie , 12.03.2024 17:52

Hallo Gerd,

nochmals Danke für deine gute Erklärung. Grundsätzlich funktioniert es wunderbar. Trotz allem hätte ich da noch Fragen... :-)

Mit dem z21Emu habe ich so meine Probleme, die Software läuft als solches und empfängt auch befehle der Z21-App. Allerdings gibt sie die Fehlermeldung "TCP write error: Socket operation on non-socket aus" sofern ich irgendetwas in der App mache.

Ich habe glaube ich moch nicht verstanden was alles laufen muss um die z21emu zum laufen zu bringen?

can2lan? cxan2udp? und mit welchen Parametern muss ich die Programme starten?

Ich benötige bitte Dein Expertenwissen, da ich Programmiertechnisch und auch mit Linux nur Anfänger bin.

Unter Rocrail, mit Z21Emulation funktioniert alles bestens.

Ich würde allerdings gerne auch die Z21emu von dir benutzen, da ich Rocrail eigentlich gar nicht benötige/bzw einsetzen wollte...

VielenDank im Voraus!!!

Gruß, Olli



Zitat von bertr2d2 im Beitrag #10
Hallo,

ich habe mir nochmal den Waveshare 2-CH CAN HAT geschnappt und die Sachen nochmal mit dem aktuellen Raspberry Pi OS (aka Raspbian) durchgespielt.

Vorweg eine kleine Anmerkungen: Wenn man den HAT gut befestigen will braucht man Abstandsbolzen M2,5 x 15mm

Hier die Kurzanleitung zur Inbetriebnahme:

In /boot/config.txt die Zeile:
# dtparam=spi=on

ändern in
dtparam=spi=on
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=23


Datei /etc/network/interfaces.d/can0 erstellen mit
auto can0
iface can0 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 250000 restart-ms 100
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down


Datei /etc/network/interfaces.d/can1 erstellen mit
auto can1
iface can1 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 250000 restart-ms 100
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down


Damit sind die CAN Interfaces bereit wenn man den RPi neu startet.
Siehe nach dem Reboot:
ip -s -d link show can0
ip -s -d link show can1

Der CAN-Status ERROR-ACTIVE ist der Richtige.

Für Rocrail ist damit die Systemeinstellung auf dem Raspberry Pi abgeschlossen.
Als Zentrale wählt man MBUS, Typ SocketCAN und Hostname can0 bzw can1.
Rocrail Nutzer sollten den Rest dieses Beitrages ignorieren.

Wenn man can2lan und z21emu nutzen will, geht man wie folgt vor:
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 git libpcap-dev
cd
git clone https://github.com/gbert/railroad
cd railroad/can2udp/src
make -j5
sudo cp can2lan /usr/sbin
sudo cp -r ../files/maerklin/config /var/www/html
sudo cp ../debian/can2lan.init /etc/init.d
sudo /etc/init.d/can2lan.init start
sudo /etc/init.d/can2lan.init status
sudo update-rc.d can2lan.init defaults
cd ../../can-monitor/src
make -j5
sudo cp can-monitor /usr/bin
# Z21 Emulator
cd ~/railroad/z21/src
make
sudo cp z21emu /usr/bin/


Jetzt kann man den RPI und dem CAN-Hat mit seiner Lieblings-Steuersoftware nutzen. CS2 als Zentrale setzen und die IP-Adresse des RPis eintragen, falls notwendig.

Wann man den Märklin CAN-Bus an can0 angeschlossen hat kann man sich den Datenverkehr mittels can-monitor anschauen.

Nachtrag
Wer ein freie OpenSource Steuerungssoftware nutzen will, der ist ggf. an Railcontrol interessiert. Hier eine Anleitung zur Installation:
cd
git clone --depth=1 https://github.com/teddych/railcontrol.git
cd railcontrol
make -j5
sudo mkdir -p /opt/railcontrol
sudo chown -c $USER /opt/railcontrol
cp railcontrol /opt/railcontrol
cp railcontrol.conf.dist /opt/railcontrol/railcontrol.conf
cp -r html /opt/railcontrol
cd /opt/railcontrol
# Jetzt sind wir fertig und können das Programm starten
./railcontrol --logfile=/tmp/railcontrol.log


Die grafische Oberfläche ist dann über http://<raspberrypi-ip>:8082 erreichbar.

Unter Edit-Controls trägt man folgendes ein:
Name: Gleisbox
Typ: Märklin Central Station CS2/CS3 (TCP)
IP Adresse: 127.0.0.1
und das Abenteuer kann beginnen :-)

Gruß

Gerd


 
grobie
S-Bahn (S)
Beiträge: 16
Registriert am: 21.10.2023
Homepage: Link
Ort: Bielefeld
Gleise C-Gleis
Spurweite H0
Stromart AC, Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#25 von bertr2d2 , 12.03.2024 18:28

Hallo Olli,

der z21emu funktioniert zusammen mit einer CS2/CS3 oder eben mit can2lan, das eine CS2 emuliert.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


grobie hat sich bedankt!
bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.539
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


   

MobaLedLib: Diskussion zur Verbesserung und Neustrukturierung der Dokumentation zur MobaLedLib
Märklin CU 6021 durch moderne Zentrale ersetzen?

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz