– Wie das WLAN zur Bahn kam –

Zum Aus­pro­bie­ren und Tes­ten von Rail­Com De­tek­toren, RFID Le­sern, S88-Scan­nern und De­co­dern aller Art habe ich mir vor ei­ni­gen Jahren einen so­genann­ten Ho­sen­trä­ger ge­baut. Der Ho­sen­trä­ger beinhaltet 4 Stumpf­glei­se in einer „H“ Anordnung, die mit 4 Wei­chen und einer Kreu­zung so ver­bun­­den sind, dass ein Fahrzeug von jedem Stumpf­gleis immer beide ge­gen­über­­lie­gen­den Gleise er­reichen kann. Das Ganze ist auf einem Sei­ten­­teil eines „IVAR“ Regals auf­ge­baut und deswegen gut transportabel.

Screen Shot vom Hosenträger aus Rocrail
Gleisbild des Hosenträgers aus dem Programm Rocrail

Fahrzeug-ID über RFID und S88 einlesen

Zunächst wurden die Fahrzeuge mit 3 RFID-S88-Light Lesern über ei­nen selbst­ge­bau­ten S88 Scanner auf der Basis Ar­dui­no Uno er­kannt. Für jeden RFID Leser wurden 16 Bit (ein S88 Modul) ein­ge­le­sen und im Rocrail Programm mittels Script wie­der zu einer bi­nä­ren 14-Bit Fahr­zeug­adresse kombiniert. Der Scan­ner hat neben RFID auch die Standard Be­legt­mel­dun­gen und Gleis­kon­takte ver­ar­beitet und über USB unter Ver­wen­dung des HSI Pro­tokolls an den PC weitergegeben.


Um auf das (langsame und dadurch störanfällige) Script verzichten zu können, war der nächste Schritt die Ver­wendung des Tams RC-Talk Protokolls. Eigentlich ist das Proto­koll dazu gedacht RailCom In­for­ma­­tion, also Deco­der-Adres­se und Aufgleisrichtung der Lok an den PC wei­ter­zu­ge­ben, da aber meine RFID-S88-Light eben auch diese Informationen liefern, habe ich das Protokoll für RFID ver­wendet. RFID und Standard S88 muss­­ten nun ge­trennt wer­den. Es gab jetzt also zwei s88-Scanner, einen mit HSI Ausgabe für die Stan­dard-Rück­melder und einen mit RC-Talk Ausgabe für RFID. Beide Scanner haben über USB mit dem PC kom­mu­ni­ziert. Ent­spre­chend wurden im Modellbahn­steuer­programm 2 „Zentralen“, eine vom Typ „RC-Link“ und eine vom Typ „HSI88“ angelegt.


RFID und RailCom über RC-Talk

Der nächste Schritt war die direkte Kommunikation im RailCom For­mat mit dem Tams RC-Link Baustein. Meine RFID Leser wur­den auf der Basis eines Arduino Nanos neu gebaut und mit einer RS485 Schnitt­stelle versehen. Dadurch konnte ich meine RFID Leser ge­nau­so wie und in Verbund mit Tams RCD-1 RailCom-Detektoren an den RC-Link anschlie­ßen. Durch die Verwendung des gleichen Ge­häu­ses, gleiche Klem­men­be­zeichnung und Adres­sie­rungs­me­cha­nis­mus konnte ich 4 RFID Leser und 4 RailCom Detek­to­ren RCD1 an einem ge­mein­samen RS485 Bus betreiben und die Lok- und Rich­tungs­daten in den PC einlesen.
Mitt­lerweile hatte die Menge an Versorgungskabeln und USB Da­ten­­lei­tun­gen stark zuge­nom­men und machte einen Transport und die schnelle Wie­der-In­be­triebnahme des Test­mo­duls immer schwieriger. Da waren ja außer den Rückmeldebausteinen auch noch die DCC Zentrale und das Notebook anzu­schließen. Weil das Notebook mit nur 2 USB-Ports ausge­stat­tet ist, musste es mit einem USB-Hub erweitert werden.


Dann kam WLAN

Mitte 2018 sollten die diversen USB Datenverbindungen zum PC durch eine WLAN-Verbindung ersetzt werden. Die Offenlegung des Roco Z21 LAN Protokolls legte die Verwendung für mei­nen Zweck nahe. Im PC musste dann „nur“ eine (zusätzliche) Z21 Schnitt­stelle für die Mo­dell­bahnsoftware an­ge­legt werden. Das war zu­mindest die Idee. Begonnen wur­de mit dem Bau eines RFID Le­sers auf der Basis eines Lolin NodeMCU V3, einem verbrei­te­ten ESP8266 Entwicklungsboard mit in­te­grier­tem WLAN.


Bidirektionaler Datenverkehr

Ich stellte bald fest, dass nicht nur Informationen vom RFID Leser zum PC fließen, son­dern der PC über das Z21 Interface auch In­for­ma­tio­nen sen­det, bzw. Anfragen an die nun vir­tu­elle Z21 richtet. Diese Anfragen al­ler­dings müssen vom WLAN Modul auch beant­wortet wer­den, damit der PC nicht auf­gibt, weil da keine Z21 Zen­trale reagiert. Anfangs wurde die Be­ant­wor­tung der Fragen nach Geräte­zustand, Seriennummer und Firm­wa­re-Stand der „Z21“ in den Code des RFID Lesers integriert, bis dann der 2. und 3. Leser und der S88 Scanner auf WLAN umgebaut wur­den. Es soll­te na­tür­lich nur ein einziges Sensormodul des Ho­sen­trägers diese An­fra­gen be­ant­wor­ten. Auch wurde es zu aufwändig, jetzt 4 vir­tuelle Z21 Zen­tralen in der Soft­ware anzu­legen, für jedes Sensor­modul eine. Nach we­ni­gen Tagen wurde deswegen ebenfalls auf der Basis des ESP8266 Ent­wick­lungs­boards ein „Gateway“ ent­wickelt, das alle allgemeinen Auf­ga­ben einer virtuellen Z21 über­nimmt. So meldet das Gateway neben einer fiktiven Serien­­nummer „1234567“ und Firmware-Stand sogar eine virtuelle „Temperatur“ und eine virtuel­le „Gleisspannung“.


Gateway

Ein Gateway (auf Deutsch Tor) hat zwei Seiten. Auf der Seite der Sen­­sor­­mo­­du­le bietet es ein WLAN „SENSORNETxx“, in das sich die Sen­sorknoten einloggen. Alle hier ein­tref­fen­den Meldungen, Be­legt­mel­dun­gen, Lokomotiv-Codes, usw. werden vom Gateway mit einem Broad­­cast auf die andere Seite zu den Client-PCs weiter­ge­leitet. So können mehrere Clients die Sen­sor­in­for­ma­tio­nen gleich­zei­tig verarbeiten.
Die Anfragen, die nicht einen spezifischen Sensor (oder Aktor) be­treffen, werden vom Gate­way abgefangen und die Antwort an den anfragenden Client (PC) zurückgeschickt. Meldun­gen und An­fragen an Sensorknoten werden vom Gateway in das „Sensornetz“ weiter­ge­ge­ben und wer­den dort vom Sensor bearbeitet oder beantwortet.

Testaufbau auf einem Steckbrett
Aufbau eines doppelten RFID Lesers auf einem Steckbrett

Nach diesem ersten Umbau auf WLAN Sensoren (S88, 2 x RFID für Lok-Code und Aufgleis­rich­tung, 1 x RFID für 2 x Lok-Code) blieben nur noch die USB-Kabel für die 5V Versorgung der ESP Ent­wick­lungs­boards. Der PC ist vom Kabelsalat völlig befreit und kom­mu­ni­ziert zu 100 % nur noch über WLAN. Um auch die Versorgungs­kabel am Hosenträger zu eliminieren, habe ich einen Step-Down Wandler einge­baut, der die digitale Gleis­span­nung in eine 5 V Gleich­­span­nung transformiert und damit alle Ent­wick­lungs­boards versorgt.

WLAN Rückmelder auf den Modellbahntagen in Erkrath

Für eine Modellbahnausstellung im Lokschuppen Hochdahl (EHEH) sollte das Thema „Rückmelder auf der Modellbahn“ vertieft werden. Dabei kamen u. a. Themen wie S88, Rail­Com, RM Bus und CAN Bus auf den Tisch. Auch der Unterschied zwischen einer Punkt­meldung und einer Block-Belegtmeldung wurde ge­zeigt. Schwer­punkt war jedoch der auto­matische Block­betrieb auf einem sogenannten „Hundeknochen“. Hier wurde auf der einen Seite des Knochens der Einsatz von Roco / Fleisch­mann Rail­Com Rück­mel­dern 10808 im K-Gleis vorgeführt und auf der anderen Seite im TRIX C-Gleis die drahtlose Belegt­mel­dung über Strom­er­fas­sung.
Die SMD-Stromerfassungsmodule „RMEM2xI“ für 2 Rück­mel­de­ka­näle wa­ren in der Bettung des Trix C-Glei­­ses eingebaut und somit für das Pu­bli­kum nicht sichtbar. Ein Teil der C-Gleise wur­de sogar auf einen normalen Tisch ver­legt. Der halbe Hundeknochen mit den C-Gleisen wies kei­ner­lei sichtbare Ver­drah­tung auf, weder auf noch unter den Tischen und Modul­plat­ten. Eine im Gleis versteckte Ring­lei­tung brachte die Gleis­spannung zu den Rück­mel­de­mo­du­len und De­co­dern. Das TRIX C-Gleis wurde übrigens mit den Märklin E 520050 Mittelleiter-Kontaktfedern zu einem Gleis mit Energie-Bus (Ring­lei­tung) um­ge­rüs­tet. Ein rares Ersatzteil, das aber exakt auf die Plastiknasen der Trix C-Gleise passt.
Eine (richtige) Z21 versorgte die Gleis­span­nung für die Loks und die Wei­chen. Die zuge­hö­ri­gen Weichen­decoder be­zo­gen die DCC Information und die Energie aus dem Gleis und wa­ren eben­falls in der Bettung versteckt. Es wurden 4 WLAN-Rückmeldebausteine verbaut, die mit insge­samt 8 Mel­dern 4 Blocks über­wachten (4 Bremsabschnitte und 4 Hal­te­­ab­­schnit­te).

Abb. 6 – Der „Hundeknochen“ (die Gleisfigur) auf der Ausstellung im Lokschuppen Erkrath-Hochdahl. Der rechte Teil mit K-Gleisen, der linke Teil mit Trix C-Gleisen.

Der automatische Blockbetrieb wurde mit Rocrail gesteuert. Die Funktion der 2-Bit WLAN Rück­melder wurde mit WIN-Digipet gezeigt, funktioniert aber auch mit iTrain und Rocrail.

Auch einfache WLAN-Rückmelder

Abb. 7 – Einfacher WLAN-Rückmelder, der für 2 oder 4 Eingänge aufgebaut werden kann.

Abseits des Hundeknochens wur­de gezeigt, wie mit ein­fach­sten Mit­teln ein WLAN-Rück­mel­der aufgebaut wird. Der eigentliche Sen­­­sor war ein Märklin Schaltgleis. Das ist ein Schalt­he­bel, der vom Schleifer eines Fahr­­zeuges nach links oder rechts um­­ge­legt wird und dabei einen von zwei Mikro­schal­tern betätigt. Das Schaltgleis über­mittelt also die Betätigung des Hebels und die Fahrtrichtung des auslösenden Fahrzeugs. Die In­for­ma­tion gelangt vom Schalt­gleis über Draht in das ESP Ent­wick­lungs­board, von dort über WLAN zum Gateway und von dort in den PC. Der einfachste WLAN-Rückmelder be­steht aus einem Wemos D1 Mini WLAN Ent­wick­lungs­board und braucht an ex­ter­nen Komponenten lediglich 2 10 kOhm Wider­stän­de. Er kann über einen USB-Powerpack, ein USB-Ladegerät oder über einen USB-Port des PCs und einem Micro-USB-Kabel mit 5 V versorgt wer­den. Mit dem Freeware Pro­gramm ESP8266Flasher.exe wird die Firm­wa­re geladen und das Modul an­schließend über ein Web-Interface kon­fi­gu­riert. Im Nor­mal­fall wird nur die gewünschte Adresse der Rückmel­der verän­dert. Braucht man mehr Details über Status und Kon­figuration des Rückmelders, kann man mit einem Terminal Programm online gehen (über USB und emu­lierten COM-Port mit 115200 Baud). Neben dem Serial Moni­tor der Arduino Entwicklungsumgebung nut­ze ich dafür auch das Free­ware Programm HTerm.exe.
Für das Gateway wurde ebenfalls ein Wemos D1 Mini Ent­wick­lungs­modul verwendet. Es braucht keine ex­ternen Komponenten und sogar die mit­ge­lie­fer­ten Stiftleisten sind eher hin­der­lich als nützlich. Mit dem ESP8266­Flasher lädt man das passende .BIN File auf das Modul.
Da das Sensorgateway mit dem PC kommunizieren soll, muss es sich über WLAN mit dem­selben Router verbinden, an dem auch der Mo­dell­bahn-PC über WLAN oder LAN hängt. Um die be­tref­fende SSID, das Pass­word und die gewünschte IP-Adresse des Gate­ways einzu­ge­ben, stellt das Gateway ein Web-Interface zur Ver­fü­gung. Der Modellbahn-Router sollte nicht mit dem Internet ver­bun­den sein. Nur zur Not kann der haus­­in­ter­ne Internet-Rou­ter, z. B. die Fritz!Box, vorübergehend verwendet werden. Da aber Gateway und WLAN Sensormodule of­fene Netzwerke beinhalten, würde man die Datensicherheit des Heim­netzes damit aus­he­beln.
Ein dedizierter Modellbahn-Router, wie der mitgelieferte TP­Link Router der Z21, ist immer zu em­pfeh­len. Preisgünstig und op­ti­mal geeignet ist auch der baugleiche TPLink TL-WR840N Rou­ter. Man kann so­gar eine DR5000 oder einen Raspberry Pi als Rou­ter verwen­den. Weil nicht alle Router die Konfiguration einer fes­ten IP-Adresse zulassen, steht auch DHCP zur Verfügung.

Das Sensorgateway kann genauso wie die Sensormodule mit einem Ter­minalprogramm beobachtet wer­den. Es zeigt an seinem USB-Port alle konfigurierten Daten und Infor­mation zu der ver­wen­de­ten Hard- und Soft­ware. Wenn das Gateway die Verbindung mit dem Router erfolgreich auf­ge­baut hat, werden alle eintreffenden Z21 Nachrichten aus dem PC-Steu­er­­pro­gramm und aus dem Sen­sor­netzwerk protokolliert.


Nachbau WLAN Sensormodule und Gateway

ACHTUNG: Das Bessere ist des Guten Feind. Mit der  „NextGen“ Firmware der nächsten Generation kann die hier beschriebene Hardware einfacher und mit weniger Aufwand betrieben werden. Die NextGen Firmware bietet:

  • Die Reichweite wird nur bestimmt durch die WLAN-Reichweite des Routers. Erweiterbar über Repeater, Verstärker und dergleichen. Ausgedehnte, kabellose, aber automatisierte Tisch- und Teppich-Bahnen sind nun einfach realisierbar.
  • Kabellose Firmware Updates, Stichwort „OTA“
  • Automatische Adressvergabe für alle Sensoren und Aktoren über DHCP
  • Keine Begrenzung auf 8 Sensor-/Aktormodule pro Gateway
  • Simple (3 Eingaben), optional auch umfangreiche und komfortable Konfiguration über Web-Interface
  • Wegfall der WLANs der Aktor- und Sensormodule. WLANs nur für die Erstinbetriebnahme neuer Hardware (weniger Elektro-Smog).
  • Einheitliches, sehr informatives Web-Interface, unabhängig von der Plattform (PC, Tablet oder Smartphone)

Mehr Information zu der nächsten Generation der WLAN Rückmelder gibt es in einem separaten Blog unter https://Mobatron.4lima.de.


Downloads für den einfachen 2- (4-)fach WLAN Rückmelder
Fritzing Datei Wemos D1 Mini mit Tastern (vereinfachte Variante für absolut potenzialfreie Eingänge wie Reedkontakte oder Märklin Schaltgleise). Eine 4-fach Variante ist weiter oben in diesem Blog abgebildet.
Binärcode für den 2- oder 4-Bit Massesensor V1.04 (NextGen Variante – Z21)
Binärcode für den 2- oder 4-Bit Massesensor V1.07 (can2CS2 Variante für die CAN2WLAN Bridge in der Gleisbox)
Downloads für den eingebauten 2-Kanal SMD Stromsensor (RMEM2xI)
Binärcode für den ESP12-E auf dem RMEM2xI Stromsensormodul V1.02 (NextGen Variante V1.02 vom 15.7.23)
Binärcode für den ESP12-E auf dem RMEM2xI Stromsensormodul V1.02 (CAN2WLAN Variante V1.08 vom 21.7.23)
Eagle und Gerber Dateien für die Herstellung der RMEM2xI Platine (ZIP-Datei)
Schaltplan für das RMEM2xI Stromsensormodul
Stückliste für das RMEM2xI Stromsensormodul
Warenkorb für den RMEM2xI bei Reichelt
RMEM2xI Platine bei Seeed Studio bestellen (China)
Links auf andere Seiten zum Thema WLAN Rückmelder
Lokschuppen Hochdahl – Eisenbahn- und Heimatmuseum Erkrath-Hochdahl e. V.
Z21_LAN_Protokoll_V1.12.pdf (1,38 MB)
WLAN Rückmelder für CS2 und CS3
WLAN Rückmelder im C-Gleis
WLAN Aktor- Sensornetmodule auf der Basis des Z21 Ethernet Protokolls, die nächste Generation.
Entwicklungsumgebung, Flash Tool und Terminalprogramm
Die Arduino Entwicklungsumgebung kam für dieses Projekt zum Einsatz. Der Serial Monitor ist Bestandteil dieser Umgebung
Das Firmware Flashtool für die NodeMCU Entwicklungsmodule (ESP8266Flasher)
Das Freeware Terminal Programm HTerm von Tobias Hammer

 © 2015 – 2023  Gerard Clemens  Letzter Update 29.07.2023