RE: Gleisbox via CAN mit eigener Software ansteuern?

#1 von lachmichkaputt , 01.02.2018 16:38

Es gibt zwar CANBAHN und Ähnliches, doch benötigt man fertige Module, Software, Treiber, LAN oder WLAN und, und... Alles nur teilweise oder gar nicht kompatibel.

Wer von euch weis wirklich, was da wo genau drüberläuft? Welches Protokoll in welcher ISO/OSi-Schicht? Alles wohl recht kompliziert!

Die alte COM-Schnittstelle bei Märklin Control 80 (die gab's doch irgendwo als Zubehör), nun da lief wohl direkt das MM-Gleisprotokoll drüber, auch nicht so toll.

Andererseits ist die alte COM-Schnittstelle (RS232) im Prinzip recht universell und immer noch weit verbreitet, wenn es um die Übertragung von ASCII-Zeichen und binären Datenbytes geht. Vor Allem gibt es zu jedem Rechner, jedem Betriebssystem und zu jeder Entwicklungsumgebung (Programmiersprache) eine fixfertige RS232-Einbindung (selbst wenn die über USB/RS232-Converter läuft). Also kaum Treiberprobleme und Programmierprobleme. Die gute alte RS232 lässt sich praktisch überall einfach handhaben. Sowohl was Hardware als auch die Software betrifft. Sie ist nur wegen der bescheidenen Übertragungsraten aus der Mode gekommen (Megabits pro Sekunde für Ultra-HD). Auf der Modellbahn-Digitaltechnik reicht sie allemal aus, Livevideos aus der Lok gehen ja einen anderen Weg.


Märklin hat ja sein CAN-Bus-Protokoll offengelegt. Also alles was zwischen CS2, MS2 und Gleisbox so läuft. Wenn da bloß nicht dieser CAN-Bus mit seinen Spezialitäten wäre, könnte man schnell drauf los programmieren. Ich würde ja nicht eine komplette Digitalzentrale nacherfinden wollen, aber so kleine eigene Zusätze oder Spezialitäten? Beispielsweise mit meiner schönen Telefonwählscheibe Weichen ansteuern, und trotzdem die Weichenstellungsanzeige in einer MS2 oder CS2 automatisch mit aktualisieren.

Nun hab ich im Internet dass gefunden:


CAN232

oder auch hier

CAN232

Damit müsste es doch gehen? Statt sich mit CAN und LAN auseinandersetzen zu müssen, einfach die dokumentierten Märkin-Kommandos auf einer RS232-Schnittstelle senden und empfangen. Hat jemand im Forum das schon so versucht? Was meint ihr dazu?


lachmichkaputt  
lachmichkaputt
Regionalbahn (RB)
Beiträge: 43
Registriert am: 10.04.2016


RE: Gleisbox via CAN mit eigener Software ansteuern?

#2 von Rainer Müller , 01.02.2018 17:42

Hallo,

Zitat

Hat jemand im Forum das schon so versucht? Was meint ihr dazu?


ja, siehe viewtopic.php?f=7&t=133541

Gruß
Rainer


 
Rainer Müller
InterRegioExpress (IRE)
Beiträge: 313
Registriert am: 29.06.2006
Homepage: Link
Ort: Korntal
Gleise Mä: K und M
Spurweite H0
Steuerung basrcpd
Stromart Digital


RE: Gleisbox via CAN mit eigener Software ansteuern?

#3 von bertr2d2 , 01.02.2018 19:26

Hallo "lachmichkaputt",

IMHO sind die Komponenten kompatitel zueinander. Sie nutzen CAN mit 250kBit und verwenden die von M*rklin beschriebenen Befehle. CdB macht ein klein wenig etwas Erweitertes aber grob im Rahmen.

Rainer hat Dir schon einen Link gesendet - es gibt natürlich noch mehr Möglicheiten

Die von Dir verlinkten CAN-Adapter nutzen die SLCAN-API - eine RS232-CAN Umsetzung. Ein Teil aus der oben verlinkten Liste verwendet auch SLCAN-API. Das würde Deiner Anforderung entsprechen.
Aber Linux/SocketCAN geht noch ein Stück weiter. Es stülpt noch ein Layer drüber. Damit sind auf einem Schlag sehr viele CAN-Adapter nutzbar ohne das man seinen Code aufwendig adaptieren muss. BTW: die CS3 nutzt auch SocketCAN.

Hier ein Beispiel-Code wie man eine 0815 Fernbedienung nutzt um ein Lok zu steuern. Später gibt es auch mal node-red (ein Art Lego für Informatiker) Beispiel-Code

Zurück zur Ursprungsfrage:
Wenn Du an Windows gebunden bisst, dann kommen für Dich ggf diese Adapter aus der oben verlinkten Liste in Frage:
Blue Pill (STM32 Board für < 2 Euro) + Transceiver (zusammen ca. 10 Euro)
+ günstigste Lösung
+ Einbau in die Gleisbox möglich

Microchip PIC18F25k80 (ca. 10 - 15 Euro)
+ preisgünstig, durch Sampling sogar noch günstiger
+ Einbau in Gleisbox möglich
+ Teilplatine verfügbar

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.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Gleisbox via CAN mit eigener Software ansteuern?

#4 von lachmichkaputt , 01.02.2018 19:55

Vielen vielen Dank, Gerd. Das ist jetzt eine Menge Info für mich. Mein Ziel ist ja, mit ein wenig Schnittstellenkonverterhardware (möglichst was Fertiges) einen großen Freiraum für eigene Software zu haben. Ich meine was die Entwicklungsumgebung, Programmiersprache, Betriebssystem und Rechnerplattform betrifft. Die Links muss ich jetzt erstmal alle durchstudieren.


lachmichkaputt  
lachmichkaputt
Regionalbahn (RB)
Beiträge: 43
Registriert am: 10.04.2016


RE: Gleisbox via CAN mit eigener Software ansteuern?

#5 von FlorianG , 02.02.2018 10:53

Hallo,
es gibt noch das Projekt "Railuino" (Arduino+Can-Shield an Gleisbox). Je nachdem, welches Sketch verwendet wird, kann man am PC direkt die entsprechenden Kommandos eingeben. Als Weiterführung ist vielleicht auch noch desktopstation.net, genauer desktopstation.net/railuino.html interessant, eine Software, die diese Hardware-Konfiguration nutzt.Dort gibt es inzwischen auch ein Arduino MM/DCC-Shield.


Viele Grüße,
Florian


FlorianG  
FlorianG
Regionalbahn (RB)
Beiträge: 40
Registriert am: 23.11.2014
Gleise C-Gleis
Steuerung Mobile Station 2, CAN-Interface Eigenbau
Stromart AC, Digital


RE: Gleisbox via CAN mit eigener Software ansteuern?

#6 von bertr2d2 , 03.02.2018 12:19

Hallo "lachmichkaputt",

Zitat

Vielen vielen Dank, Gerd. Das ist jetzt eine Menge Info für mich. Mein Ziel ist ja, mit ein wenig Schnittstellenkonverterhardware (möglichst was Fertiges) einen großen Freiraum für eigene Software zu haben. Ich meine was die Entwicklungsumgebung, Programmiersprache, Betriebssystem und Rechnerplattform betrifft. Die Links muss ich jetzt erstmal alle durchstudieren.


IMHO hast Du genau diese Freiheit wenn Du ein Linux-System (BBB, BPi oder RPi) mit entsprechendem Adapter bzw. Adapterboard verwendest. Um den Treiber musst Du Dich nicht kümmern. Das erledigt das Betriebssystem für Dich. Wie Du dann den CAN ansteuerst kannst Du Dir aussuchen: C, C++, Python, Shell-Skript; Java, Node.js und mehr - alles möglich. Zudem ist es portabel - auch andere können Deinen Code nutzen auch wenn sie einen anderen CAN-Adapter besitzen.
Vorgefertigte Images mit allem Zipp und Zapp sind vorhanden. D.h. CAN läuft sofort bzw. ist in wenigen Schritten erledigt.
Und: Du kannst einer MS2 oder CS2.exe über die Schulter schauen und zusehen, was eine CS2 machen würde ohne das Du eine besitzt.

Die Arduino-Lösung sieht auf den ersten Blick verlockend aus aber für den Preis bekommt man ein Adapterboard incl. galv. Trennung. Rechnet man zum Ardunio Konstrukt noch ein Ethernet-Schield hinzu ist man dann preislich über einem BBB/BPi/RPi mit Adapterboard incl. galvanischer Trennung. Wobei mit dem BBB/BPi/RPi dann noch wesentlich mehr möglich ist ...

Gruß

Gerd

PS: In Härtefällen verkaufe ich auch fertige Boards Einfach eine PN an mich.


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.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


   


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