Hallo zusammen,
hier scheint es einige zu geben, die sich die Software zur Steuerung ihrer Anlage selbst schreiben. Ich gehöre auch dazu. Wie in einem anderen Thread versprochen, möchte ich die meinige hier kurz vorstellen.
Bei Interesse gebe ich sie auch unter GPLv3 raus, allerdings natürlich wie immer ohne jedwede Gewähr, schließlich besteht Brandgefahr, wenn zum Beispiel das Abschalten der Weichenantriebe nicht funktioniert und jemand die Endabschaltung überbrückt haben sollte. Es wird also jede Haftung abgelehnt.
Die Software ist komplett in Java geschrieben und läuft somit auf Linux/MacOs/Windows oder eben auch direkt auf dem BananaPi. Als mögliche Schnittstellen zu einer Märklin-Anlage (andere Systeme oder Schnittstellen werden aktuell nicht unterstützt) stehen Ethernet zu einer CS2 oder zwei native CAN-Treiber zum direkten Anschluss an den Bus zur Verfügung: zum Einen für das TinyCAN-Modul von mhs, dann läuft die Software auf einem 64-Bit-PC-Linux, oder zum Anderen auch für das CAN-Modul des BananaPi. Vor allem letzteres finde ich ganz lustig, da man dann mit einem BananaPi plus Gleisbox direkt spielen kann - also im Prinzip so ähnlich wie das hier im Forum vorgestellte System von bertr2d2, aber bei mir läuft eben die gesamte Oberfläche auch auf dem BananaPi, so dass kein weiterer Rechner benötigt wird.
Vorhandene Funktionen sind:
- Loks steuern.
- Weichen schalten.
- S88-Rückmelder anzeigen (auch mit Gleisbox).
- S88-Rückmelder simulieren (zum Beispiel zum Auslösen von anderen Ereignissen).
- Gleisplan zu einer Anlage.
- Streckenabschnitte definieren.
- Beliebige Zuordnung von Gleisplänen zu Streckenabschnitten (z.B. kann man einen großen Plan der ganzen Anlage haben und zusätzlich noch einen Plan, der einen Teil - z.B. den Bahnhof - in anderer Darstellung enthält).
- Zugverfolgung, d.h. wenn die Bahn in Abschnitte eingeteilt wurde und eine Lok in einem Abschnitt steht, wird deren Position im Plan aktualisiert, auch wenn man mit einem Handregler fährt. Dazu sind unbedingt Rückmeldekontakte erforderlich, wobei meine Software die aktuelle Position zwischen Rückmeldekontakten schätzt.
- Kollisionserkennung, d.h. bei Loks mit bekannter Position wird ein Unfall mit anderen Loks verhindert bzw. abgeschwächt, indem bei drohendem Zusammenstoß beide Loks angehalten werden.
- Zugfahrt mit Ziel, d.h. die Lok steht irgendwo und erhält den Auftrag, zu einem Ziel zu fahren (unter Beachtung der anderen Loks natürlich).
- Skripting für alle Basis-Funktionen (Loks, Weichen, Rückmelder ändern) sowie zu Zugfahrten, auch mit Zufallsanteil.
- mfx-Loks anmelden und mit einer SID versorgen.
- CVs von mfx-Loks auslesen.
- Link88-Module initialisieren, so dass sie ihre Kontakte melden.
- Rudimentäre Bedienung Loks/Weichen über beliebiges Drittgerät (Handy, Tablet, PC) per Web-Browser.
Es fehlt noch eine ganze Menge:
- Einmessung von Loks.
- Mehrfachtraktion.
- Heimatpositionen von Zügen.
- Geschwindigkeitsbegrenzung auf einzelnen Streckenabschnitten.
- Priorisierung von Zügen.
- u.v.m...
Da ein Bild ja manchmal mehr als tausend Worte sagt, lade ich in den nächsten Beiträgen dieses Threads noch Bilder hoch. Das dauert noch ein bisschen, danach bin ich gespannt auf Eure Meinung und Ideen!