WIFI Roaming
-
- Senior
- Beiträge: 190
- Registriert: Mo 9. Nov 2015, 21:05
- Kontaktdaten:
WIFI Roaming
Hi
Da unser Garten ein wenig verwinkelt ist und die Abdeckung mit einem WLAN Access Point schwierig ist, habe ich heute mal ausprobiert, die gut das Roaming des ESP8266 ist.
Exkụrs Roaming:
WLAN Roaming dient dazu, dass das Endgeräte selber nach dem stärkten WLAN AP sucht und beim Nachlassen der Signalstärke zu einem stärkeren AP wechselt. Bei diesem Wechsel gibt es immer eine kurze Zeit ohne Verbindung.
"Normalsterbliche" erleben dieses Täglich beim Telefonieren, wenn das Handy die Zelle wechselt. Hier ist es aber mit enormen technischen Aufwand realisiert worden, dass es zu keiner Unterbrechung des Telefonat kommt.
Während stationäre Objekte (Weichendecoder, ..) nicht auf das Roaming angewiesen sind, sind Loks und ähnliches auf Roaming angewiesen, da sie sich bewegen und den Sendebereich von AP verlassen können.
Zum Testen habe ich zwei AP mit gleicher SSID, gleichem PWD aber unterschiedlichen Kanälen weit auseinander aufgestellt und bin zwischen den beiden AP gependelt.
Meine Beachtungen:
Ein automatisches Roaming erfolgt nicht.
Selbst wenn der ESP8266 keine Pakete mehr von dem AP empfängt, erfolgt kein automatisches Roaming. Stattdessen erkennt der EPS8266 nach einer gewissen Zeit (>20 sekunden), dass der erste AP nicht mehr erreichbar ist, geht in den internen WLAN-Status DISCONNECTED und fängt dann an nach einem neuen AP zu suchen und verbindet anschließend mit dem stärken AP (nochmal 8 Sekunden)
Also muss ein manuellen Roaming her. Bevor ich jetzt ein manuelles Roaming programmiere, was nicht ganz trivial ist, wollte ich die Umschaltzeiten testen.
Also habe ich die Funktion WiFi.reconnted() auf eine Taste gelegt und bin wieder spazieren gegangen.
Das positive ist, dass der esp8266 bei einem reconnted() in meinem Test den jeweils stärksten AP gewählt hat.
In meinen Test hat anfangs jedoch 6 Sekunden gedauert, bis die neue Verbindung aufgebaut war und er den ersten Befehl erhalten hat.
Diese Zeit lässt sich auf 3 Sekunden reduzieren, in dem man von dynamischen IP-Adressen (=> DHCP) auf statische IP-Adressen umstellt.
Hier müsste man nochmal schauen, ob man die Zeit noch weiter reduzieren kann, wenn man ihm genau vorgibt, welchen AP er nutzten soll.
3 Sekunden ohne Befehle sind für eine Modelleisenbahn natürlich nicht wenig ... auf der anderen Seite haben viele Leute Puffer in ihren Loks, die ungefähr diese Zeit auch ohne Befehle abdecken. Mein Framework ist im Moment so eingestellt, dass eine Notbremsung nach 2 Sekunden ohne Befehle ausgeführt wird.
Zusammengefasst:
- AP Roaming wird vom ESP8266 softwaremäßig nicht unterstützt und müsste im Framework implementiert werden
- Umschaltzeit zwischen zwei AP beträgt ca. 3 Sekunden, in denen keine Befehle empfangen werden können
Meine Schlussfolgerungen:
- Wenn es möglich ist, nur ein AP für die beweglichen Objekte inkl. statischen IP-Adressen
- Sicherstellen, dass die Loks ohne Befehle für 3 Sekunden "überleben".
Für die Experten:
- Mesh-Netzwerke sind meiner Meinung nach auch keine Alternative, da hier auch die Umschaltzeiten auftreten, oder?
TODO:
- manuelle Roaming implementieren
Gruß,
Sven
Da unser Garten ein wenig verwinkelt ist und die Abdeckung mit einem WLAN Access Point schwierig ist, habe ich heute mal ausprobiert, die gut das Roaming des ESP8266 ist.
Exkụrs Roaming:
WLAN Roaming dient dazu, dass das Endgeräte selber nach dem stärkten WLAN AP sucht und beim Nachlassen der Signalstärke zu einem stärkeren AP wechselt. Bei diesem Wechsel gibt es immer eine kurze Zeit ohne Verbindung.
"Normalsterbliche" erleben dieses Täglich beim Telefonieren, wenn das Handy die Zelle wechselt. Hier ist es aber mit enormen technischen Aufwand realisiert worden, dass es zu keiner Unterbrechung des Telefonat kommt.
Während stationäre Objekte (Weichendecoder, ..) nicht auf das Roaming angewiesen sind, sind Loks und ähnliches auf Roaming angewiesen, da sie sich bewegen und den Sendebereich von AP verlassen können.
Zum Testen habe ich zwei AP mit gleicher SSID, gleichem PWD aber unterschiedlichen Kanälen weit auseinander aufgestellt und bin zwischen den beiden AP gependelt.
Meine Beachtungen:
Ein automatisches Roaming erfolgt nicht.
Selbst wenn der ESP8266 keine Pakete mehr von dem AP empfängt, erfolgt kein automatisches Roaming. Stattdessen erkennt der EPS8266 nach einer gewissen Zeit (>20 sekunden), dass der erste AP nicht mehr erreichbar ist, geht in den internen WLAN-Status DISCONNECTED und fängt dann an nach einem neuen AP zu suchen und verbindet anschließend mit dem stärken AP (nochmal 8 Sekunden)
Also muss ein manuellen Roaming her. Bevor ich jetzt ein manuelles Roaming programmiere, was nicht ganz trivial ist, wollte ich die Umschaltzeiten testen.
Also habe ich die Funktion WiFi.reconnted() auf eine Taste gelegt und bin wieder spazieren gegangen.
Das positive ist, dass der esp8266 bei einem reconnted() in meinem Test den jeweils stärksten AP gewählt hat.
In meinen Test hat anfangs jedoch 6 Sekunden gedauert, bis die neue Verbindung aufgebaut war und er den ersten Befehl erhalten hat.
Diese Zeit lässt sich auf 3 Sekunden reduzieren, in dem man von dynamischen IP-Adressen (=> DHCP) auf statische IP-Adressen umstellt.
Hier müsste man nochmal schauen, ob man die Zeit noch weiter reduzieren kann, wenn man ihm genau vorgibt, welchen AP er nutzten soll.
3 Sekunden ohne Befehle sind für eine Modelleisenbahn natürlich nicht wenig ... auf der anderen Seite haben viele Leute Puffer in ihren Loks, die ungefähr diese Zeit auch ohne Befehle abdecken. Mein Framework ist im Moment so eingestellt, dass eine Notbremsung nach 2 Sekunden ohne Befehle ausgeführt wird.
Zusammengefasst:
- AP Roaming wird vom ESP8266 softwaremäßig nicht unterstützt und müsste im Framework implementiert werden
- Umschaltzeit zwischen zwei AP beträgt ca. 3 Sekunden, in denen keine Befehle empfangen werden können
Meine Schlussfolgerungen:
- Wenn es möglich ist, nur ein AP für die beweglichen Objekte inkl. statischen IP-Adressen
- Sicherstellen, dass die Loks ohne Befehle für 3 Sekunden "überleben".
Für die Experten:
- Mesh-Netzwerke sind meiner Meinung nach auch keine Alternative, da hier auch die Umschaltzeiten auftreten, oder?
TODO:
- manuelle Roaming implementieren
Gruß,
Sven
bin jetzt mehr hier zu finden.
-
- Senior
- Beiträge: 202
- Registriert: Di 15. Jan 2013, 20:20 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: WIFI Roaming
Nun ja - ist ja auch nach wissenschaftlicher Lehre eine Aufgabe des Betriebssystems - und ein Betriebssystem hat der ESP nun mal nicht - er ist ja kein Computer, sondern lediglich ein MICROCONTROLLER - schon in der Einleitung bei https://de.wikipedia.org/wiki/ESP8266 nachzulesen ...!little.yoda hat geschrieben:Hi
....
Meine Beachtungen:
Ein automatisches Roaming erfolgt nicht.
Zusammengefasst:
- AP Roaming wird vom ESP8266 softwaremäßig nicht unterstützt und müsste im Framework implementiert werden
Den Aufwand hättest Du Dir also sparen können.
Und den zukünftigen Aufwand, ein Roaming als Programmerweiterung zu implementieren, würde ich mir sparen - das wirst Du ein Leben lang nicht zurfriedenstellend hinkriegen ...! Da betreiben die Profis ganze Forschunglslabore, um ROAMING zu implementieren- Microsoft hat es bis heute (in Dekaden!) nicht geschafft ...! Und Linux hat Schwierigkeiten, die unterbrochene Routerverbindung wieder selbständig herzustellen - da muss man auch nachhelfen.
Es geht ja nicht nur darum, im Netzwerk "eingeloggt" zu sein, sondern die gesamte Logik ALLER verbindungsorientierten Protokolle (über alle Ports !!!) muss erhalten bleiben, bzw. wiederhergestellt werden
Gruesse
-
- User
- Beiträge: 61
- Registriert: Mo 4. Jan 2016, 07:51 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: WIFI Roaming
Hallo Sven,
wenn du schon 2 AP installiert hast, bist du vielleicht auch mal mit der WLAN-Maus abgeschritten?
Wäre doch vielleicht interessant wie die sich verhält....
...Mein Hintergedanke:
P. Gatow hat vor, aus einer normalen Multimaus eine WLAN-Maus zu machen,
könnte mir vorstellen, dass da wieder viel Wissenswertes abfällt, auch in dieser Richtung.
(Allerdings ist P. derzeit durch frische Vaterfreuden stark ausgebremst)
VG Norbert
wenn du schon 2 AP installiert hast, bist du vielleicht auch mal mit der WLAN-Maus abgeschritten?
Wäre doch vielleicht interessant wie die sich verhält....
...Mein Hintergedanke:
P. Gatow hat vor, aus einer normalen Multimaus eine WLAN-Maus zu machen,
könnte mir vorstellen, dass da wieder viel Wissenswertes abfällt, auch in dieser Richtung.
(Allerdings ist P. derzeit durch frische Vaterfreuden stark ausgebremst)
VG Norbert
-
- Senior
- Beiträge: 190
- Registriert: Mo 9. Nov 2015, 21:05
- Kontaktdaten:
Re: WIFI Roaming
Ach Karl, so langsam nervt es. Bringt es was, wenn ich dich bitte, mich einfach in Ruhe zu lassen? Im Moment habe ich das Gefühl, dass du mir als kleiner Troll einfach nur an den Karren fahren willst.
Roaming ist Aufgabe des Endgerätes. Wie das Endgerät gestaltet ist, spielt keine Rolle. Nach deiner Definition würde ja kein Microcontroller jemals Roaming unterstützen können. Und selbst das das Endgerät zuständig ist, ist nur die halbe Wahrheit, weil bei professionellen Lösungen es doch wieder durch die APs gesteuert werden kann.
ESP8266 kein Computer? Wiki sagt "Ein Computer [...] ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet." bzw. "Ein Mikrocontroller ist ein Ein-Chip-Computersystem"
Betriebssystem?
ESP8266 unterstützt freertos.
Und was ist freertos?
"FreeRTOS is a truly free professional grade RTOS for microcontrollers"
RTOS? => "Ein Echtzeitbetriebssystem (englisch real-time operating system, kurz RTOS genannt) ist ein Betriebssystem, ..."
Falsch, Falsch und nochmals Falsch. 3 inhaltliche Fehler in einem Satz.IPTRAIN hat geschrieben: Nun ja - ist ja auch nach wissenschaftlicher Lehre eine Aufgabe des Betriebssystems - und ein Betriebssystem hat der ESP nun mal nicht - er ist ja kein Computer, sondern lediglich ein MICROCONTROLLER - schon in der Einleitung bei https://de.wikipedia.org/wiki/ESP8266 nachzulesen ...!
Roaming ist Aufgabe des Endgerätes. Wie das Endgerät gestaltet ist, spielt keine Rolle. Nach deiner Definition würde ja kein Microcontroller jemals Roaming unterstützen können. Und selbst das das Endgerät zuständig ist, ist nur die halbe Wahrheit, weil bei professionellen Lösungen es doch wieder durch die APs gesteuert werden kann.
ESP8266 kein Computer? Wiki sagt "Ein Computer [...] ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet." bzw. "Ein Mikrocontroller ist ein Ein-Chip-Computersystem"
Betriebssystem?
ESP8266 unterstützt freertos.
Und was ist freertos?
"FreeRTOS is a truly free professional grade RTOS for microcontrollers"
RTOS? => "Ein Echtzeitbetriebssystem (englisch real-time operating system, kurz RTOS genannt) ist ein Betriebssystem, ..."
Auch wenn du hier im Prinzip recht hast; Wenn du dich mal mit meinem Framework beschäftigt hättest, wüsstest du, das das genutzte z21 Protokoll, verbindungslos ist. Ein Anspruch auf verbindungsorientierte Protokolle habe ich nicht und ist auch nicht notwendig.IPTRAIN hat geschrieben: Es geht ja nicht nur darum, im Netzwerk "eingeloggt" zu sein, sondern die gesamte Logik ALLER verbindungsorientierten Protokolle (über alle Ports !!!) muss erhalten bleiben, bzw. wiederhergestellt werden
Zuletzt geändert von little.yoda am Di 8. Aug 2017, 08:42, insgesamt 3-mal geändert.
bin jetzt mehr hier zu finden.
-
- Senior
- Beiträge: 190
- Registriert: Mo 9. Nov 2015, 21:05
- Kontaktdaten:
Re: WIFI Roaming
Konnte ich mangels Zeit nicht testen, ich vermute, aber dass es dort die gleichen Probleme gibt, da die WLAN-Maus einen esp8266 oder esp32 eingebaut hat. Ich schaue mal, ob ich es die Tage testen kann.Norbert hat geschrieben:wenn du schon 2 AP installiert hast, bist du vielleicht auch mal mit der WLAN-Maus abgeschritten?
Bin ich mal gespannt, wie es am Ende aussieht.Norbert hat geschrieben: ...Mein Hintergedanke:
P. Gatow hat vor, aus einer normalen Multimaus eine WLAN-Maus zu machen,
könnte mir vorstellen, dass da wieder viel Wissenswertes abfällt, auch in dieser Richtung.
Ich frage mich, ob er alle Komponenten in die Multimaus einbauen will oder ob es eher ein "xpressNet to z21" Konverter wird.
bin jetzt mehr hier zu finden.
-
- User
- Beiträge: 61
- Registriert: Mo 4. Jan 2016, 07:51 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: WIFI Roaming
Ja , da habe ich exakt die gleichen Gedanken wie du.
Auf jeden Fall ist der gesamte Z21-Komplex eine unheimlich spannende Geschichte, die richtig viel Freude macht.
Irgendwie der "goldene Schuss" auf dem Gebiet.
Lass dich nicht aus der Ruhe bringen, deine Arbeit ist jedenfalls hoch anerkennenswert, und der Erfolg belohnt dein Engagement! Prima!
VG Norbert
Auf jeden Fall ist der gesamte Z21-Komplex eine unheimlich spannende Geschichte, die richtig viel Freude macht.
Irgendwie der "goldene Schuss" auf dem Gebiet.
Lass dich nicht aus der Ruhe bringen, deine Arbeit ist jedenfalls hoch anerkennenswert, und der Erfolg belohnt dein Engagement! Prima!
VG Norbert
- Pirat-Kapitan
- Senior
- Beiträge: 153
- Registriert: So 28. Okt 2012, 14:09
- Wohnort: Rösrath (bei Köln) [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: WIFI Roaming
Moin Sven,
warum AP und nicht Repeater?
APs verwende ich mit unterschiedlicher SSID, das ist jedesmal ein Umloggen erforderlich.
Repeater hat die gleiche SSID wie der zuständige AP, da habe ich zumindest mit der WLM keine Umlogprobleme. Zeiten habe ich bei der WLM nicht gemessen, sie hängt bei mir auf dem Rocrailserver.
Wenn Du Karlchens Beiträge einfach ignorierst, machst Du Dir das Leben einfacher.
Schöne Grüße
Johannes
warum AP und nicht Repeater?
APs verwende ich mit unterschiedlicher SSID, das ist jedesmal ein Umloggen erforderlich.
Repeater hat die gleiche SSID wie der zuständige AP, da habe ich zumindest mit der WLM keine Umlogprobleme. Zeiten habe ich bei der WLM nicht gemessen, sie hängt bei mir auf dem Rocrailserver.
Wenn Du Karlchens Beiträge einfach ignorierst, machst Du Dir das Leben einfacher.
Schöne Grüße
Johannes
Lenz DCC mit Manhart-Funky, Roco WLM und Rocrail auf RasPi.
Micky Maus Technologie (40MHz R/C) für Echtdampf.
Micky Maus Technologie (40MHz R/C) für Echtdampf.
-
- Senior
- Beiträge: 190
- Registriert: Mo 9. Nov 2015, 21:05
- Kontaktdaten:
Re: WIFI Roaming
Diese Fragestellung habe ich gerade mal in meinem Setup getestet:little.yoda hat geschrieben:Konnte ich mangels Zeit nicht testen, ich vermute, aber dass es dort die gleichen Probleme gibt, da die WLAN-Maus einen esp8266 oder esp32 eingebaut hat. Ich schaue mal, ob ich es die Tage testen kann.Norbert hat geschrieben:wenn du schon 2 AP installiert hast, bist du vielleicht auch mal mit der WLAN-Maus abgeschritten?
Beide AP gleiche SSID, gleiche Verschlüsselungseinstellungen:
Einmal mit unterschiedlichen Kanälen und einmal mit den gleichen Kanälen:
Bin mit der WLAN-Maus hin- und hergelaufen und habe jeweils auf die "Licht ein/aus"-Taste gedrückt. Da die WLAN-Maus den Wechsel erst anzeigt, wenn sie auch die Rückmeldung von der Z21 erhalten hat, ist dies ein guter Indikator.
Wenn ich den Sendebereich verlasse, dauert es bei mir gute 20 Sekunden, bis die WLAN-Maus wieder Befehle senden und empfangen kann.
Welchen Repeater hast denn im Einsatz?Pirat-Kapitan hat geschrieben: APs verwende ich mit unterschiedlicher SSID, das ist jedesmal ein Umloggen erforderlich.
Repeater hat die gleiche SSID wie der zuständige AP, da habe ich zumindest mit der WLM keine Umlogprobleme. Zeiten habe ich bei der WLM nicht gemessen, sie hängt bei mir auf dem Rocrailserver.
Gruß,
Sven
bin jetzt mehr hier zu finden.
-
- User
- Beiträge: 61
- Registriert: Mo 4. Jan 2016, 07:51 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: WIFI Roaming
Ja, diese 20s brauchts bei mir auch.
Mit Repeater(n) habe ich noch nie was hingekriegt, habe im Laufe der Zeit mit div. Fabrikaten gespielt, nichts war überzeugend,
bzw. haben sich alle negativ ausgewirkt, im Gegenteil, sogar Netz gestört.
VG Norbert
Mit Repeater(n) habe ich noch nie was hingekriegt, habe im Laufe der Zeit mit div. Fabrikaten gespielt, nichts war überzeugend,
bzw. haben sich alle negativ ausgewirkt, im Gegenteil, sogar Netz gestört.
VG Norbert
- Pirat-Kapitan
- Senior
- Beiträge: 153
- Registriert: So 28. Okt 2012, 14:09
- Wohnort: Rösrath (bei Köln) [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: WIFI Roaming
moin,
ich verwende den Repeater TL-WA830RE ("Range Extender").
Der dazugehörige AP liegt für diesen Repeater im direkten Blickkontakt, allerdings hinter einer Hauswand, der Gartenbahnbereich liegt für den dazugehörenden AP im Abschattungsbereich eines Erdhanges, hat aber direkten Sichtkontakt auf den Repeater.
Schöne Grüße
johannes
ich verwende den Repeater TL-WA830RE ("Range Extender").
Der dazugehörige AP liegt für diesen Repeater im direkten Blickkontakt, allerdings hinter einer Hauswand, der Gartenbahnbereich liegt für den dazugehörenden AP im Abschattungsbereich eines Erdhanges, hat aber direkten Sichtkontakt auf den Repeater.
Schöne Grüße
johannes
Zuletzt geändert von Pirat-Kapitan am Sa 9. Dez 2017, 19:59, insgesamt 1-mal geändert.
Lenz DCC mit Manhart-Funky, Roco WLM und Rocrail auf RasPi.
Micky Maus Technologie (40MHz R/C) für Echtdampf.
Micky Maus Technologie (40MHz R/C) für Echtdampf.