Der Autor Viktor Krön hat in der Aus­ga­­be 2020­/2 der Mo­dell­bahnzeitung „DiMo“ (Digitale Modellbahn) einen Auf­satz mit dem Titel „Wie viel WLAN braucht die Mo­dell­bahn?“ ver­öf­fentlicht und darin ein­en draht­­losen 2-Bit Masse- oder Kon­takt­sen­sor auf der Basis eines We­mos D1 Mini be­schrie­ben. Die Rück­mel­der haben sich an ein WLAN Gate­way an­ge­meldet, das auf der einen Seite alle Rück­mel­dungen ein­ge­sam­­melt und sie auf der ande­ren Seite an den PC wei­ter­ge­reicht hat. Verwen­det wurde dabei das Roco / Fleisch­­mann Z21 Ethernet Pro­to­koll. Die Erstausgabe dieses Z21 WLAN Rückmelders wurde später ver­bessert und hier im Blog veröffentlicht. Das neuere Projekt läuft hier unter „NextGen“. Bald nach der Erst­ausgabe des 2-Bit WLAN-Rückmelders mit Z21 Protokoll wollte Viktor Krön auch die Märklin Klientel be­dienen und das cs2CAN Protokoll der CS2 für die drahtlosen Rück­mel­dungen verwenden. Daraus ergab sich also eine zweite Firmware Variante, spezifisch für die Anwender einer CS2 (oder CS3?). Nachdem ich eine Märklin Gleisbox mit einem WLAN-Interface für die Steuerung durch einen PC ausgestattet hatte, wurde noch eine dritte Variante der 2- bzw. 4-Bit Firmware erfor­der­lich, die mit dem cs2CAN Modellbahn- und dem UDP-Netzwerk-Protokoll betrieben wird. Nachstehend werden die 3 Varianten beschrieben.


2- (4-)Bit WLAN-Rückmelder mit Roco Z21 Ethernet Protokoll.

Die in der DiMo beschriebene Ursprungsvariante des 2-Bit Rückmelders mit Z21 Protokoll ist längst nicht mehr aktuell und hat, obwohl sie bestens funktioniert, einige gravierende Nach­teile, die mit der Ausgabe der „NextGen“ Variante beseitigt wurden. Da die Hardware seit der Erstausgabe unverändert ist, können die Module auf den aktuellen Stand geflasht werden.

2-(4-)Bit WLAN-Rückmelder für Märklin CS2.

ACHTUNG: Da mir keine CS2 zum Testen zur Verfügung steht, handelt es sich im nachfolgenden Text nur um einen Entwurf. Entsprechend habe ich den dazugehörigen aktuellen Code der Version 4.0 nicht veröffentlicht. Der Code, der weiter unten zur Verfügung gestellt wird, hat die Versionsnummer 3.1, und wurde noch an einer CS2 getestet.

Nach der Veröffentlichung der WLAN-Rückmelder mit Z21 Protokoll, mussten auch die Be­trei­ber von Märklin CS2 in den Genuss von WLAN-Rückmeldern kommen. Deswegen wur­de untersucht, was auf der bestehenden Hardwarebasis gemacht werden muss, um im Layout einer Märklin CS2 den Status dieser Rückmelder anzuzeigen.

Die Firma Märklin hat das von ihr ver­­wendete CAN-Bus-Pro­tokoll und des­sen Kap­selung in Ether­net Da­tenpaketen beschrie­ben und diese Spezifikation im Netz ver­öf­fent­licht. Wenn man im Browser die IP-Adres­se der CS2 eingibt und auf der CS2 Web­seite den Rei­ter „cs2-CAN“ auf­ruft, gelangt man ebenfalls zu dieser Be­schrei­bung des Pro­to­kolls.

Für unser damaliges Vorhaben benötigten wir nur einen Befehl, nämlich den Rück­melde-Event mit der CAN-ID 0x22, bzw. 0x23. Mit diesem Tele­gramm kann man der CS2 einen neuen ‚S88‘ Status schicken. Dabei ist ‚S88‘ eigentlich nur Märklin Vokabular und muss mit dem bekannten Schieberegisterbus nichts zu tun haben. Gemeint sind einfach Rückmeldungen, egal welcher Art. Wenn man die 13 Byte des Te­le­gramms kor­rekt zusam­mensetzt, und es unter An­wendung der CS2 IP-Adres­se und Port 15731 ab­setzt, leuch­­tet der kleine el­lip­sen­­för­­mige Indikator des Rück­melders im Layout Display der CS2 gelb auf.

Viktor Krön hatte genau das mit sei­nem Smart­phone und der App „UDP-Sender“ schon mal aus­­probiert, und konnte auf dem Gleisbild der CS2 be­liebige Rück­melder ak­tivieren. Wir frag­ten uns, ob das nicht auch mit dem 2-Bit Rück­mel­de­modul möglich sein würde.

Eine CS2 hat ein eingebautes Gateway, d.h., dass alle Netzwerk-Nachrichten, die an die IP-Adresse der CS2 gehen, automatisch in den Internen Märklin CAN-Bus und zusätzlich an alle verbundenen Ethernet Knoten weitergeleitet werden. So konnten wir uns das eigene Gateway – wie bei Z21 – spa­ren und beliebig viele (so viele wie das Netz­werk er­laubt) Rück­mel­de­­mo­dule direkt verwenden.

Am 16.5.2020 war der Sketch so weit ge­diehen, dass die Rückmelde-An­zei­gen im Display der CS2 leuchteten.

Dazu mussten folgende Einstellungen in der CS2 gemacht werden:

  • Die CS2 benötigt bevorzugt eine feste IP-Adres­se. Hier habe ich die Adres­se 192.168.20.100 ein­getra­gen, die von meinem WLAN-Router TP-Link_4174 bereitgestellt wird. Die Verwendung von „auto“‚ (DHCP) wird nicht emp­foh­len.
Eingabe der Netzwerkparameter
  • Das CAN Gateway starten und als Broad­­­cast Adresse die Broadcast Adres­se des WLAN-Routers des Mo­dellbahn-Netzwerkes ver­wen­den.
Eingabe der Broadcast-Adresse
  • Im Reiter Layout kann die Funk­tion al­ler Rückmelder beob­ach­tet wer­den, egal ob sie nun von der S88 Schnitt­stel­le auf der Un­ter­­sei­te, von einem LinkS88 CAN-Bus Mo­dul oder über WLAN hereinkommen. Die Rück­­mel­der müssen na­tür­lich erst einmal hän­disch in das Layout eingefügt wer­den.
Layout zum Testen der WLAN Rückmelder

Als Nächstes stand der Ver­such an, diese Rückmel­dun­gen auch in Mo­dell­bahn-Pro­­­gram­men wie Roc­rail, iTrain und Win-Digipet zu ver­wen­­­­den. Nach an­fänglichen Schwierig­­kei­ten hatte ich im Au­gust 2020 meine Soft­ware so weit, dass alles funk­tio­nier­te und ich sogar meine WLAN-Rück­mel­der auf der CS2.exe (eine CS2 Emu­la­tion für Windows) beobachten konn­te. Auch auf der „MainStation“ App von Mär­klin funk­tio­nier­ten die WLAN Rück­mel­der. Mittlerweile ist die Ausführung der Märklin Apps an der physikalischen Verfügbarkeit einer CS2 gebunden.


Auch virtuelle Rückmelder

Der Wemos D1 Mini sitzt nun da, über­­wacht die beiden Eingangs­ports und lang­weilt sich die meis­te Zeit. Da kam Viktor Krön auf die Idee, ihn nicht nur zwei reelle S88, sondern auch noch n vir­tuelle S88 Mel­dun­gen er­zeu­gen zu las­sen.
Aber, wofür braucht man eigentlich vir­tuel­le S88 Meldungen?

Die reellen S88 Eingänge haben die Auf­gabe, den Zustand der Be­legt­mel­der, der Kontakt- und Schalt­gleise, je­derzeit zeit­nah zur CS2 zu über­tra­gen. Die CS2 ver­­wen­det in der „Me­mo­­ry“ Ebe­ne sowohl den Zustand als auch die Zustands­än­de­run­gen der S88 Rück­mel­der. Nur Verän­de­run­gen im Zustand eines S88 Ein­gangs, die so­ge­nannten „Flanken“, kön­nen Fahr­stra­ßen ak­ti­vie­ren. Bildlich wird die steigende Flanke so Positive Flanke und die fallende Flanke so Fallende Flanke darge­stellt. Die Zu­stände einzelner oder mehr­erer an­de­ren S88 Eingänge können als „Bedingung“ für die Fahr­straße einge­tra­gen werden. Hat die Flanke nun eine Fahr­straße aufge­rufen und sind alle Be­din­gun­gen erfüllt („UND-Ver­knüp­fung“), dann führt eine Fahr­stra­ße die ihr vom An­wender zuge­wie­­senen Aktionen aus, z. B. eine Wei­che Schalten, Signal auf Grün, Lok­­pfiff aus­lösen und Lok mit Rich­tung und Ge­schwindigkeit star­ten. Jede Ak­tion kann mit einer Wartezeit kombi­niert werden. Was man in der CS2 leider nicht als Bedingung ver­wen­den kann, sind z. B. die Stellung einer Weiche, die aktive Fahrt­richtung einer Lok oder ein ge­spei­cher­ter Zustand. Unter Zu­hil­fe­nah­me von virtuellen Meldern sind aber sol­che Bedin­gun­gen leicht zu realisieren. Auch virtuelle S88 kön­nen Flanken er­zeu­gen, mit denen man Fahr­stra­ßen ak­ti­viert. Die CS2 unterscheidet nicht zwi­schen virtuel­len und reellen Rück­mel­dern, genau­so wenig, wie WLAN- von verkabelten Rück­meldern unterschieden wer­den.

Beispiel 1 – Fahrtrichtung:

Fahrstraße A1 hat die BR64 auf die Stre­cke geschickt. Sie fährt da­bei auch über S88 Kontakt­gleise oder Be­legtmelder, die eigent­lich Fahr­­stra­ßen und Aktionen für den Rückweg auslösen sollen. Es soll z. B. vor und nicht auch noch hinter ei­nem Bahn­übergang (beim Überfahren des Sen­sors für die Ge­gen­­rich­tung) ge­pfif­fen werden. Wenn man aber beim Los­schi­cken der BR64 gleich einen vir­tu­el­len S88 Merker setzt, der aus­sagt, dass die Lok in Fahrt­richtung rechts unter­wegs ist, kann dieser in allen Fahr­stra­ßen, die auf dem Weg angeregt werden, als Bedin­gung ein­gesetzt werden und nur Ak­tio­nen zulassen, die für diese Fahrt­rich­tung Sinn ergeben. Im Wen­de­punkt der BR64 wird nicht nur gewendet, sondern auch der vir­tuelle Merker wieder ge­löscht und damit kön­nen nun die Fahr­stra­ßen und Aktionen für den Rück­weg in Fahrt­rich­tung links aktiv wer­den. Die klas­si­sche Märklin Lösung für die­ses Pro­blem ist das me­cha­nisch funk­tio­nie­ren­de Märklin Schalt­gleis, bei dem der Fahrzeugschleifer für beide Fahrt­rich­tun­gen un­ter­schied­liche Mikro­schal­ter be­tä­tigt.

Beispiel 2 – Prüfen einer Weichenstellung:

Je nach Weichenstellung soll die BR64 oder die BR86 auf die Strecke ge­schickt werden. Wenn gleichzeitig mit dem Stel­len der Weiche ein vir­tu­el­ler S88 Eingang gesetzt wird und die BR64 den End­bahn­hof erreicht, kann dort mithilfe dieses Merkers die pas­sende Fahr­straße zum Ab­brem­sen und Umkehren nur der BR64 aktiviert wer­­den. Die BR86, die mög­lich­er­­wei­­se wo­an­ders unterwegs ist, erhält kei­ne Befehle zum Abbremsen und Um­kehren, weil die für sie kon­zipier­te Fahr­straßen des End­bahn­hofs gar nicht erst aktiv werden.

Wie setzt man nun einen virtuellen S88 Melder?

Die virtuellen S88 Melder sind in der Grundeinstellung den S88 Adressen 513 bis 520 zu­ge­ord­net. Sie wer­den logisch wahr (=belegt), wenn die kor­res­pon­die­ren­de Weiche 513 – 520 auf ge­ra­de (ge­rade = grün) ge­schaltet wird. Schaltet man die Weiche wieder auf ab­zwei­gend (rund = rot), dann er­löscht auch der zu­ge­hö­ri­ge virtuelle S88 Melder. Eine Wei­­che ist von Na­tur aus remanent, d. h., die Stellung ändert sich nicht, bis bewusst die andere Weichenstellung ge­wählt wird.

Wichtig ist, dass die Weichen, die Sie für die virtuellen S88 benö­tigen, auch im „Key­board“ an­ge­legt wer­den. Sie müssen nicht, aber können auch phy­si­ka­li­sche Wei­chen sein. Dann aller­dings sollte das gewähl­te Proto­koll auch dem des einge­setz­ten Weichen­deco­ders (DCC oder MM) entspre­chen.

Über das Konfigurationsmenü der WLAN Rückmelder (siehe weiter un­ten) können Sie im Be­reich von 1 bis 1017 8 (acht) auf­ein­an­der­­fol­gen­de Wei­chen und ent­spre­chend 8 S88 Rück­mel­der konfigurieren. Theo­retisch brauchen sie dafür nicht mal einen kompletten WLAN-Rück­mel­der, son­dern nur ein We­mos D1 mini Ent­wick­lungs­mo­dul mit der weiter unten zur Verfügung gestellten Firm­ware.
Voreingestellt ist, wie gesagt, der Be­reich ab Adresse 513, also Wei­che 513 ist mit S88 #513 gekoppelt, usw. Der vor­ein­ge­stell­te Bereich geht bis 520, um­fasst al­so 8 Weichen und ent­spre­ch­end 8 vir­tuel­le S88. Es spielt keine Rolle, ob die Weiche als MM oder DCC Weiche de­fi­niert wur­de, der Adress­bereich 1 – 1024 gilt für beide Typen gemeinsam.

Alternative zum virtuellen Melder

Die 100-prozentige Märklin Alterna­tive ist natürlich ein reel­ler S88 Rück­mel­der. Muss die­ser S88 Melder dau­er­haft be­legt melden, dann muss er über einen Märklin Schalt­deco­der K83 mit Mas­se be­aufschlagt werden. Die Kom­po­nen­ten müssen beschafft und ver­drahtet werden und sind nicht so kosten­gün­stig und bei wei­tem nicht so komfor­tabel wie ein vir­tuel­ler Mel­der, der ganz ohne Draht aus­kommt.
Dieser über einen Schaltdecoder ge­schal­­tete S88 Eingang ist natür­lich ge­nauso „remanent“ (speichernd) wie die Weiche und kann nun im Memory in einer Fahrstraße als Be­din­gung ver­wen­det wer­den.

Damit das Wemos D1 Mini Entwick­lungs­mo­dul neben der Über­wa­chung und Mel­dung seiner beiden S88 Ein­gänge auch virtuelle S88 Mel­dun­gen erzeugen kann, „hört“ es auch auf Wei­chen­be­feh­le, die von den CS2 Fahr­straßen oder direkt über das Keyboard aus­ge­löst werden. Immer wenn eine be­stimm­te Weiche im defi­nierten Be­reich „grün“ ge­schal­­tet wird, wird der virtuelle S88 Melder mit der­sel­ben Adres­se wie die Weiche aktiv. Wird die Weiche wie­der auf „rot“ ge­schal­tet, geht auch der entspre­chen­de S88 Mel­der wie­der aus. Es muss aber keinen physi­ka­lisch­en De­coder oder gar eine physi­ka­lische Wei­che ge­ben, nur die Ausgabe des Weichen­kom­man­dos reicht.


Diagnose

Der WLAN Rückmelder wird über seinen USB-Port mit 5V versorgt. Ver­bindet man den USB-Port mit dem PC, be­steht die Mög­­lichkeit, mit einem Ter­minal Pro­gramm die seriellen De­bug-Ausgaben des Rück­mel­ders zu beobachten.
Achtung: bauen Sie einen Kontakt­sensor nach und verbinden ihn über USB mit dem PC, so kann die dadurch ent­stan­de­ne Massever­bindung zwi­schen CS2, Gleis und dem Wemos USB-Port zu einer Beschädigung der Komponenten führen. Stellen Sie sicher, dass mindestens eines der bei­den Systeme (PC und CS2) iso­liert be­trie­ben wird. Vermeiden Sie mehr­fache Verbindungen zwi­schen CS2 und PC und anderen Komponenten!
So wird angezeigt, mit welchem WLAN Netzwerk sich der Wemos zu verbin­den versucht. Hier sieht man auch die Modul­ken­nung, die „NID“. Im Betrieb werden alle Rück­mel­dun­gen ange­zeigt, egal, ob sie von der CS2, einem an­de­ren WLAN Rück­melder, einem Telefon oder von ei­nem CAN-Bus Teil­neh­mer stam­men (z. B. Link S88). Weil für die virtuellen Rück­melder Wei­chen­te­le­gram­me ver­wendet wer­den, kom­men diese eben­falls zur An­zeige, auch dann, wenn sie nicht mit einem vir­tu­el­len Melder ver­bunden sind. Der im Mo­ni­­tor an­ge­zeigte Ab­lauf beim vir­tuellen Mel­der ist möglicher­weise et­was ver­wir­rend. Zuerst wird eine „Spule“ der Wei­che, die für rot oder die für grün, be­stromt. Darauf rea­giert der vir­tuelle Melder mit der Sta­tusänderung und di­rekt danach wird der „Strom“ von der CS2 wieder abgeschaltet. Der virtuelle Mel­der rea­­­­giert jetzt nicht. Wird die andere Spule bestromt, reagiert der virtuelle Melder erneut und wech­­selt den Sta­tus. So­fort danach wird der „Strom“ wieder abgeschal­tet. So sehen Sie immer 3 Telegramme für einen Status­wechsel eines vir­tuel­len Melders. Hier ist eine Kopie der seriellen Ausgabe des WLAN Rück­mel­ders #0292:

***************************************************************************************
WEMOS D1 Mini20201130 Dual Channel Wireless Contact Feedback Module V3.02
(c) 2020  Gerard Clemens
Router WiFi SSID         : TP-Link_4174
Router WiFi Password     : ********
Connecting to TP-Link_4174
........ took 4.00 s
IP Address S88 Module    : 192.168.020.101
CS2/CS3 IP Address       : 192.168.020.100
MAC Address S88 Module   : 24:62:AB:0B:9E:4D
Module NID               : 0x124 (dec. 292)
WiFi Sensor Module and CS2 are connected
FB-Channels              : 1 - 2 (Märklin CS2 S88).
VirtChannels             : 513 - 520 (Märklin CS2 S88).
To change FB-Channels and router WiFi credentials 
connect to WiFi network SSID AP0292,
use Password NWKONFIG and your web browser on IP 192.168.016.001. 
***************************************************************************************
13 B -> 192.168.020.100:15731 : WiFi FB NID = #0292 - 0001=1     - 00 23 0B 24 08 00 00 00 01 00 01 01 24
13 B -> 192.168.020.100:15731 : WiFi FB NID = #0292 - 0001=0     - 00 23 0B 24 08 00 00 00 01 01 00 01 24
13 B -> 192.168.020.100:15731 : WiFi FB NID = #0292 - 0002=1     - 00 23 0B 24 08 00 00 00 02 00 01 01 24
13 B -> 192.168.020.100:15731 : WiFi FB NID = #0292 - 0002=0     - 00 23 0B 24 08 00 00 00 02 01 00 01 24
13 B <- 192.168.020.100:15731 : WiFi FB NID = #3562 - 0004=1     - 00 23 6F 6A 08 00 00 00 04 00 01 0D EA
13 B <- 192.168.020.100:15731 : WiFi FB NID = #3562 - 0003=1     - 00 23 6F 6A 08 00 00 00 03 00 01 0D EA
13 B <- 192.168.020.100:15731 : WiFi FB NID = #3562 - 0004=0     - 00 23 6F 6A 08 00 00 00 04 01 00 0D EA
13 B <- 192.168.020.100:15731 : WiFi FB NID = #3562 - 0003=0     - 00 23 6F 6A 08 00 00 00 03 01 00 0D EA
13 B <- 192.168.020.100:15731 : DCC Switch#0009,Coil#1,State: 1  - 00 16 A7 09 06 00 00 38 08 01 01 00 00
13 B -> 192.168.020.100:15731 : Virt. S88#0009, State: 1         - 00 23 0B 24 08 00 00 00 09 00 01 01 24
13 B <- 192.168.020.100:15731 : DCC Switch#0009,Coil#1,State: 0  - 00 16 A7 09 06 00 00 38 08 01 00 01 24
13 B <- 192.168.020.100:15731 : DCC Switch#0009,Coil#0,State: 1  - 00 16 A7 09 06 00 00 38 08 00 01 00 00
13 B -> 192.168.020.100:15731 : Virt. S88#0009, State: 0         - 00 23 0B 24 08 00 00 00 09 01 00 01 24
13 B <- 192.168.020.100:15731 : DCC Switch#0009,Coil#0,State: 0  - 00 16 A7 09 06 00 00 38 08 00 00 01 24

Screenshot der Serial-Monitor Ausgabe

Das aktuelle Testprojekt besteht aus folgenden Komponenten:

CS2 mit Adresse               192.168.20.100(fest)
WLAN Rückmelder #3562 mit Adresse192.168.20.101(DHCP / fest)
WLAN Rückmelder #0292 mit Adresse192.168.20.102(DHCP / fest)
Router tp-link TL-WR841N192.168.20.1(DHCP von 101 -199)

Konfiguration

Der WLAN Rückmelder wird mittels Web-Interface konfiguriert. Da sich ein neues WLAN Rück­mel­de­mo­dul noch mit kei­nem Netzwerk verbunden hat, ist es für den PC-Browser oder für die Browser im Smartphone oder Tablet erst einmal nicht erreichbar. Damit das Web-In­ter­face den­noch angezeigt werden kann, spannt das We­mos D1 Mini Modul ein eigenes „Service“ WLAN mit der SSID „APXXXX“ auf. „XXXX“ ist dabei die 4-stel­lige NID Num­mer, die aus der Mac-ID des Wemos Bausteins ab­ge­leitet wird. Hier im Kon­fi­gura­tions­bei­spiel ist das die Num­­mer 0292. In dieses Netzwerk mit SSID „AP0292“ können sich PC, Smart­phone und Tablet ein­log­gen. Für die An­meldung verwendet man IMMER das Passwort „NWKONFIG“. Anschließend wird der Webbrowser aufge­ru­fen und in der Adresszeile wird 192.168.4.1 ein­gegeben (auch die Adresse ist für alle WLAN-Rückmelder gleich). Der Browser zeigt nun die nach­fol­gen­de Maske an.

Menü des 2-(4-) Bit WLAN Rückmelders

Hier gehen wir zunächst auf den Menüpunkt „WiFi Configuration“, um SSID und Passwort des Modelbahn-WLAN Routers bekannt zu geben.

Konfiguration des WLAN Netzwerkes

Module NID: In diesem Beispiel ist das 0292 die ein­malige Kennung des Moduls. Jedes Modul hat eine indi­vi­du­elle Iden­tität. Die Nummer ist un­ver­änder­lich und be­legt, dass man sich über das Service-WLAN „AP0292“ mit dem zugehörigen WLAN Rück­mel­de­mo­dul mit NID=0292 verbunden hat.

SSID: Das WLAN Rückmeldemodul ver­bindet sich über einen WLAN-Rou­ter mit der CS2/CS3. Dazu braucht es die SSID des Rou­ters (meistens unten auf dem Router aufgedruckt).

Password: Das Passwort des WLAN-Routers (steht auch meistens unten auf dem Aufkleber des Routers), es sei denn, Sie haben es im Router geändert.

Central Station IP (last octet): Geben Sie die 4. Stel­­le der IP-Adresse der CS2 ein, die Sie in Schritt 1 weiter oben im Setup der CS2 manuell festgelegt haben.

Terminal PC IP (last octet): Das ist die 4. Stelle der IP-Adresse eines PCs, auf dem ein TCP Terminal-Programm für das Debugging/Monitoring laufen soll. Wenn Sie das nicht haben, geben Sie die 4.Stelle der IP-Adresse des PCs mit dem Modellbahnsteuerprogramm an.

First feedback channel (1 – 1024): Das WLAN Rück­mel­de­mo­dul verwendet 2 Rück­melde­kanäle aus dem Stan­dard S88 Bereich der CS2. An dieser Adresse dürfen sich auch physi­ka­lische S88 Rück­mel­der befinden, was aber zu Verwir­rung und Frust beim Anwender sor­gen kann. Ha­ben Sie z. B. 2 S88 Mo­du­­le ange­schlos­sen, sind die er­sten 32 Bit (1 – 32) prak­tisch nicht für WLAN Rück­­mel­der zu gebrau­chen. Der erste WLAN-Rückmelder kann, muss aber nicht, die Nummer 33 sein. Der zwei­te Mel­der des WLAN Rück­mel­­ders er­hält automatisch die Nummer 34. Sie kön­nen aber im Bereich 1 – 1023 eine be­lie­bige Nummer wählen, unter Um­stän­den über­lappt sich der Be­reich mit den phy­si­ka­li­schen S88. Hier im Beispiel meldet sich der Rückmel­der auf den Adres­sen #1 und #2, weil keine S88 direkt an der CS2 betrieben wurden.

Address of the first of 8 virtual S88 (1 – 1016): Das ist die Adresse des er­sten von 8 „Merkern“ oder vir­tuellen Rück­mel­dern, die über Weichen­be­feh­le gesetzt (grün) oder wieder ge­löscht werden kön­nen (rot). Nach dem Einschalten der WLAN Rück­mel­der sind alle virtuellen Rück­meldun­gen aus, und zwar un­­ab­hän­gig von der ak­tuellen Lage der da­zu­ge­hö­ri­gen Weiche. Die Nummer des virtuel­len Rückmelders korrespondiert immer mit der Nummer der Wei­che, die zum Stellen verwendet wird. Hier im Bei­spiel habe ich die virtuellen Rückmel­der auf #9 – #16 angemeldet, weil auch die Wei­chen #9 – #16 nicht phy­sikalisch vorhanden sind.

Device ID: In der Grundeinstellung des WLAN-Melders werden die bei­den Rück­mel­de­ka­nä­le und die virtuellen Melder so gemapt, als wür­den sie von der 6-poligen S88 Schnitt­stelle auf der Unter­seite der CS2 stam­men. Diese Schnittstelle hat die Gerä­te­nummer 0. Märklin nennt das im Setup-Menüpunkt „Geräte“ die „Gerät-Kennung“. Das funktioniert sogar auch, wenn die CS2 gar keine S88 über diese Schnittstelle bedient. Haben Sie andere Rück­­mel­de­ge­räte im Ein­satz, die über noch nicht beleg­te Adress­be­rei­che ver­fü­gen, können Sie hier auch die Gerät-Ken­nung die­ses Ge­rä­tes ein­set­zen. Damit stehen Ihnen für die WLAN-Rück­­mel­dun­gen weitere Adress­berei­che zur Verfü­gung. Bei Link s88 bei­spiels­wei­se gibt es Adres­sen von 1 bis 16 für die S88 Ein­gän­ge auf Klemme, alternativ bei Konfigu­ra­tion als Matrix (8 x 8) auch von 101 bis 164. In den 3 Bussen ste­hen je­weils 496 Adressen zur Verfü­gung (1001 – 1496, 2001 – 2496 und 3001 – 3496).

Sind alle Daten eingegeben, klicken Sie auf „Send“. Der WLAN Rück­­­mel­­der star­tet neu, die WLAN-Verbin­dung zum Brow­ser bricht ab und der Rück­mel­der startet mit den neuen Pa­rametern. Er meldet sich an Ihrem WLAN-Rou­ter an und beide Rück­melder sen­den ihren Initialzustand an die CS2.

Das Menü des 2-Bit WLAN Rückmelders nach
der Anmeldung an den WLAN-Router und
Verbindung zur CS2

Ruft man die Webseite danach noch ein­mal auf, fällt auf, dass sich die Far­be der Überschrift von rot auf grün geändert hat. Das heißt, dass sich der WLAN Rück­­mel­der korrekt am Router an­ge­mel­det hat und zusätzlich die Verbindung zur CS2 erfolgreich aufgebaut wurde.

Beim Einschalten der CS2 dauert es eine gewisse Zeit, bis sie sich mit dem Router verbindet. In der Zeit sind die WLAN-Rück­melder längst mit dem Router ver­bun­den und versuchen sich mit der CS2 zu verbin­den, die aber da noch hochfährt und nicht erreichbar ist. In dieser Zeit ist die Überschrift der Webseite orange. Ist die CS2 hoch­gefahren, verbindet sich der WLAN-Melder automatisch mit der Zen­trale. Nach wenigen Sekunden kann man die Verbindung durch Aktua­lisieren des Browserfensters prüfen. Wird die Über­schrift der Webseite nun grün, ist alles OK. Bleibt die Überschrift orange, muss die Konfiguration der CS2 und/oder die des Melders ge­prüft werden.
Wenn die WLAN-Verbindung zum Router steht, wird das temporäre WLAN Netz „APXXXX“ abgeschaltet. Sie wird jetzt nicht mehr benötigt.

Das Untermenü CV Configuration

Im Untermenü „CV Configuration“ können weitere Parameter eingestellt werden.

Sollten Sie in der Konfiguration noch mal etwas ändern wollen, können Sie das WLAN Rück­mel­demodul über Geräte wie PC, Handy oder Tablet, die ebenfalls mit dem Mo­dell­bahn­rou­ter ver­bun­den sind, er­rei­chen. Geben Sie in der Adresszeile des Browsers einfach die IP Nummer des Moduls ein.


Software über OTA laden

Im Normalfall wird die Software über USB geladen. Die Vor­gehens­weise mit dem Tool ESP8266Flasher wurde schon an vielen Stellen beschrieben. Mit dem Smartphone und einem OTG Kabel ist der Up­load und das De­bug­­ging ebenfalls möglich. Ist der fertig pro­gram­­mierte Rückmelder ein­mal verbaut und mit dem USB-Kabel nicht mehr oder nur schwierig zu er­rei­chen, kann er auch mit „OTA“ (Over The Air), also über WLAN, ak­tu­alisiert werden. Die Vor­ge­­hens­­wei­se mit dem Smartphone Schritt-für-Schritt:

  • Laden Sie die Firmware in ein Ver­zeichnis Ihres Android Handys.
  • Installieren Sie die App „ESP8266 Loader“ von Bluino Electronics aus Google Play.
  • Verbinden Sie das Smartphone über WLAN mit dem WLAN-Rou­ter, an dem auch der Rück­melder angemeldet ist.
  • In der App (Setting) geben Sie auch die SSID und das Passwort für den (Modellbahn-) WLAN-Router an.
  • Immer noch unter Setting aktivie­ren Sie „Upload Code via – WiFi“.
  • Schließlich wählen Sie immer noch unter Setting die IP des zu aktuali­sierenden ESP Ent­wick­lungs­mo­duls aus. Hier in der App werden leider keine Hostnamen, sondern nur IP-Adressen ak­zep­tiert. Wenn Sie un­si­cher sind, welche IP-Adres­se Ihr WLAN Mel­der hat, schauen Sie in Ihrem Router nach. Alternativ „pin­gen“ Sie den WLAN-Melder mit sei­nem Host­na­men an. Für den Bau­stein mit der NID 2100 (Hostname „AP2100“) finden Sie so her­aus, dass der Melder über DHCP die Adres­se 192.168.20.102 er­hal­ten hat. Das sieht dann im DOS-Fenster (in der Eingabe­auf­forderung) so aus:
C:\Users\Gerard Clemens>ping AP2100

Ping wird ausgeführt für AP2100.local [192.168.20.102] mit 32 Bytes Daten:
Antwort von 192.168.20.102: Bytes=32 Zeit=114ms TTL=255
Antwort von 192.168.20.102: Bytes=32 Zeit=6ms TTL=255
Antwort von 192.168.20.102: Bytes=32 Zeit=3ms TTL=255
Antwort von 192.168.20.102: Bytes=32 Zeit=2ms TTL=255

Ping-Statistik für 192.168.20.102:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 2ms, Maximum = 114ms, Mittelwert = 31ms
  • Zurück auf der Hauptseite wählen Sie das vorher geladene .BIN File aus, das dann in der obersten Zeile an­ge­zeigt wird.
  • Drü­cken Sie den grünen Aufwärts-Pfeil auf der Hauptseite der App neben dem .Bin File.
  • Nach einigen Sekunden erscheint ein grüner Haken und der Schrift­zug „Finish“

Achtung: Mit OTA kann man die Firm­ware nur aktualisieren. „Leere“ ESP8266 Module kennen noch kein „OTA“ und müssen erst einmal über USB mit der Rückmelder-Firmware inklusive OTA geladen werden!


Nachbau

Die Rückmelder werden, wie in der „Dimo 2020/2″ be­schrie­­ben, auf oder unter einem Wemos D1 Mini Entwick­lungs­mo­dul aufgebaut.

2- oder 4-fach WLAN-Rückmelder, aufgebaut auf einem Steckbrett. Bei der im Text erwähnten 2-Bit Ausführungen werden die ESP8266 Ports D2 (INP1) und D5 (INP2) verwendet.

Auf das Entwicklungsmodul wird die un­ten verlinkte Firmware aufge­spielt, die den Status der beiden Ein­gänge INP1 und INP2 (optional auch INP3 und INP4) sowie der 8 vir­tu­el­len Mel­der auf das Layout Display der Märklin CS2 bringt. Es ist na­türlich etwas un­prak­tisch, das Steck­­brett auf der Anlage zu ver­drah­­ten. Viktor Krön hat des­we­gen 2 Pla­ti­nen als Shield für das Wemos-Modul entwi­ckelt.

Optisch getrennter Belegtmelder auf der Basis der Stromerfassung. Aufgebaut ist er auf einem Shield von Viktor Krön für das Wemos D1 Mini Ent­wick­lungs­board (der Wemos ist nicht abgebildet, bzw. nicht aufgesteckt).
Dasselbe Modul, nun aber mit aufgestecktem Wemos Enwicklungsmodul und NID3562.
Handverdrahteter Shield für 2 Massesensoren noch ohne aufgestecktem Wemos D1 Mini Entwicklungsmodul

SMD Variante des einfachen Massemelders für das Märklin C-Gleis

Es gibt zwar eine SMD Variante für das Märklin C-Gleis, die verwendet aber das Stromfühler-Prinzip und ist deswegen eher für 2-Leiter-Systeme geeignet und für 3-Leiter Märklin-Systeme eigentlich zu auf­wän­dig. Die hier vorgestellte Variante verwendet dieselbe Schaltung, wie im obigen Fritzing Aufbau. Gespeist wird diese Variante aber aus der digitalen Gleisspannung. Das hat den großen Vorteil, dass man keine USB-Steckernetzteile, USB-Powerpack oder dergleichen braucht und auch die Kabel dafür entfallen, aber den Nachteil, dass das Modul nach einem Kurzschluss oder andere Unterbrechung der digitalen Gleis­spannung ein paar Sekunden benötigt, bis es wieder am WLAN Router angemeldet ist. Ein Span­nungsausfall stellt sich aber bislang nicht als Problem dar. Sowohl das Z21 als auch das Märklin CAN Pro­tokoll melden nämlich die Ereignisse „belegt“ und „frei“ unabhängig voneinander. Fällt die Gleis­span­nung aus, kann das WLAN Modul nichts mehr melden und für die Zentrale oder die Modell­bahn­steuer­soft­ware bedeutet das, dass der Status der Rückmelder für die Zeit des Span­nungs­ausfalls erhalten bleibt. Da sich in der Zeit auch kein Fahrzeug mehr bewegt, sind die Auswirkungen meistens harmlos.

Platine für den 2 oder 4 Bit Massemelder zum Einbauen in das Märklin C_Gleis.
Die nach dem Einbau sichtbare Rückseite der Platine mit dem Anschlüssen für die Gleisspannung J und K, Programmierschnittstelle Mitte unten und die 4 Anschlüsse für 4 isolierte Schienenabschnitte, Mitte Oben. Wenn man die Platine fertigen lässt, werden die Kupferbereiche an der Antenne des ESP ausgespart, um möglichst wenig Dämpfung zu erreichen.
So sieht der eingebaute, gefräste Prototyp des SMD WLAN Massemelders aus. Die Beschriftung fehlt und die Programmierschnittstelle ist mangels Bottom-Kupferschicht nicht erreichbar. Es sind nur 2 Massesensor-Eingänge rausgeführt, Gelb K1 für das abgebildete Gleis untere Schiene und Orange K2 für die mit rotem Hütchen isolierte Schiene des Nachbargleises rechts. Der Binärcode ist immer derselbe.

Firmware für den WLAN Rückmelder für CS2
Binärcode für Wemos D1 Mini für 2 WLAN Rückmelder + 8 virtuelle Melder V3.1 vom 29.09.2020
Firmware für den Rückmelder für das Z21 Ethernet Protokoll (NextGen)
Binärcode für Wemos D1 Mini für 2 oder 4 Bit WLAN Rückmelder V1.10 vom 01.03.2024
Firmware für den Rückmelder für die CAN2WLAN Bridge in der Gleisbox
Binärcode für Wemos D1 Mini für 2 oder 4 WLAN Rückmelder V2.00 vom 07.03.2024
Tools, Hardware und Links für den einfachen WLAN Rückmelder

© 2020–2024 Gerard Clemens – letzte Aktualisierung 08.03.2024