Ich habe es in den letzten Wochen immer mal wieder etwas probiert und ich bin sehr, sehr zuversichtlich das man ESP-NOW für die Gartenbahn sinnvoll nutzen kann. Die Dokumentation für ESP-NOW ist ... grottig. Praktisch nicht vorhanden. Leider ist auch kein Einblick in den Source-Code möglich
Was will ist eigentlich konkret implementieren?
1. Überbrückung der Ausfallszeiten beim Romaing, so dass eine Lok auch in diesen Zeiten Befehle bekommt
2. Eine WLAN-Infrastruktur, die sich ggf. nur aus ESP8266/ESP32 aufbaut (Mesh-Netz)
Was z.Z. funktioniert:
- Gleichzeitige Verbindung zu einem WLAN-Netz und zu ESP-Now
- Senden und Empfangen von ESP-Now Paketen.
Kniffelig wird es:
- Der Versand von ESP-Now-Paketen benötigt immer eine Zieladresse (MAC-Adresse). Echte Broadcasts werden nicht unterstützt. Man kann tricksen, in dem man allen ESP8266 die gleiche Adresse gibt. Das funktioniert sogar, da der ESP8266 zwei Mac-Adressen hat (für AP Modus und Station Modus) und ESP-Now anscheinend auf beide Pakete reagiert, selbst wenn über das Interface eigentlich die andere Mac-Adresse genutzt wird.
- Das WLAN und das ESP-Now müssen auf dem gleichen Kanal laufen.
TODO:
- Das Thema Verschlüsselung sich anschauen
- Ist die Skalierbarkeit (10, 20 ESP8266) gegeben?
In hatte mehrere erfolgreiche Testaufbauten:
- Ein Sender und mehrere Empfänger
HIer wird ein Broadcast simuliert, in dem alle Empfänger zumindest auf dem ungenutzten Interface die gleiche MAC-Adresse haben.
- Zwei Sender und mehrere Empfänger
Diesen Fall könnte man sich im Garten vorstellen. Man hab mehrere Sender, die mit der z21 kommunizieren. Die Sender strahlen diese Befehle ab und die Loks empfangen diese. Im besten Fall empfängt die Lok die Befehle von mehreren Sendern, in den Randbereichen empfängt sie dann die Befehle aber nur noch von einem Sender.
Die nächsten Herausforderungen liegen auf der z21-Seite.
In den alten Firmware Versionen war es möglich der z21 zu sagen, dass man alle Information über Loks und Weichen bekommen möchte. Man war also über alle relevanten Zustände informiert.
Mit der neuen Firmware ist dies nicht mehr möglich. Man muss konkret sagen, zu welcher Lok oder Weiche man Informationen wünscht. Und dieses Anzahl ist auf 10 Ids oder so limitiert.
Ich muss jetzt erstmal wieder einen Weg finden, um an alle Informationen zu kommen.
Gruß,
Sven