15.3.2020 z21-wlan- gateway und wlan ... -...

21
15.3.2020 Z21-WLAN- Gateway und WLAN- Sensorknoten Inbetriebnahme und Diagnose Gerard Clemens BAHN-IN-HAAN.DE

Upload: others

Post on 19-Oct-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

15.3.2020

Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme und Diagnose

Gerard Clemens BAHN-IN-HAAN.DE

Page 2: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[1]

Inhalt

Inbetriebnahme des Gateways ............................................................................................................... 2

Web-basierte Konfiguration des Gateways ......................................................................................... 2

Diagnose des z21-Gateways .................................................................................................................... 6

Konfiguration der Sensorknoten ............................................................................................................. 9

Web-basierte Konfiguration der Sensorknoten .................................................................................. 9

Diagnose der Sensorknoten .................................................................................................................. 11

Die Digikeijs DR5000 als WLAN Router ................................................................................................. 13

CV Programmierung der Sensorknoten ................................................................................................ 14

Welche Sensorknoten sind aktiv? ......................................................................................................... 17

Alternativen, die Sensoradresse zu ändern........................................................................................... 18

Mit dem Programmiertaster ............................................................................................................. 18

Mit dem Roco Mechanismus zur Erteilung der Moduladressen ....................................................... 18

Page 3: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[2]

Inbetriebnahme des Gateways

Das Gateway verbindet das Sensor-Aktor-Netzwerk der Modellbahn mit dem PC-Netzwerk. Weil die

Hardware für das Gateway ein ESP8266 Entwicklungsmodul ohne LAN-Anschluss ist, wird für beide

Verbindungen WLAN verwendet. Das PC-Netzwerk besteht aus einem Standard WLAN-Router mit

LAN Anschlüssen.

Das WLAN Netzwerk des ESP8266 auf der Sensor-Aktor-Seite verhält sich wie ein WLAN Accesspoint

mit SSID „SENSORNETXX“ und Passwort „SENSORNET“. Das „XX“ des Sensornetzwerkes ist der einzige

Parameter dieses Netzwerks. „XX“ liegt im Bereich von 0 bis einschließlich 15 und erlaubt den Betrieb

von bis zu 16 autarken Sensornetzwerken (Gruppen 0 - 15). So können mehrere Gateways für eine

oder mehrere Modellbahnen parallel in einem Raum aktiv sein, ohne sich gegenseitig zu stören. Die

Grundeinstellung nach Laden der Gateway Firmware ist SENSORNET04. D.h. die voreingestellte

Gruppe ist 4.

Die IP-Adresse des Sensornetzwerkes ist entsprechend der Gruppe „XX“ 192.168.XX.1, also in der

Grundeinstellung 192.168.4.1. Wird das Gateway eingeschaltet, startet automatisch ein Webserver

mit der Adresse 192.168.XX.1.

Web-basierte Konfiguration des Gateways Um die Web-Seite zur Konfiguration aufzurufen, muss man sich zunächst in das WLAN SENSORNETXX

mit dem Passwort „SENSORNET“ einloggen. Mit der IP-Adresse 192.168.XX.1 in der Adresszeile des

Browsers wird nun die Seite aktiviert. Sie können das mit einem PC mit WLAN Adapter, einem

Smartphone oder einem Tablet PC bewerkstelligen. Hauptsache, sie erreichen das SENSORNETXX

über WLAN.

Auf dieser Web-Seite müssen nun auf der Sensorseite die Sensorgruppe (0 – 15) und auf der Seite

des PC Netzwerks die Parameter für Ihren Router festgelegt werden.

Abbildung 1 – Webseite zur Konfiguration des z21-Gateways - Hier die Angabe der Sensorgruppe

Page 4: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[3]

Hiermit haben wir festgelegt, dass alle Sensorknoten, die ebenfalls der Gruppe 4 angehören (4 ist

auch bei den Sensorknoten die Vorgabe), sich automatisch mit dem SENSORNET04 verbinden. Damit

ist die Sensorseite des Gateways auch schon definiert.

Jetzt bereiten wir das Gateway für die Verwendung im PC Netzwerk vor. Als Erstes müssen wir dem

Gateway sagen, mit welchem WLAN und mit welchem Passwort es sich in das PC-Netzwerk einloggen

kann.

Wir tragen nun die SSID und das Passwort des PC Netzwerks ein. Eine optische Kontrolle des

Passwortes während der Eingabe ist leider nicht möglich. Ein falsch eingetragenes Passwort wird

gespeichert und vom Gateway beim Versuch sich mit der SSID zu verbinden, angewendet. Natürlich

scheitert dann die Verbindung. Schlimmer ist noch, dass sich die meisten Browser das Passwort

merken und aufgrund der verwendeten SSID immer automatisch (falsch) ergänzen. Also: Sorgfalt bei

der ersten Eingabe des Passwortes!

Abbildung 2 – Webseite zur Konfiguration des z21-Gateways - Eingabe von SSID und Passwort des verwendeten Routers.

Jetzt kommt der schwierigere Part. Wir müssen definieren, unter welcher IP-Adresse unser z21-

Gateway im PC-Netzwerk sichtbar sein wird. Modellbahnprogramm und Apps brauchen diese

Adresse um die Sensordaten einzulesen.

Normalerweise weist der WLAN Router die IP-Adressen automatisch per DHCP zu. Immer wenn sich

ein Gerät wie unser Gateway in das PC-Netzwerk anmeldet, erhält es vom Router automatisch eine

IP-Adresse. Der Router nimmt die Adresse aus einem Pool von dafür reservierten DHCP IP-Adressen.

Bei der ersten Anmeldung wird die nächstfreie Adresse vergeben. Meldet sich ein Gerät erneut an,

dann versucht der Router die schon mal für das Gerät vergebene Adresse wieder zu vergeben. Das

klappt aber nur, wenn diese gerade wieder frei ist. Das bedeutet für unser Gateway und für das

Modellbahnprogramm, dass die IP-Adresse auch mal eine andere sein kann. In einem Solchen Fall

kann man IT Werkzeugen verwenden um die aktuelle Adresse zu ermitteln oder im Router

nachschauen, welches Gerät mit welcher MAC-ID welche Adresse erhalten hat.

Da das alles zu aufwändig ist, verwenden wir lieber eine feste IP-Adresse für das Gateway und lassen

die voreingestellte Option „Static IP“ aktiv. Allerdings müssen wir jetzt eine freie Adresse außerhalb

Page 5: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[4]

des DHCP Bereiches wählen. Das bedeutet, dass wir wohl oder übel im Router nachschauen müssen,

wo der DHCP Bereich liegt.

Haben wir eine Adresse festgelegt, wird sie in das Webformular eingetragen („IP-Address for Z21

Gateway“). Der nächste Eintrag ist die eigene Adresse des Routers („IP-Address of your router“). Das

ist zwar meistens die 192.168.nnn.1 aber prinzipiell kann dafür jede Adresse im Bereich von 1 bis 254

verwendet werden. Abschließend klicken wir auf „Submit“ und speichern damit die Eingaben fest im

Speicher des Gateways.

Die nächste Abbildung zeigt das komplett ausgefüllte Formular für den Betrieb des Gateways an

einem preisgünstigen TP-Link Router. Es handelt sich um einen TPLINK TL-WR841N Router aus

meinem IT-Geräte-Fundus. SSID und Passwort sind die im Router voreingestellten Werte (Label auf

der Unterseite). Die Adresse des Routers (das nnn an 3. Stelle in den IP-Adressen) wurde von mir auf

192.168.20.1 umgestellt um eine Adress-Kollision mit anderen Routern und Sensornetzen von z21-

Gateways hier im Hause zu vermeiden. Die Adresse, die das z21-Gateway erhalten soll, ist die

192.168.20.110, die letzte Adresse vor dem DHCP-Bereich, den ich von 111 bis 199 eingestellt habe.

Abbildung 3 – Webseite zur Konfiguration des z21-Gateways. Eingabe der z21-Gateway- und der Routeradresse.

Ohne etwas an den Einstellungen des Routers TL-WR841N zu ändern, würde er auch funktionieren.

Die Adresse des Routers ist auf 192.168.0.1 voreingestellt und der DHCP-Bereich geht von

192.168.0.100 bis 200. Der Adressbereich 0 kollidiert nicht mit der voreingestellten Gruppe 4, nur die

feste Adresse des Gateways müsste auf 192.168.0.99 eingestellt werden.

Die Eingabefelder der Web-Maske enthalten beim allerersten Aufruf bereits graue Texte. Diese

müssen mit den richtigen Angaben überschrieben werden, auch wenn die grauen Vorgaben

zufälligerweise richtig sind. Ist ein Gateway einmal konfiguriert worden, werden in der Eingabe-

Maske die zuvor gespeicherten Werte angezeigt. Diese können bei Bedarf jederzeit überschrieben

werden.

Page 6: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[5]

Damit ist das z21-Gateway für seine Aufgaben bereit. Sensorbausteine können sich mit dem

Sensornetz verbinden und die Sensordaten der Modellbahn erreichen auf der anderen Seite des

Gateways den PC, das Tablet oder das Smartphone, das Sie an ihren Router eingesteckt oder

angemeldet haben. Damit die Sensorinformation auch im Modellbahnprogramm ausgewertet und

angezeigt wird, müssen Sie lediglich eine (weitere) Z21 Zentrale anlegen und dabei die gerade

eingetragene Adresse des Gateways verwenden. In meinem Fall also die 192.168.20.110.

Wenn Sie „Submit“ drücken, werden die geänderten Parameter übernommen. Das Gateway startet

neu und alle angemeldeten Sensorbausteine sowie Ihr PC mit dem Browser verlieren die Verbindung

zu ihrem SENSORNETXX. Warten Sie einige Augenblicke bis das WLAN SENSORNETXX wieder sichtbar

ist, und verbinden Sie ihren PC erneut mit SENSORNETXX, um die gemachten Änderungen im

Browser zu prüfen.

Es können sich bis zu 8 Sensorknoten mit einem SENSORNETXX verbinden. Auch der PC zur

Konfiguration ist in diesem Sinne ein Knoten. Verbinden Sie bei bestehenden 8 Knoten den PC mit

dem SENSORNETXX, schmeißt das Gateway einen der bisherigen 8 Sensorknoten aus dem Netz. Nach

dem Abmelden des PCs erfordert es einen Power Cycle um alle 8 Sensorknoten wieder mit dem

Gateway zu verbinden.

Page 7: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[6]

Diagnose des z21-Gateways

Das Webformular, das man auf der Sensorseite des Gateways aufrufen kann, bietet schon eine

gewisse Diagnosemöglichkeit, indem die zuvor geänderten Werte beim erneuten Aufruf der

Webseite angezeigt werden.

Dennoch kann es zu Problemen kommen, auch während des aktiven Betriebs. Fragen wie: „Haben

sich alle Sensorknoten mit dem Gateway verbunden?“, „Kommen auf der Sensorseite überhaupt

Meldungen rein?“ oder „Sieht das Gateway die Befehle, die vom PC kommen?“ können mit Hilfe der

Konfigurationsmaske nicht beantwortet werden.

Die Firmware im Gateway protokolliert den Boot-Vorgang und nahezu den gesamten Datenverkehr.

Das Protokoll wird in Klartext auf dem USB Port des ESP Entwicklungsmoduls ausgegeben. Um das

Protokoll sichtbar zu machen, benötigen Sie also nur ein Terminal-Programm wie z.B. HTerm.

Verbinden Sie den USB-Port des ESP Entwicklungsmoduls mit einem USB-Port auf dem PC.

Schauen Sie im Geräte-Manager nach, welcher COM Port über USB emuliert wird.

Stellen Sie das Terminalprogramm auf 115200 Baud ein (8N1) und gehen auf der gefundenen COM

Schnittstelle online.

Drücken Sie die Rückstelltaste des Entwicklungsmoduls und verfolgen Sie, wie das Modul bootet und

wie es sich (oder auch nicht) mit dem Router verbindet.

Abbildung 4 – Bootvorgang eines nicht konfigurierten Gateways

In diesem Screenshot kann man sehen, dass das Gateway noch nie konfiguriert wurde („no client

network configuration data in EEPROM”). Das Gateway verbindet sich daher nicht mit Ihrem

Netzwerk, sprich mit Ihrem WLAN-Router. Trotzdem startet es den WLAN Access-Point mit der SSID

„SENSORNET04“ für die Sensorknoten. In diesem WLAN wird mit der IP-Adresse 192.168.4.1 der

Page 8: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[7]

Web-Server mit der Konfigurationsseite gestartet und im Terminal werden einige Hinweise dazu

eingeblendet.

Nach erfolgter Konfiguration auf der Webseite sieht man im Monitor:

*************************************************************************************************

LoLin (WEMOS) D1 R2 & Mini is running Sketch: _20200206_Gateway_Sensornet_V4.5

Compiled on: Feb 8 2020 at 12:20:25

(c) 2020 Gerard Clemens

This software simulates a Z21. Like a regular Z21 it can be used with a PC or a tablet computer.

It transfers messages from a wireless sensor network to the client network and vice versa.

As such it acts like a gateway with a fixed IP-address in the client network

In the actual version loco-, turnout- and configuration- commands are transferred from the client-

to the sensor-network. Sensor messages are transferred from the sensor- to the client-network

The gateway also answers all other requests from MRR Software and Z21 App (Version, Current, etc.)

The gateway applies the Roco Z21 Ethernet protocol both on the sensor and on the client network.

To configure the client network use a web browser on 192.168.XX.1 (SENSORNETXX/SENSORNET)

where XX is the number of the sensor group you configured.

*************************************************************************************************

Actual Client network configuration :

Client Network SSID : TP-Link_4174

Client Network Password : ********

Client Network Router IP : 192.168.20.1

Client Network Broadcast IP : 192.168.20.255

Client Network Z21 GW IP : 192.168.20.110

*************************************************************************************************

Actual Sensor network configuration :

Sensor Network configuring WiFi Access Point . . . Ready

Sensor Network starting Soft AP . . . Ready

Sensor Network SSID : SENSORNET04

Sensor Network Password : SENSORNET

Sensor Network Gateway IP : 192.168.004.001

*************************************************************************************************

Connecting to the Client Network TP-Link_4174 using Password ********.

....... took 3.50 s

TP-Link_4174 Network WiFi connected

Station Name (Gateway Name) : ESP-A9B3DA

Station IP Address and Port : 192.168.020.110:21105

Gateway MAC Address : 84:0D:8E:A9:B3:DA

Std. Gateway Address : 192.168.020.001

*************************************************************************************************

Sensor Group : 04

HTTP server started on SSID SENSORNET04 and IP 192.168.004.001 Abbildung 5 – Protokollierung des Bootvorgangs des z21-Gateways

Das Gateway hat sich nun im PC-Netzwerk mit dem Router verbunden. Auf der Sensor-Seite hat es

einen Access-Point mit der SSID SENSORNET04 aufgemacht. Auf der PC-Seite (Client Network) hat das

z21-Gateway die angeforderte Adresse 192.168.20.110 erhalten und bei der Anmeldung die Mac ID

84:0D:8E:A9:B3:DA verwendet. Das Gateway hat sich auch einen Hostnamen zugelegt, der im Router

mit „ESP-A9B3DA“ angezeigt wird. Falls Ihr Router das beherrscht, wird dieser Name in der Client-

Liste angezeigt. Der von mir verwendete TL-WR841N zeigt nur die MAC-ID des z21-Gateways an.

Ab jetzt werden Meldungen, die auf der Sensor-Seite des Gateways eingehen, in das PC-Netzwerk

weitergereicht. Nachrichten die von Clients im PC-Netzwerk stammen und an das z21-Gateway

gerichtet sind, werden vom Gateway beantwortet bzw. in das Sensornetz weitergeleitet. In diesem

Sinne emuliert das Gateway eine Z21 und wird auch entsprechend im Modellbahnprogramm

eingerichtet. Im nachfolgenden Screenshot sehen wir, dass ein Modellbahnprogramm einige

Anfragen an das Gateway richtet.

Als erstes fragt es nach der Hardware der „Z21“ und erhält mit LAN_RET_HWINFO hierauf eine

detaillierte Antwort. Zur Überwachung der Verbindung fragt das Modellbahnprogramm regelmäßig

nach der Seriennummer unserer „Z21“. Das Gateway antwortet mangels physikalischer

Seriennummer mit „1234567“. Danach werden Broadcast Flags gesetzt und der RM-Bus abgefragt.

Dann folgt die Abfrage der diversen „LocoNet“ Rückmelder und schließlich fragt der PC nach dem

aktuellen Zustand unseres Rückmeldemoduls. Da das Gateway die aktuellen Werte nicht kennt, wird

das Telegramm LAN_CAN_DETECTOR in das Sensornetz weitergeleitet. Das Sensormodul fühlt sich

angesprochen und schreibt für die beiden Sensoren mit den Adressen 5 und 6 die aktuellen Zustände

zurück. Diese Nachrichten kommen vom Sensormodul 192.168.4.100 und werden vom Gateway

Page 9: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[8]

sofort an den PC mit der IP-Adresse 192.168.20.110 weitergeleitet. Im Sensornetz wird der Port 9999

und im PC-Netzwerk der Port 21105 verwendet. Die NID (die eindeutige Kennung) des Sensormoduls

ist 3786, die Rückmelde-Telegramme haben eine Länge von 14 Bytes. Ist der Anfangszustand

übermittelt, berichtet das Sensormodul unaufgefordert („Broadcast“) weitere Ereignisse, bis wieder

mal die Überwachungsfrage nach der Seriennummer kommt.

Abbildung 6 – Protokollierung der diversen Telegramme in der Monitorausgabe des z21-Gateways

Insbesondere für die Rückmelder wird angezeigt:

Die Länge des Telegramms in Byte

Die Richtung des Telegramms vom Sensormodul an das Gateway oder vom Gateway an

den PC

Die IP-Adresse und der Port des Absenders

Name des Telegramms LAN_CAN_DETECTOR (gemäß Roco Spezifikation, auch gekürzt)

Die Modul-NID des Sensormoduls

Die Adresse des geänderten Rückmelders aus Sicht des Modellbahnsteuerprogramms

Der aktuelle Zustand des Rückmelders

Das komplette Telegramm in hexadezimaler Darstellung

Page 10: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[9]

Konfiguration der Sensorknoten

Analog zum Gateway verwendet auch der Sensorknoten ein ESP8266 Entwicklungsmodul. Auch der

Sensorknoten hat zwei Seiten. Auf der einen Seite einen bietet es einen WLAN Access Point für die

Konfiguration per Web-Formular. Auf der anderen Seite verbindet es sich automatisch mit dem

WLAN SENSORNETXX des zugehörigen Z21 Gateways.

Auf dem WLAN Access Point des Sensormoduls werden maximal zwei Clients (PC, Handy oder Tablet)

zugelassen. Auch hier läuft ein Webserver, der eine HTML-Seite für die Konfiguration bereitstellt. Da

nur zwei Parameter konfiguriert werden, fällt die Eingabemaske wesentlich kleiner aus als die des

Gateways.

Web-basierte Konfiguration der Sensorknoten Das bereitgestellte WLAN hat die SSID „APXYZU“ wobei AP für Access Point steht und XYZU die

Modul NID, die „Network IDentification“ darstellt. Das ist eine einmalige Kennung, die aus der MAC-

ID des ESP Moduls abgeleitet wird und die auch in der Kommunikation mit dem Gateway verwendet

wird.

Das Passwort für den Zugang zu diesem WLAN lautet einheitlich „NWKONFIG“ und die IP-Adresse,

die man in den Webbrowser eingibt, ist immer 192.168.16.1.

Abbildung 7 – Webseite zur Konfiguration eines Sensormoduls

Es gibt nur 2 Parameter, die verändert werden können:

Die „Sensor Network Group Number“ gibt an, in welches SENSORNETXX sich der Sensorknoten

einloggen muss, also mit welchem Gateway es sich verbindet. Die Voreinstellung ist hier, wie beim

Gateway auch, die Gruppe 04. Hat man also nur ein Gateway, braucht hier nichts verändert werden.

Der 2. Parameter ist die Sensoradresse. Im Roco LAN Protokoll sind 2048 Sensoren möglich

(abgesehen von zusätzlichen 160 Rückmeldern am RM-Bus). Die eingestellte Adresse wird im

Modellbahnprogramm verwendet. Die voreingestellte Adresse ist 1 und nur wenn man mehr als

einen Sensorknoten hat, oder andere Rückmeldeadressen als 1 und 2 bevorzugt, muss man hier eine

Page 11: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[10]

andere Adresse einstellen. Im Beispiel wurde das Modul für die Rückmeldeadressen 5 und 6

konfiguriert.

Nach Drücken des „Send“ Buttons, startet der ESP neu, wobei das aufgespannte WLAN kurz

zusammenbricht und der Browser in den meisten Fällen entsprechend protestiert.

Beschriften Sie nach dem Konfigurieren das Entwicklungsmodul mit der NID. Wenn Sie mehrere

Sensormodule betreiben, ist das der beste Weg, sie auseinander zu halten.

Page 12: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[11]

Diagnose der Sensorknoten Genauso wie beim Gateway werden auch die Ereignisse im Sensorknoten protokolliert und seriell

über den USB-Port des Entwicklungsmoduls ausgegeben. Verbinden Sie den USB-Port des

Sensormoduls und einen PC mit einem Micro-USB Kabel. Sehen Sie im Gerätemanager nach, welcher

COM-Port für diese Verbindung angelegt wird.

Schalten Sie Ihr Terminalprogramm ein, aktivieren 115200 Baud (8 Bits, kein Paritätsbit, 1 Stoppbit)

und verbinden es mit dem gerade gefundenen COM-Port.

Starten Sie das Sensormodul (Reset-Taste) und beobachten Sie den Boot-Vorgang:

***************************************************************************************

WEMOS D1 Mini is running Sketch: _20200124_Embedded_Feedback_Module_2_Bit_Masse-Sensor

Compiled on: Jan 29 2020 at 09:01:21

20191012 Dual Channel Contact Feedback Module V4.3

(c) 2019, 2020 Gerard Clemens

Mimics a Roco 10787 or LocoNet occupancy detector over WiFi.

Connecting to SENSORNET04

. took 0.50 s

IP Address : 192.168.004.101:9999

MAC Address : 3C:71:BF:2C:AD:97

Module NID : 0xECA (dec. 3786)

Sensor Group : 04

FB-Channels : 4 - 5 (Roco Z21 protocol internal).

CAN-Bus occupancy reporting

Enter Bus 3 and Addresses 0005 - 0006 in Rocrail configuration.

Equivalent with Roco 8-bit module 1 / Port 5 through module 1 / port 6 in Z21 app.

Configure group on SSID 'AP3786' with PW 'NWKONFIG' and IP-address 192.168.016.001

***************************************************************************************

Abbildung 8 – Protokoll des Bootvorgangs eines Sensormoduls

Wir sehen, dass sich das Modul im SENSORNET04 angemeldet hat und vom z21-Gateway die Adresse

192.168.4.101 erhielt. Im Sensornetz wird für die UDP Kommunikation über WLAN der Port 09999

verwendet. Um sich mit dem Gateway zu verbinden, hat das Sensormodul ca. 0,5 s gebraucht.

Danach werden die MAC ID, die daraus abgeleitete Modul NID und die Sensorgruppe (04) angezeigt.

Die NID 3786 ist natürlich dieselbe, die wir auch schon auf der Webseite zur Konfiguration gesehen

haben.

Das Modul wurde für die (Roco internen) Rückmeldeadressen 4 und 5 konfiguriert. Anstelle der 1 –

2048 in den Modellbahnprogrammen verwendet die Roco Z21 intern im LAN Protokoll die

Nummerierung 0 – 2047. In der nächsten Zeile sehen wir, dass das Sensormodul auf die Verwendung

des LAN_CAN_DETECTOR Telegramms für die Rückmeldungen voreingestellt ist. Alternativ kann auch

das Telegramm LAN_LOCONET_DETECTOR verwendet werden. Dazu an anderer Stelle mehr.

Besonders für die Verwendung mit dem Modellbahnsteuerprogramm „Rocrail“ wird in der nächsten

Zeile erklärt, wie das Programm für die Verarbeitung dieser „LAN_CAN_DETECTOR“ Rückmeldungen

konfiguriert werden muss.

Sollte man die Rückmeldungen in der Z21 App ebenfalls sehen wollen, wird hier erklärt, was dort

einzustellen ist.

Schließlich kommt der Hinweis auf die Verwendung der Web Seite zur Konfiguration der

Sensorgruppe (und der Rückmeldeadressen).

Nun ist das Modul betriebsbereit und sendet sofort unaufgefordert den Status der beiden

Rückmelder an das Gateway:

Page 13: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[12]

14 B -> 192.168.004.001:09999 : LAN_CAN_DETECTOR#3786 - 0005=1 - 0E 00 C4 00 CA 0E 00 00 04 01 00 11 00 00

14 B -> 192.168.004.001:09999 : LAN_CAN_DETECTOR#3786 - 0006=1 - 0E 00 C4 00 CA 0E 00 00 05 01 00 11 00 00

Abbildung 9 – Meldungen, die vom Sensorknoten abgesetzt werden

Wir sehen, dass es sich um ein 14 Byte langes Telegramm an das Gateway 192.168.4.1 handelt, das

über Port 09999 gesendet wird. Die Syntax des Telegramms ist LAN_CAN_DETECTOR. Der Ursprung

der Nachricht ist das Modul mit der NID 3786. Für beide Rückmelder 5 und 6 wird separat eine

aktuelle Statusmeldung erzeugt. Schließlich werden die 14 Bytes der Telegramme im hexadezimalen

Format angezeigt. In Byte 4 und Byte 5 steht die NID in Hex (CA 0E -> 0x0ECA hex = 3786 dezimal).

Soweit funktioniert schon alles, auch ohne Modellbahnprogramm oder App. Das Sensormodul

produziert Information, die an das Gateway geschickt wird. Das Gateway reicht diese Information in

das PC-Netzwerk weiter, auch wenn dort (noch) keiner zuhört.

Beim Aktivieren der Modellbahnsoftware oder der App, senden diese nun auch Anfragen an das

Gateway und fangen an, die Informationen, die vom Gateway kommen, zu verarbeiten. Anfragen, die

direkt das Sensormodul betreffen, werden vom Gateway dorthin durchgereicht. Beispiel:

08 B <- 192.168.004.001:09999 : LAN_SET_BC_FLAGS - 0x070D0107 - 08 00 50 00 07 01 0D 07

07 B <- 192.168.004.001:09999 : LAN_CAN_DETECTOR - report 0xD000 - 07 00 C4 00 00 00 D0 Abbildung 10 – Meldungen der Modellbahnsoftware, die über das Gateway den Sensor erreichen

Die erste Nachricht definiert, welche Informationen auch ohne explizite Aufforderung dazu zu

„liefern“ sind. Das wird mit „Broadcast“ (BC) bezeichnet. Das ‚Broadcasten‘ trifft sowohl auf

Informationen aus dem Gateway als auch aus den Sensormodulen zu. Deswegen wurde dieses 8-Byte

Telegramm vom Gateway 192.168.4.1 in das Sensornetz durchgereicht.

Die zweite Nachricht ist 7 Byte lang und fordert alle Sensormodule dazu auf, den aktuellen Status der

Rückmeldungen zu berichten. Die UID 0xD000 bedeutet so viel wie „ALLE“. Stünde anstelle der

0xD000 die NID unseres Rückmelders, 0x0ECA, würde auch nur das Modul mit der NID 3786 den

aktuellen Status seiner beiden Eingänge berichten.

Wer mehr zu dem Roco LAN Protokoll erfahren möchte, sei die Lektüre des PDF Dokuments von der

Roco Webseite empfohlen.

Page 14: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[13]

Die Digikeijs DR5000 als WLAN Router

Auch wenn nun einige oder alle Rückmeldungen über WLAN unseren Modellbahn-PC erreichen,

brauchen wir nach wie vor eine Zentrale um die Loks und Weichen zu steuern.

Die Zentrale DR5000 bietet einige Eigenschaften, die sie für den Betreib mit den WLAN Rückmeldern

besonders interessant machen:

WLAN und LAN

Z21 Protokoll

Eingebauter WLAN/LAN Router

Die Konfiguration ist nicht ganz trivial und wird an dieser Stelle nachgereicht.

Abbildung 11 – Digikeijs DR5000 als Zentrale / WLAN Router

Page 15: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[14]

CV Programmierung der Sensorknoten

In Verbindung mit dem Modellbahnsteuerprogramm Rocrail ist eine Konfiguration der Sensorknoten

über CVs möglich. CVs können im Betrieb gelesen und geschrieben werden. Das Verfahren heißt

„POM“ (Programming On the Main track) und ist dank der direkten Verwendung des LAN Protokolls

über WLAN um Einiges schneller und komfortabler als POM über das Gleissignal und Rückmeldung

über RailCom. Das Verfahren verwendet als Adresse für die Sensorknoten die schon erwähnte 4-

stellige NID.

In Rocrail müssen im Menü „Programmieren“ nur relativ wenige Angaben gemacht werden:

Für das z21-Gateway wurde die

Schnittstelle „Z21“ definiert.

Es muss POM für Zubehördecoder aktiviert

werden (Accessory Decoder).

In den Kasten L.Addr. wird die NID

Nummer des Sensormoduls eingetragen

(hier 3786).

Alle anderen Eingaben bleiben auf 0.

Durch Klicken der ‚Get‘ Buttons wurden die

CV5 (Vhigh) = 4, CV7 (Version) = 4.3 und die

CV8 (Herstellerkennung) = 24 gelesen und

angezeigt.

Die Beschriftungen der vertikal

angeordneten ‚Get‘ und ‚Set‘ Buttons

spiegeln die standardisierten Funktionen

von Fahrzeugdecodern wider. Sie treffen

bis auf wenigen Ausnahmen überhaupt

nicht auf die CV Funktionen der WLAN-

Sensorbausteine zu.

Im Kasten CV-Box kann man links

deswegen jede CV eintragen und mit ‚Get‘

lesen, bzw. mit ‚Set‘ schreiben. Der Wert

der Variablen wird gleich links vom ‚Get‘

Button angezeigt, bzw. vor dem Schreiben dort von Hand eingetragen.

Wird ein CV Wert verändert, d.h. neu geschrieben, macht das Sensormodul automatisch einen

Neustart. Nur so können die Änderungen sofort übernommen werden. Damit ist der Sensor für

wenige Sekunden nach dem Schreiben nicht erreichbar und ‚blind‘. Ereignisse, die in der Phase

stattfinden, gehen verloren.

Achten Sie darauf, dass die Drop-Down Box oben im Fenster links der Buttons ‚Import‘ und ‚Export‘

beim Lesen und Schreiben von WLAN Sensor Variablen leer bleibt.

Je nach Art des WLAN-Sensors gibt es unterschiedliche CVs. Folgende Aufstellung zeigt nur die

grundlegenden CVs, die für die meisten Sensoren gültig sind.

Abbildung 12 – CV Programmierschnittstelle in Rocrail

Page 16: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[15]

CV Nummer Bedeutung, Funktion Wert und Bereich

1 Adresse des ersten Sensors (MSB) 0 (0 – 7)

5 Adresse des ersten Sensors (LSB) 0 (0 – 255)

7 Firmware Version des WLAN-Sensors 43 = 4.3

8 Hersteller-Kennzahl / Rücksetzen aller CV 24 / 0

27 Broadcast CAN = 1, LN = 2 1 (1 oder 2)

30 Betriebsart CAN = 1, LN = 2 1 (1 oder 2)

31 Sensorgruppe 4 (0 - 15)

126 Tag

127 Monat

128 Jahr (der letzten Kompilation)

CV1 und CV5 bestimmen die Adresse des ersten Sensors. Der Adress-Bereich geht von 0 – 2047

intern und entsprechend von 1 – 2048 für die realen Adressen im Modellbahnsteuerprogramm.

Die Adresse verwendet 2 Bytes. Für die ersten 256 Rückmelder reicht das Byte in CV5 und bleibt CV1

= 0. Werden Adressen verwendet, die höher sind als 256, wird auch CV1 verwendet.

Beispiel:

Sie brauchen die Meldung des ersten Rückmelders auf der realen Adresse 801 (im

Modellbahnprogramm). Das entspricht nach der Festlegung im Roco LAN Protokoll eine Interne

Adresse 801 – 1 = 800. Die 800 muss jetzt in ein Most Significant Byte MSB und ein Least Significant

Byte LSB zerlegt werden.

CV1 = 800/256 = 3

CV5 = 800 – 3 * 256 = 32

CV8 enthält die Herstellerkennung 24. Diese CV kann auch zum Rücksetzen des Sensors auf die

Grundeinstellung verwendet werden. Schreibt man eine 0 in CV8 werden alle CVs mit den Original

Vorgaben überschrieben und das Sensormodul bootet neu. Die Original Vorgaben bedeuten:

Reale Rückmeldeadresse des ersten Rückmelders = 1,

Rückmeldungen werden unter Verwendung des LAN_CAN_DETECTOR Telegramms zum

Gateway geschickt

Jede Statusänderung wird unaufgefordert gemeldet

Die Sensorgruppe ist 4

CV27 legt fest, dass Statusänderungen der Rückmelder immer unaufgefordert gemeldet werden

(Broadcast). Es gibt 2 Bits, eines für das Format LAN_CAN_DETECTOR und eines für

LAN_LOCONET_DETECTOR. Wenn kein Bit gesetzt ist, muss sich das Modellbahnprogramm darum

kümmern, dass das Sensormodul in Broadcast-Modus funktioniert. Auf diesem Mechanismus ist aber

nicht zu allen Zeiten Verlass. Deswegen ist es ratsam CV27 auf 1 zu belassen.

CV30 legt fest, wie Rückmelde-Ereignisse berichtet werden. Der voreingestellte Standard CV30 = 1

sieht die Verwendung des LAN_CAN_DETECTOR Telegramms vor. Mit CV30 = 2 wird auf

LAN_LOCONET_DETECTOR umgeschaltet. Beim vorliegenden 2-Kanal-Kontakt- oder Massesensor

macht die Verwendung von LAN_LOCONET_DETECTOR weniger Sinn. Die getesteten

Modellbahnprogramme kommen mit LAN_CAN_DETECTOR bestens zurecht.

CV31 schließlich definiert die Sensorgruppe XX. Es sind 16 Gruppen im Bereich von 0 bis 15 möglich.

Die Zahl legt fest, mit welchem z21-Gateway also mit welchem SENSORNETXX sich das Sensormodul

über WLAN verbindet.

Page 17: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[16]

Achtung: XX muss sich von der 3. Stelle der IP-Adresse des Routers unterscheiden. Beispielsweise

würde sich das SENSORNET00, nicht mit einem WLAN-Router mit der Adresse 192.168.0.1 im PC-

Netzwerk vertragen.

CV126 – 128 enthalten das Datum, an dem die Firmware kompiliert wurde und dienen nur zur

Information.

Page 18: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[17]

Welche Sensorknoten sind aktiv?

Das Gateway beantwortet diese Frage, wenn man Weiche #2048 bedient. Als Schnittstelle für die

Weiche muss das Gateway angegeben werden, also seine IP-Adresse oder sonstige ID, die Sie für das

z21-Gateway in Ihrer Modellbahnsteuersoftware angegeben haben. Wir wissen natürlich alle, dass

das z21-Gateway (noch) keine Weichen unterstützt, aber die Weichenbefehle werden dennoch in das

Sensornetz weitergereicht. Dieser spezielle Weichenbefehl für die Weiche 2048 wird jedoch vom

Gateway zusätzlich abgefangen und dazu verwendet, auf den seriellen Monitor eine Liste seiner

Clients im Sensornetz anzuzeigen.

Actual Sensor network configuration :

Sensor Network configuring WiFi Access Point . . . Ready

Sensor Network starting Soft AP . . . Ready

Sensor Network SSID : SENSORNET04

Sensor Network Password : SENSORNET

Sensor Network Gateway IP : 192.168.004.001

*************************************************************************************************

Connecting to the Client Network TP-Link_4174 using Password ********.

....... Took 3.50 s

TP-Link_4174 Network WiFi connected

Station Name (Gateway Name) : ESP-A9B3DA

Station IP Address and Port : 192.168.020.110:21105

Gateway MAC Address : 84:0D:8E:A9:B3:DA

Std. Gateway Address : 192.168.020.001

*************************************************************************************************

Sensor Group : 04

HTTP server started on SSID SENSORNET04 and IP 192.168.004.001

Stations connected to SENSORNET04 = 0

14 B <- 192.168.004.100:09999: CAN_DETECTOR#2349/0501= occ - 0E 00 C4 00 2D 09 3E 00 04 01 00 11 00 00

14 B -> 192.168.020.100:21105 : CAN_DETECTOR#2349/0501= occ - 0E 00 C4 00 2D 09 3E 00 04 01 00 11 00 00

14 B <- 192.168.004.100:09999 : CAN_DETECTOR#2349/0500= occ - 0E 00 C4 00 2D 09 3E 00 03 01 00 11 00 00

14 B -> 192.168.020.100:21105 : CAN_DETECTOR#2349/0500= occ - 0E 00 C4 00 2D 09 3E 00 03 01 00 11 00 00

Stations connected to SENSORNET04 = 2

NID = 2349 IP = 192.168.004.100

NID = 0530 IP = 192.168.004.101

Abbildung 13 – Anzeige der am SENSORNET04 angemeldeten WLAN Knoten

Die Ausgabe der Knoten ist in den letzten 3 Zeilen des obigen Screenshots dokumentiert:

Die erste Zeile zeigt, wie viele Knoten angemeldet sind.

Dann folgt für jeden Knoten eine Zeile mit der NID und der zugewiesenen IP-Adresse.

Page 19: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[18]

Alternativen, die Sensoradresse zu ändern Mit dem Programmiertaster

U. a. beim 2-Bit Massesensor ist auf dem Steckbrett ein Programmiertaster vorgesehen (vom Wemos

D1 Mini PIN D6 nach Masse). Drückt man diese Taste, leuchtet eine LED, die anzeigt, dass sich das

Modul nun im Programmiermodus befindet. Wird jetzt ein Weichenkommando auf die Schnittstelle

des zugehörigen z21-Gateways ausgegeben, so übernimmt das Sensormodul die Weichennummer n

im Bereich von 1 – 2048 als erste Sensoradresse. Die Adresse für den zweiten Sensor ist automatisch

n + 1.

Die LED erlischt und das Sensormodul bootet mit den neuen Adressen.

Der Vorteil dieser Methode ist, dass man die NID des Moduls nicht kennen muss und dass man ganz

bewusst nur dieses eine Modul mit einem Weichenbefehl umprogrammieren kann.

Mit dem Roco Mechanismus zur Erteilung der Moduladressen

Das Roco LAN Protokoll bietet mit dem Befehl „LAN_RMBUS_PROGRAMMODULE“ die Möglichkeit,

ein einzelnes 8-Bit Rückmeldemodul zu adressieren, also eine Nummer im Bereich von 1 bis 256

zuzuweisen. Lässt man bei der Verwendung dieses Kommandos mehrere Module gleichzeitig am

Kabel, so würden alle dieselbe Modulnummer übernehmen.

Derselbe Mechanismus kann nun auch bei unseren WLAN Rückmeldern angewendet werden.

Allerdings haben die 2-Kanal WLAN Rückmeldebausteine keine Modulnummer, sondern nur eine

Kanalnummer, sprich Adresse, im Bereich von 1 – 2048. Trägt man daher im LAN Befehl

LAN_RMBUS_PROGRAMMODULE eine Nummer ein, wird die von den WLAN Rückmeldern als

Adresse und nicht als Modulnummer interpretiert. Aber auch bei den WLAN Rückmeldern gilt, dass

alle Module, die online sind, die Nachricht interpretieren und die Nummer als Kanalnummer

akzeptieren. Wenn Sie also diese Möglichkeit verwenden, achten Sie darauf, dass nur ein

Sensormodul am betreffenden z21-Gateway aktiv ist.

Im Modellbahnsteuerprogramm Rocrail ist der Mechanismus LAN_RMBUS_PROGRAMMODULE im

Z21 Konfigurationsmenü versteckt:

Abbildung 14 – Die Programmierschnittstelle im Programm Rocrail

Page 20: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[19]

Mit dem Button „Program FB“ wird die 4 als Adresse auf alle aktiven WLAN Rückmeldebausteine

übertragen. Nach dem Programmieren bootet das WLAN Sensormodul neu.

Im Modellbahnsteuerprogramm Win-Digipet ist dieser Mechanismus auch implementiert.

Abbildung 15 – Die Programmierschnittstelle im Programm Win-Digipet

In der Drop-Down-Box mit der Rückmelderadresse 6, stehen die Adressen 1 – 20 zur Auswahl.

Hiermit ist ausdrücklich nicht das Modul gemeint, sondern wirklich die Adresse des Kanals, so wie sie

im Programm verwendet wird. Durch Klicken des Buttons „Rückmelderadresse programmieren“ und

Bestätigung der Rückfragen gelangt die Adresse auf das WLAN Sensormodul, das daraufhin neu

bootet und sich mit der neuen Adresse wieder beim z21-Gateway am Sensornetz anmeldet.

Page 21: 15.3.2020 Z21-WLAN- Gateway und WLAN ... - Bahn-in-Haan.debahn-in-haan.de/resources/27wlanrm/WLAN_Gateway_Sensor_Inbetri… · 15.3.2020 Z21-WLAN-Gateway und WLAN-Sensorknoten Inbetriebnahme

[20]

Abbildung 1 – Webseite zur Konfiguration des z21-Gateways - Hier die Angabe der Sensorgruppe .. 2

Abbildung 2 – Webseite zur Konfiguration des z21-Gateways - Eingabe von SSID und Passwort des

verwendeten Routers. ................................................................................................... 3

Abbildung 3 – Webseite zur Konfiguration des z21-Gateways. Eingabe der z21-Gateway- und der

Routeradresse. ............................................................................................................... 4

Abbildung 4 – Bootvorgang eines nicht konfigurierten Gateways ....................................................... 6

Abbildung 5 – Protokollierung des Bootvorgangs des z21-Gateways .................................................. 7

Abbildung 6 – Protokollierung der diversen Telegramme in der Monitorausgabe des z21-Gateways 8

Abbildung 7 – Webseite zur Konfiguration eines Sensormoduls.......................................................... 9

Abbildung 8 – Protokoll des Bootvorgangs eines Sensormoduls ....................................................... 11

Abbildung 9 – Meldungen, die vom Sensorknoten abgesetzt werden ............................................... 12

Abbildung 10 – Meldungen der Modellbahnsoftware, die über das Gateway den Sensor erreichen . 12

Abbildung 11 – Digikeijs DR5000 als Zentrale / WLAN Router ............................................................. 13

Abbildung 12 – CV Programmierschnittstelle in Rocrail ....................................................................... 14

Abbildung 13 – Anzeige der am SENSORNET04 angemeldeten WLAN Knoten .................................... 17

Abbildung 14 – Die Programmierschnittstelle im Programm Rocrail ................................................... 18

Abbildung 15 – Die Programmierschnittstelle im Programm Win-Digipet ........................................... 19