Hallo.
Nachdem ich immer wieder mal auf JMRI angesprochen wurde und es da wohl große Probleme mit dem Verständnis gibt, versuche ich mal ein kleines HowTo zu verfassen.
Ich möchte euch bitten in diesem Strang nicht zu antworten, bevor das HowTo fertig ist, was nicht in einigen wenigen Tagen möglich ist. Wenn es dringenden Gesprächsbedarf gibt, bitte einen anderen Strang aufmachen, damit das HowTo nicht "zerstückelt" wird. Wenn es fertig ist, dann können wir auch gerne hier diskutieren.
Also gut, es geht los.
Kapitel 1: Einleitung
JMRI (Java Model Railroad Interface) ist eine Sammlung von verschiedenen Programmen zur Steuerung und Bedienung einer Modellbahn, die von (meist US-) Modellbahnern für Modellbahner entwickelt wird, die quelloffen und kostenlos ist. Java ist eine weit verbreitet Programmiersprache, die auf allen denkbaren Systemen lauffähig ist. Kein Handy, kein PC der nicht mit Java “kann”.
JMRI kann von der Webseite des Projekts kostenlos herunter geladen werden. Es gibt dort Installer für alle möglichen Systeme. Auch ein RaspberryPI “Bastelcomputer” kann mit JMRI zusammen genutzt werden. Man findet aber eigentlich immer etwas, das nicht (mehr) für andere Dinge gebraucht wird und was man für JMRI verwenden kann. Ich selbst verwende einen Windows 11 Mini PC, der neu 69€ gekostet hat und mit nur 3 Watt Stromverbrauch (sofern er nicht voll ausgelastet ist) sehr sparsam ist. Man kann aber auch ein ausrangiertes Laptop oder ähnliches verwenden. Wichtig ist nur, das man die eigene Zentrale irgendwie mit diesem Computer verbinden kann. Aktuelle Zentralen habe meist ein Computer Interfache, sei es über USB oder über das Netzwerk. Und wenn nicht, kann man fast immer eines nachrüsten. Hat man z.B. den alten Roco Multimaus mit Verstärker als Zentrale, dann kann man ein Xpressnet Interface (z.B. von Lenz) verwenden. Vergleichbares gibt es auch für Loconet usw… Bei einem USB (oder eventuell auch einem alten seriellen Interface) muss die Zentrale direkt an den Computer angeschlossen werden, auf dem das Kernstück von JMRI läuft, der Server. Darauf gehe ich später noch genauer ein. Bei moderneren Geräten wie etwa der Z21 wird die Computer- Verbindung meist übers Netzwerk (LAN oder WLAN ist egal) hergestellt. Dann müssen die Zentrale und der JMRI Server nur im selben Netzwerk sein. Tatsächlich kann man JMRI sogar übers Internet nutzen.
In diesem HowTo verwende ich meine freigeschaltete z21 Start als Beispiel. Die Liste der unterstützten Zentralen und Interfaces ist aber schier endlos lang. Darunter auch diverse Eigenbau- Projekte, nicht nur industriell hergestellte Geräte. Die Schritte sind aber fast immer genau dieselben, die man vornehmen muss. Gelegentlich gibt es andere Einstellungen, weil man eben statt LAN ein USB Interface hat oder ähnlichem.
Kapitel 2: Die Grundkomponenten.
Bei einer Software gibt es zwei grundsätzlich unterschiedliche Herangehensweisen. Zum einen kann man ein “All in One” Programm herstellen. Dann wird alles in diesem einen Programm erledigt. Als bekanntes Beispiel sei hier mal Word genannt. Man schreibt seine Briefe in Word und druckt sie dann auch gleich aus Word aus. Der Vorteil ist, man muss nur ein Programm installieren und warten. Der Nachteil ist aber, man kann immer nur auf dem Gerät arbeiten, auf dem das Programm installiert wird. Früher war das absolut üblich, heute empfindet man so etwas als Einschränkung. Heute will man auch mal unterwegs vom Smartphone aus weiter arbeiten oder eben im Homeoffice und im Büro abwechselnd. Deswegen wird versucht, solche Funktionalität nachträglich in bereits existierende Programme zu integrieren. Sowas gelingt mehr oder weniger gut heute meistens über sogenannte “Cloud” Anwendungen. Dabei wir ein großer Teil der Arbeit und des Speichers auf externe Server ausgelagert. Hier gibt es auch wieder Vor- und Nachteile. Der Vorteil ist, man hat keine Arbeit mit der Cloud, da alles vom Anbieter gepflegt wird. Der gravierende Nachteil ist aber, das man nicht nur seine Daten, sondern auch seine Arbeit komplett in fremde Hände übergibt. Kein Mensch kann kontrollieren, was Google oder Microsoft mit den eigene Dokumenten anstellt, wenn sie erst mal bei denen in der Cloud liegen. Dazu kann man ohne Internet- Verbindung erst gar nicht auf seine Dateien zugreifen.
Um diese Nachteile zu umgehen, wird auch im Heimbereich immer häufiger mit sogenannten Server- Client Systemen gearbeitet. Hierbei gibt es eine Kern- Anwendung, eben den Server, der die Daten zentral vorhält, die Verbindung zur Außenwelt regelt und die Ressourcen auf die einzelnen, durchaus zahlreich möglichen Klienten aufteilt. Als Anwender hat man mit dem Server praktisch keinen Kontakt. Man selbst arbeitet stets mit der Klient- Software. Ein Beispiel ist der Web Browser. Die Webseiten, die einem angezeigt werden, liegen irgendwo auf der Welt auf einem Web- Server. Man selbst hat damit nichts zu tun, nur mit dem Web Browser (Edge, Chrome, Firefox, Safari,…). Es sei denn, man betreibt selbst eine Webseite oder einen Blog.
Um zur Modellbahn zurück zu kommen,.. Hier ist beispielsweise TrainController so ein “All in One” Programm. Mit TC erledigt man alles auf dem PC, auf dem TC installiert wurde. JMRI hingegen ist ein Server- Klient System. Der JMRI Server muss nur einmal im eigenen Netzwerk installiert sein. Der Server verbindet sich über das Interface mit der Digital- Zentrale. Den Server muss man zwar einmalig konfigurieren, aber hat davon abgesehen später nichts mehr damit zu tun. Macht man später irgendwas an/mit der Anlage, so erledigt man das immer in einem Klient Programm. Sofern ein USB Interface zum Einsatz kommt, muss dieses zwingend mit dem Computer verbunden werden, auf dem der JMRI Server läuft. Bei einer Anbindung übers Netzwerk, wie bei meiner z21 spielt es keine Rolle, so lange die Geräte im gleichen Netzwerk sind. Ich schreibe dieses HowTo beispielsweise am Schreibtisch. Die z21 steht aber 15 Meter entfernt an der Anlage und trotzdem kann ich von hier aus alles machen.
Man kann so auf verschiedensten Geräten z.B. ein lokal begrenztes Gleisbild- Stellpult erzeigen, die dann gemeinsam über einen einzigen JMRI Server und eine einzige Digital- Zentrale die Steuerung der Anlage verteilt durchführen können. Jedes dieser einzelnen Stellpulte ist ein Klient und kann, aber muss nicht auf demselben Rechner wie der Server laufen. Man kann so beispielsweise an jedem Bahnhof vor Ort ein Tablet installieren, das die Weichen nur dieses Bahnhofs steuert, ohne jedes Mal ein eigenes Interface dafür zu haben. Trotzdem kann man ein zentrales Stellpult einrichten, mit denen man alle Weichen steuern kann, die auf der Anlage verbaut sind. Ein Server- Klient System ist viel flexibler aber, besonders am Anfang, auch komplexer als ein All in One System.
Das oben gesagte ist wichtig, um die Arbeitsweise von JMRI zu verstehen. Deswegen kam dieses Kapitel noch vor der eigentlichen Installation, die nun folgt.
Kapitel 3: Installation
Um JMRI zu installieren, muss man zuerst mal den Installer von der JMRI Webseite herunter laden. Dazu muss man natürlich wissen, welches Betriebssystem auf dem Rechner läuft, auf dem man JMRI nun installieren will. Bei mir ist das in dem Fall Windows 11 x64 (also 64 Bit). Da JMRI permanent weiter entwickelt wird, gibt es unzählige Versionen an Installern. Für den Normal- Anwender ist die aktuelle “Production release”, also die aktuelle Stabile Version am besten geeignet. Zur Zeit ist das die Version 5.10. Wir laden also diese Version herunter. Die Datei ist (für Windows 11) knapp 200 MByte groß. Der Download kann je nach Internet- Geschwindigkeit also einen Moment dauern. Ist der Download abgeschlossen, starten wir die Installationsdatei einfach per Doppelklick. Gut möglich, das dann eine Warnung aufpoppt.
Die ist aber völlig unsinnig, wie leider bei 99,9999% solcher Meldungen. Man muss hier “Weitere Informationen” anklicken und dann auf “Trotzdem Installieren” klicken. Bei anderen Betriebssystemen kommt da entweder gar keine oder eine andere Meldung, die aber auch nichts anderes bedeuten als Unfug und die man auf eine ganz ähnliche Art umgehen kann.
Dann erscheint ein normaler Installations- Assistent, wie bei den meisten Programmen üblich. Hier kann man verschiedene Sachen anpassen. Meist stimmen die vor- eingestellten Dinge aber. Während der Installation wird auch die installierte Java Version überprüft. Im Zweifel wird dann dazu aufgefordert, eine entsprechendes Java zu installieren. Nach kurzer Zeit ist die Installation dann abgeschlossen und wir finden einen neuen Ordner im Startmenü, JMRI.
In diesem Ordner finden wir nun verschiedene Icons. Die beiden wichtigsten sind “Decoder Pro” und “Panel Pro”. “Sound Pro” ist dasselbe wie Decoder Pro, nur dass das Programm gleich im Sound Fenster geöffnet wird. Kann man eigentlich auch ignorieren, finde ich.
Bevor wir genauer auf die beiden “Haupt- Programme” eingehen, sollten wir zunächst mal den Server konfigurieren.
Viele Server- Systeme haben eigene Konfigurationsprogramme dabei. Bei JMRI ist die Server- Konfiguration in den beiden Hauptprogrammen eingebaut (in Beide, es ist egal, welches der Programme man nimmt). Also starten wir nun einfach mal Decoder Pro.
Beim ersten Start erscheint Decoder Pro auf Englisch. Um das umzustellen gehen wir oben im Menü auf “Edit” und dann “Preferences”. Dann erscheint ein neues Fenster. Hier wählen wir links “Display” aus und dann den Reiter “Locale” . Hier können wir nun die Sprache einstellen, als bei uns, “German (Germany)” (oder was sonst am besten passt).
Nun unten links auf “Save” klicken und Decoder Pro neu starten. Wenn man Decoder Pro auf Deutsch umgestellt hat, wird auch Panel Pro automatisch auf Deutsch umgestellt. Erleichtert einem später das Leben.
Als nächstes konfigurieren wir den Server, damit JMRI eine Verbindung zur Zentrale herstellen kann. Das geht fast an derselben Stelle, wie das Umstellen der Sprache. Nur das jetzt die Begriffe übersetzt sind. Also “Bearbeiten” > “Voreinstellungen” statt “Edit” > “Preferences”.
Gleich oben der erste Punkt heißt “Verbindungen”. Hier werden die Verbindungen zu den Zentralen (wie erwähnt, man kann mehrere Zentralen gleichzeitig nutzen) konfiguriert.
Bei mir mit der z21 sieht das dann so aus:
Ich habe bei meiner z21 die IP Adresse geändert, damit sie zu meinem Heimnetzwerk passt. Deswegen muss ich sie in der Maske noch ändern. Nach dem Speichern und dem erneuten Neustart ist die Verbindung zur z21 hergestellt und man kann anfangen zu arbeiten. Es gibt noch “tausende” weitere Einstellungen, um die wir uns später kümmern werden, sofern sie relevant sind.
Im nächsten Kapitel fangen wir an, mit JMRI zu arbeiten. Dazu bauen wir zuerst mal unsere Lok- Bibliothek auf, auf die quasi ständig zugegriffen wird. Das wird in Decoder Pro erledigt, was wir uns als Nächstes etwas näher anschauen wollen.








































