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.
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?
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
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.
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.
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.