Hallo zusammen,
die Aktivitäten von Rolf (rolfha) haben mich gestern getriggert in Windeseile mit etwas Hardware und den Software Komponenten von Philipp ebenfalls ein Interface zu realisieren, welches WiFi mit dem XpressNet verbindet. Nachfolgend füge ich ein Foto meines rustikalen Hardware Aufbaus ein (BTW. Mich faszinieren immer wieder die professionellen Aufbauten von Andreas [andreas21] – Chapeau!). Ziel war die Z21 App an einem (beliebigem) Digital-System zu nutzen, welches ein XpressNet basiertes Bussystem bereitstellt.
Bild entfernt (keine Rechte)
Wie zu sehen, besteht meine WiFi <=> XpressNet Hardware nur aus folgenden Komponenten:
- 5V DC-Netzteil mit USB Typ C Stecker
- USB Typ C Buchse für Netzteilanschluss
- Mini Step-Down Wandler, Ausgangssp. über Lötbrücke fest eingestellt auf 3,3V DC
- UART-Adapter TTL nach RS485
Hinweis: Leider war bei dem mir zur Verfügung stehenden Adapter die Ansteuerung für Senden/Empfangen nicht nach außen geführt, so dass ich hier eine Leiterbahn auf der Platine durchtrennen musste und die gebrückten PINs über eine Leitung (gelb) direkt an den PINs 2 u. 3 am MAX485 abgreifen musste.
- Mini NodeMCU mit ESP8266-12F
Die Software Komponenten für den ESP8266 habe ich der von Phillipp aktuell bereitgestellten Software „Arduino Z21 DCC Zentrale v4.97 (29.04.22)“ Download: „Z21_Ethernet_DCC_Zentrale_v497.zip“ für die Zentrale Z21PG entnommen.
Kompiliert und in den ESP8266 geladen habe ich die Firmware mit der Arduino IDE, Version: 2.0.3. Als Board für den ESP8266-12F habe ich NodeMCU 1.0 (ESP-12E Module) gewählt und die CPU Frequency auf 160 MHz gesetzt.
In der CONFIG.h habe ich alle SW-Module außer #define XPRESSNET und #define FS28 auskommentiert. Aus dem Software Paket von Philipp habe ich in der Arduino IDE die Libraries DCCInterfaceMaster, XpressNetMaster und z21 hinzugefügt.
Nach dem Kompilieren und Laden stellt der ESP8266 einen Access Point mit dem Namen Z21_ESP_Central bereit mit dem man sich unter Verwendung des SSID-Keys: 12345678 verbinden kann. Der ESP agiert jetzt in diesem Netz als Z21 Zentrale und ist über die IP-Adresse 192.168.0.111 erreichbar. Er kann damit von einem Smartphone oder einem Tablet mit der Z21 App genutzt werden. Sind die beiden RS485 Leitungen korrekt mit dem XpressNet eines Systems verbunden, dann sollte auch die Steuerung des Status der Zentralen EIN/AUS sowie das Steuern von Loks incl. Funktionen und die Ausgabe von Schaltbefehlen gegeben sein.
Bei meinen Tests am XpressNet einer z21 Start (weiß) war das der Fall. Super soweit war alles wie erhofft. Jetzt aber zu meinem Problem. Nutzt man das Roco Maintenance Tool und verbindet sich damit parallel mit der z21, dann stellt man fest, dass der Status der Zentralen AUS/EIN korrekt zwischen Realität, Maintenance Tool und Anzeige in der Z21 App gespiegelt wird. Gleiches gilt auch noch dann, wenn man Änderungen z.B. an einer Lokgeschwindigkeit oder den Zusatzfunktionen von einem Gerät am XpressNet vornimmt. Soweit als auch noch immer alles bestens.
Öffnet man jetzt in dem Maintenance Tool aber ein „Lok Fahrpult“ und steuert eine Lok deren Status man parallel in der Z21 App beobachtet, dann stellt man fest, dass weder der Bargraph der Geschwindigkeit noch die Funktionssymbole in der Z21 App parallel zu den realen Stati aktualisiert werden. Eine parallel am XpressNet angeschlossen MultiMAUS zeigt allerdings die realen Stati der Lok-Funktionen korrekt an. Die vom virtuellen Fahrregler des Maintenance Tools abgesetzten Kommandos werden also direkt und korrekt auf dem XpressNet ausgegeben.
Warum die Anzeige in der Z21 App den realen Daten nicht folgt, obwohl die Daten auf dem XpressNet bereitgestellt werden und kursieren konnte ich bisher nicht klären. Eventuell hat einer der Erfahrenen Anwender hier einen Tipp für mich. Wäre toll, wenn es eine Lösung gäbe.
Noch ein Hinweis. Nutzt man die MultiMAUS, um eine in der Z21 App angezeigte Lok zu steuern, dann folgt die Anzeige in der Z21 App den durch die MultiMAUS initiierten Aktionen (Geschwindigkeit und Funktionen) ohne Verzögerung. Das beschriebene Problem taucht also nur auf, wenn die Kommandos über das LAN-Interface der z21 Start zugespielt werden.
Beste Grüße
Werner