Der Z21 Simulator ermöglicht die direkte Steuerung des ARDUINOS von Modellbahnsteuerungsprogrammen aus (z.B. Rocrail, iTrain, Traincontroller, WinDigiPet). Die Simulation verhält sich gegenüber dem Steuerprogramm wie eine Roco Z21 Zentrale. Wenn das Steuerproramm auf demselben Rechner läuft, findet das Steuerprogramm die Z21 Simulation unter der IP Adresse 127.0.0.1. Das Textfeld zeigt alle gesendeten und empfangenen Kommmandos an.
Der LED-ARDUINO wird direkt über USB mit dem PC verbunden.
Es ist kein DCC-ARDUINO notwendig!
Bei der direkten Steuerung des LED-ARDUINOs ist der ARDUINO immer mit dem USB-Anschluss des Steuer-PCs verbunden. Nicht nur zum Programmieren.
Das folgende Bild zeigt die Grundkonfiguration:
Was sind die Vorteile der direkten Steuerung?
Die Lösung hat aber auch Nachteile:
Das folgende Bild zeigt die minimal Konfiguration:
Die Modellbahnsteuerungssoftware muss jetzt irgendwie ihre Kommandos an den ARDUINO über die USB-Schnittstelle schicken. Da keine Modellbahnsteuerungssoftware - zumindest bis jetzt nicht - die MobaLedLib kennt müssen wir das anders lösen.
Und da kommt der Z21-Simulator ins Spiel.
„Also, wat is en Z21 Simulator? Da stelle mehr uns janz dumm. Und da sage mer so: En Z21 Simulator, dat is ene jroße schwarze Box, die hat hinten un vorn e Schnittstell. Dat eine Schnittstell, dat is de Z21 Schnittstell. Und dat andere Schnittstell, dat krieje mer später.“
Wenn man eine Modellbahnsteuerungssoftware dazu bringen möchte, mit einer neuen Hardware zusammenzuarbeiten, ist es am einfachsten der Software eine Schnittstelle zu einer Zentrale anzubieten, die sie schon kennt. Hier gibt es mehrere Möglichkeiten. Früher wurde gerne die Intellibox-Schnittstelle dazu verwendet.
Seit ROCO seine Z21 Zentrale auf den Markt gebracht hat, die Beschreibung der Schnittstelle zu Modellbahnsteuerungssoftware veröffentlicht hat und erlaubt diese nachzubilden (was ESU z.B. ausdrücklich für die ECOS-Schnittstelle untersagt) ist die moderne Z21 Schnittstelle das Mittel der Wahl.
Wir müssen also eine Software auf dem PC laufen lassen, die die Z21-Schnittstelle simuliert und der Modellbahnsteuerungssoftware vorgaukelt sie wäre eine Roco Z21. Und diese Software ist der Z21-Simulator.
Was die Z21 Schnittstelle so interessant macht, ist, dass sie ein LAN Protokoll ist. Das heißt, der Z21-Simulator kann auf demselben PC wie die Modellbahnsteuerungssoftware laufen oder auf irgendeinem anderen Gerät im LAN. Damit ist es auch möglich den Z21-Simulator auf einem Raspberry laufen zu lassen und den ARDUINO an die USB-Schnittstelle des Raspberrys anzuschließen. Damit könnte man die begrenzte Länge der USB-Kabel von max 5m beliebig erweitern. Man könnte an den Raspberry auch mehrere ARDUINOS anschließen, die jeweils für einen Teilbereich der Modellbahn zuständig sind. (Diese Funktion ist in Vorbereitung)
Die andere Schnittstelle des Z21-Simulators ist die USB-Schnittstelle. Genauer gesagt wird über die USB-Schnittstelle eine serielle Kommunikation simuliert. Diese serielle Kommunikation entspricht genau der Kommunikation zwischen dem DCC-ARDUINO und dem LED-ARDUINO, wenn eine DCC-Digital Zentrale verwendet wird. Für den LED-ARDUINO ist es deshalb überhaupt kein Unterschied, ob er über eine DCC-Digital-Zentrale und den DCC-ARDUINO die Kommandos erhält oder über den Z21-Simulator und den USB-Anschluss.
Wichtig zu wissen ist, dass der LED-ARDUINO im DCC-Modus programmiert werden muss, damit er mit dem Z21-Simulator zusammenarbeiten kann.
Der Z21 Simulator kann folgendermaßen gestartet werden:
Da es nicht sehr komfortabel ist, jedes mal, wenn man die MobaLedLib mit der Modellbahnsteuerungssoftware steuern möchte, den Z21-Simulator von Hand zu starten, gibt es eine Kommandozeilenoption, mit der man das Programm anweisen kann, den Z21 Simulator automatisch zu starten.
Die Option zum einschalten des Z21-Simulators lautet: –z21simulator True
Die komplette Kommandozeile würde also so aussehen: pyProg_Generator_MobaLedLib –z21simulator True
ACHTUNG: Diese Funktion ist in Vorbereitung und noch nicht implementiert!