Anleitung gesucht für ESP32/ESP8266 und Z21 App

Stuckalf
Beiträge: 45
Registriert: 05.02.2024, 08:07

Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von Stuckalf » 19.11.2024, 09:24

Moin zusammen,

ich möchte das Framework von Sven jetzt mal ausprobieren. Bislang laufen meine Loks ja noch auf Legoino.
Mein Ziel zum Testen wäre ein möglichst kleiner ESP32 oder ESP8266 mit Treiber und Akku in den Loks und die Steuerung der Loks über die Z21 App.

Erstmal eine grundsätzliche Frage:
Läuft das Framework auch auf einem Wemos D1 kompatiblen ESP32 D1 mini? Diesen habe ich aktuell dreimal zu Hause:
https://www.amazon.de/gp/product/B08BTL ... =UTF8&th=1

Oder brauche ich zwingend einen ESP8266? Wenn ja, wäre z.B. dieser hier geeignet?
https://www.amazon.de/APKLVSR-NodeMcu-E ... VKY86?th=1

Soweit ich das in der Doku von Sven richtig verstanden habe, benötige ich nicht zwingend eine physikalische z21 Zentrale, da der ESP in der Lok eine z21 Zentrale emuliert und sich mit der Z21 App verbindet. Ist das so richtig?

Wenn ja, ist es dann möglich, mehrere Loks (die ja dann alle eine z21 Zentrale emulieren) mit einer einzigen Z21 App zu steuern? Ich vermute, das klappt nicht so ohne weiteres. Ich habe mich weiter in die Doku von Sven eingelesen. Für meinen Anwendungsfall würde dann ja jede Lok über eine eigene WLAN SSID verfügen. Somit müsste ich wahrscheinlich die Z21 App zum Lokwechsel mit einer neuen "z21" SSID über WLAN verbinden, richtig?

Gruß, Alf

little.yoda
Site Admin
Beiträge: 930
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 146 Mal

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von little.yoda » 19.11.2024, 10:10

Hi

Ich fange mal ganz vorne an.

Mein Framework bietet "leider" ganz viele Möglichkeiten, die immer wieder zu Antworten der Art "Es kommt darauf an..." führen.

Es gibt ganz verschiedene Lösungen für ganz verschiedene Szenarien:
  • der eingebaute ESP verbindet sich mit einer bestehenden Z21 (=> Integration in eine bestehende Umgebung)
  • der eingebaute ESP simuliert eine Z21 (=> Steuerung von einer Lok)
  • Ein ESP simuliert eine Z21 (=> 4 bis 8 Geräte können im Access-Point-Modus so gesteuert werden, bei mehr Geräten braucht du einen einfachen Router)
Mit dem ESP8266 werden ein paar mehr Features unterstützt als bei dem ESP32.
DCC-Generierung und SUSI-Ansteuerung gehen z.B. aktuell nur mit dem ESP8266.
Wenn du aber z.B. auf einen LegoHub via Bluetooth zugreifen willst, benötigst du wiederum einen ESP32.

Stuckalf hat geschrieben:
19.11.2024, 09:24
Mein Ziel zum Testen wäre ein möglichst kleiner ESP32 oder ESP8266 mit Treiber und Akku in den Loks und die Steuerung der Loks über die Z21 App.
Dafür sollte es egal sein, ob du einen ESP8266 oder ESP32 nimmst.

Stuckalf hat geschrieben:
19.11.2024, 09:24
Soweit ich das in der Doku von Sven richtig verstanden habe, benötige ich nicht zwingend eine physikalische z21 Zentrale, da der ESP in der Lok eine z21 Zentrale emuliert und sich mit der Z21 App verbindet. Ist das so richtig?
im Prinzip richtig. Aber es gibt auch die Möglichkeit, dass ein esp als Zentrale agiert. (siehe nächste Frage)

Stuckalf hat geschrieben:
19.11.2024, 09:24
Wenn ja, ist es dann möglich, mehrere Loks (die ja dann alle eine z21 Zentrale emulieren) mit einer einzigen Z21 App zu steuern?
In diesem Fall ist es besser, wenn du ein esp zur Zentrale machst und die anderen esp sich zur Zentrale verbinden.

Im Config-Generator:
"Simuliere Z21 (WLAN aufspannen)" und für die Loks "Zur 21 Verbinden".


BTW:
Die Z21-App ist leider nicht mehr kostenfrei.
Bitte keine Werbung für Az-Delivery. Siehe diesen Beitrag

Stuckalf
Beiträge: 45
Registriert: 05.02.2024, 08:07

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von Stuckalf » 19.11.2024, 10:41

Danke für die schnelle Antwort und die Erklärungen.
little.yoda hat geschrieben:
19.11.2024, 10:10
Wenn du aber z.B. auf einen LegoHub via Bluetooth zugreifen willst, benötigst du wiederum einen ESP32.
Das System läuft bei mir schon reibungslos mit dem von Dir vorgestelltem ESP32 super mini. Darauf läuft über Legoino ein Hub-Emulator und ein Sketch von mir, sodass sich Loks direkt mit der original Lego Powered Up Remote steuern lassen. Aber davon möchte ich eigentlich wieder herunter. Gerade deswegen interessiert mich das LY Framework.
little.yoda hat geschrieben:
19.11.2024, 10:10
im Prinzip richtig. Aber es gibt auch die Möglichkeit, dass ein esp als Zentrale agiert. (siehe nächste Frage)
little.yoda hat geschrieben:
19.11.2024, 10:10
In diesem Fall ist es besser, wenn du ein esp zur Zentrale machst und die anderen esp sich zur Zentrale verbinden.

Im Config-Generator:
"Simuliere Z21 (WLAN aufspannen)" und für die Loks "Zur 21 Verbinden".
Das wäre die Lösung, die für mich wahrscheinlich am besten laufen würde.
Ich habe zwar keine original z21 Zentrale zu Hause. Aber ich habe ein System aus Roco Multimaus und Booster 10761 plus (tata!) dem mXion XP-Multi 7004 WLAN Adapter. Dieser Adapter spannt selbst ein WLAN auf. Damit lässt sich eine Z21 App genauso verbinden, als ob sie sich mit einer originalen z21 Zentrale verbindet.
Nun würde ich vermuten, dass das mit der korrekten Config in den Lok-ESPs doch auch damit funktionieren sollte.
little.yoda hat geschrieben:
19.11.2024, 10:10
BTW:
Die Z21-App ist leider nicht mehr kostenfrei.
Danke für den Hinweis. Bislang ist bei mir auf dem Handy noch eine ältere Version von ca. 10/2023 installiert. Ich meine, die letzte kostenfreie Version war die v1.4.7. Soweit ich weiß, sollte die noch auf den gängigen freien Store-Plattformen verfügbar sein. Falls ich neuere Feature benötige, muss es halt doch später mal die aktuelle Version für ca. 20,- Euro werden.
little.yoda hat geschrieben:
19.11.2024, 10:10
Bitte keine Werbung für Az-Delivery. Siehe diesen Beitrag
Entschuldigung, das hatte ich übersehen. Meine Frage zielte auch nicht auf Werbung für diese Firma ab. Ich brauche nur eine Info, ob generell jedes ESP8266 D1 mini Board für das LY Framework geeignet sein sollte, oder ob es nur mit bestimmten Boards läuft. Oder ob sich das System auch auf den ESP32 Boards zum Testen installieren ließe, die ich halt schon hier herumliegen habe.

Eine Frage hätte ich auch noch zum Motor Treiber. Ich habe neben einigen L298N Platinen auch einige DRV8833 Treiber.
Würden sich diese ebenfalls mit entsprechenden Config-Einstellungen über PWM ansteuern lassen?

little.yoda
Site Admin
Beiträge: 930
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 146 Mal

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von little.yoda » 19.11.2024, 11:17

Stuckalf hat geschrieben:
19.11.2024, 10:41
little.yoda hat geschrieben:
19.11.2024, 10:10
In diesem Fall ist es besser, wenn du ein esp zur Zentrale machst und die anderen esp sich zur Zentrale verbinden.

Im Config-Generator:
"Simuliere Z21 (WLAN aufspannen)" und für die Loks "Zur 21 Verbinden".
Das wäre die Lösung, die für mich wahrscheinlich am besten laufen würde.
Ich habe zwar keine original z21 Zentrale zu Hause. Aber ich habe ein System aus Roco Multimaus und Booster 10761 plus (tata!) dem mXion XP-Multi 7004 WLAN Adapter. Dieser Adapter spannt selbst ein WLAN auf. Damit lässt sich eine Z21 App genauso verbinden, als ob sie sich mit einer originalen z21 Zentrale verbindet.
In dem Fall sollte der ESP in der Lok direkt mit dem mXion-Wlan Adapter sprechen können.
("Zur 21 Verbinden".)
Stuckalf hat geschrieben:
19.11.2024, 10:41
Ich brauche nur eine Info, ob generell jedes ESP8266 D1 mini Board für das LY Framework geeignet sein sollte, oder ob es nur mit bestimmten Boards läuft. Oder ob sich das System auch auf den ESP32 Boards zum Testen installieren ließe, die ich halt schon hier herumliegen habe.
Ja, beide module sollten funktionieren.

Der ESP32 D1 Mini läuft bei mir unter dem Namen "MiniKit ESP32"

Stuckalf hat geschrieben:
19.11.2024, 10:41
Eine Frage hätte ich auch noch zum Motor Treiber. Ich habe neben einigen L298N Platinen auch einige DRV8833 Treiber.
Würden sich diese ebenfalls mit entsprechenden Config-Einstellungen über PWM ansteuern lassen?
Auch ein DRV8833 sollte funktionieren.
Wobei ich einen mal vor Jahren ausprobiert habe und keinen Erfolg hatte. Ich vermute aber, dass die Platine schlicht defekt war.

Stuckalf
Beiträge: 45
Registriert: 05.02.2024, 08:07

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von Stuckalf » 19.11.2024, 11:27

Danke ,Sven!

Ich probiere das in den nächsten Tagen aus und melde mich dazu mit Infos. Das könnte ja auch für andere interessant sein, gerade wegen der Kompatibilität.

Stuckalf
Beiträge: 45
Registriert: 05.02.2024, 08:07

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von Stuckalf » 19.11.2024, 16:39

Hab' es doch schon probiert.
Board wurde mit dem MiniKit ESP32 geflasht - Flash Speicher vorher zur Sicherheit geleert.
WLAN läuft. Verbunden und beide css Dateien sowie meine Config für die z21 Zentrale aufgespielt.
Nach dem Neustart läuft der ESP32 zwar einwandfrei, aber die Pins D6 und D7 (für den Motor über PWM) werden von LY als "unbekannt" angemeckert.

Stuckalf
Beiträge: 45
Registriert: 05.02.2024, 08:07

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von Stuckalf » 19.11.2024, 16:42

Hier das aktuelle Log aus dem ESP32:

Code: Alles auswählen

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
-------------------------------------------------
[MEM] 320848 / Setup
Started!
Sonderfall ESP32 Minikit: Bei der Eingabe von Befehlen über die Serielle Schnittstelle RTS/CTS deaktivieren.
Compiledate: Sep 10 2021 06:07:40 v1.3.0
[MEM] 320172 / Controller
[MEM] 314668 / Wifi
Starting Wifi...
[MEM] 314648 / Webserver
[MEM] 311628 / Serial
[MEM] 311628 / Cfg
MEM 311100 / Cfg Read
MEM 310344 / Starting Parsing
MEM 308784 wlan
Netzwerkkonfiguration per DHCP
DoubleBootDetection: 0
Wifi status changed: Disconnected => Disconnected [STA] IP:0.0.0.0
Connection to:  (Q:0)
Reconnect
MEM 257112 z21
Starting Z21 Wlan Receiver ...
Using 192.168.111.111 as Z21 Adress
MEM 256632 webservicewifiscanner
MEM 256460 webservicelog
MEM 256304 cmdlogger
MEM 256024 dcc
Starting DCC Receiver (PIN: 15)...
MEM 255752 pwm
Unbekannter Pin in Config: D6
Unbekannter Pin in Config: D7
Starting PWM...
PWM-Pin: DISABLE Forward-Pin: DISABLE Reverse-Pin: DISABLE
Accessing Disabled Pin (pinMode): 9999
Accessing Disabled Pin (pinMode): 9999
Accessing Disabled Pin (pinMode): 9999
Accessing Disabled Pin (pinMode): 9999
Accessing Disabled Pin (analogwrite): 9999
Accessing Disabled Pin (analogwrite): 9999
Adding Settings pwm1
Einträge in Filter Sektion: 0
MEM 254244 locospeed
Register for locospeed
Einträge in Connector-Sektion: 0
MEM 253836 / Closing Parser
MEM 255272 / Cfg-End
[MEM] 255744 Post Config
[MEM] 255912 / Setup Finish

Setup finish!
Server begin
[WiFi-event] event: 5
Disconnected from WiFi access point
Wifi status changed: Disconnected [STA] => No SSID Avail [STA] IP:0.0.0.0
Connection to:  (Q:0)
[WiFi-event] event: 5
Disconnected from WiFi access point
[WiFi-event] event: 5
Disconnected from WiFi access point
...
Die letzten beiden Zeilen laufen immer weiter.
z21 Zentrale über mXion und Multimaus läuft einwandfrei. War gerade auf dem xXion Webserver meines WLANs.
Zuletzt geändert von Stuckalf am 20.11.2024, 10:33, insgesamt 1-mal geändert.

Stuckalf
Beiträge: 45
Registriert: 05.02.2024, 08:07

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von Stuckalf » 19.11.2024, 16:43

Meine Config, die auf dem ESP32 installiert ist:

Code: Alles auswählen

{
    "version":"3",
    "cfg":[
        {
            "m":"wlan",
            "ssid":"mXion MULTI",
            "pwd":"MDELEC1207"
        },
        {
            "m":"z21",
            "ip":"192.168.111.111"
        },
        {
            "m":"webservicewifiscanner"
        },
        {
            "m":"webservicelog"
        },
        {
            "m":"cmdlogger"
        },
        {
            "m":"dcc",
            "gpio":"DISABLE"
        }
    ],
    "out":[
        {
            "id":"pwm1",
            "m":"pwm",
            "pwm":"DISABLE",
            "forward":"D6",
            "reverse":"D7"
        }
    ],
    "in":[
        {
            "m":"locospeed",
            "addr":6,
            "out":[
                "pwm1"
            ]
        }
    ],
    "connector":[
    ]
}
Zuletzt geändert von Stuckalf am 20.11.2024, 10:33, insgesamt 1-mal geändert.

little.yoda
Site Admin
Beiträge: 930
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 146 Mal

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von little.yoda » 19.11.2024, 16:46

bei den esp32 musst du die GPIO in Form von IOxx angeben.

D6 müsste IO19 sein und D7 IO23.


https://community.openmqttgateway.com/t ... inout/2320

Stuckalf
Beiträge: 45
Registriert: 05.02.2024, 08:07

Re: Anleitung gesucht für ESP32/ESP8266 und Z21 App

Beitrag von Stuckalf » 19.11.2024, 17:03

Sieht nun besser aus. Auszug aus dem Log:

Starting PWM...
PWM-Pin: DISABLE Forward-Pin: IO19 Reverse-Pin: IO23
Adding Settings pwm1
Einträge in Filter Sektion: 0
MEM 254992 locospeed
Register for locospeed
Einträge in Connector-Sektion: 0
MEM 254580 / Closing Parser
MEM 256020 / Cfg-End
[MEM] 256492 Post Config
[MEM] 256660 / Setup Finish

Allerdings kommt zumindest über die MultiMaus auf Lokadresse 6 nichts an Geschwindigkeitsinfos beim ESP an. Und die beiden sind nur gut 3 m entfernt.
Meldung im Log ist immer:
[WiFi-event] event: 5
Disconnected from WiFi access point

Antworten