Forum: Mikrocontroller und Digitale Elektronik Wifly RN 171 Erkennung von Verbindungsabbruch


von F. K. (superpcfan)


Lesenswert?

Hallo liebes Forum

Ich verwende schon länger ein Wifly RN 171 als WLAN-UART Brücke und 
hatte von Anfang an ein Problem mit der Erkennung von 
Verbindungsabbrüchen. Ich hatte gehofft, dass es in einer zukünftigen 
Firmwareversion dafür eine Lösung gibt. Nachdem ich nun von Version 2.30 
auf 4.41 upgedatet habe und ich im Manual immer noch keine Lösung finde, 
frage ich nun euch.

Das Modul ist als AP konfiguriert und ich kann vom PC aus problemlos 
eine Verbindung herstellen. Ich kann dann auch problemlos eine 
"Comm-Verbindung" öffnen und Daten versenden/empfangen.

Das Problem beginnt, wenn ich jetzt einfach die WLAN Verbindung trenne. 
Das Modul erkennt das korrekt und geht wieder in den "unverbundenen" 
Zustand (LED rot blinkt), allerdings wird die "Comm-Verbindung" nicht 
zurückgesetzt (LED grün leuchtet noch immer dauerhaft). Wenn ich jetzt 
erneut Verbinde, wird die WLAN Verbindung zwar wieder hergestellt, aber 
die "Comm-Verbindung" kann ich nicht wieder aufnehmen. Ich bekomme also 
keine Datenverbindung mehr zu stande.

Meine einzige Lösung ist momentan ein reboot.

Im Manual habe ich bisher keine Lösung gesehen oder als solche erkannt, 
auch wenn ich mir nicht vorstellen kann, dass ich der Einzige sein soll, 
der das Problem hat.

- Der Befehl "comm idle zeitX" beendet die "Comm-Verbindung" leider 
auch, wenn die WLAN Verbindung noch aktiv ist.
- Der Heartbeat wird abgeschaltet, sobald eine "Comm-Verbindung" 
zustande kommt (also keine MCU Auswertung möglich).
- Der "apmode link_monitor" sendet auch keine Nachricht auf dem UART, 
solange eine "Comm-Verbindung" vermeintlich aktiv ist.

Vielleicht könnt ihr mir sagen, was ich übersehen habe oder ob es dort 
tatsächlich noch eine Lücke gibt.

Gruß
SuperPCFan

von Jim M. (turboj)


Lesenswert?

F. K. schrieb:
> Das Problem beginnt, wenn ich jetzt einfach die WLAN Verbindung trenne.
> Das Modul erkennt das korrekt und geht wieder in den "unverbundenen"
> Zustand (LED rot blinkt), allerdings wird die "Comm-Verbindung" nicht
> zurückgesetzt (LED grün leuchtet noch immer dauerhaft).

Das ist IMO auch so korrekt, denn der WLAN Client könnte ja durchaus nur 
mal kurz z.B. schlechten Empfang haben.

F. K. schrieb:
> - Der Befehl "comm idle zeitX" beendet die "Comm-Verbindung" leider
> auch, wenn die WLAN Verbindung noch aktiv ist.

Und wieso ist das ein Problem? So hatten wird das seinerzeit mit dem 
RN131 Geschwister Modul gelöst. Baut man halt ein "Ping" ins Protokoll 
mit ein.

F. K. schrieb:
> - Der Heartbeat wird abgeschaltet, sobald eine "Comm-Verbindung"
> zustande kommt (also keine MCU Auswertung möglich).

Doch, wenn man auf die Idee komt, die (LED-)GPIOs mit dem µC 
auszuwerten.

von F. K. (superpcfan)


Lesenswert?

Jim Meba schrieb:
> Das ist IMO auch so korrekt, denn der WLAN Client könnte ja durchaus nur
> mal kurz z.B. schlechten Empfang haben.

Dass das so gewollt ist, um die Verbindung wiederverwenden zu können, 
habe ich mir schon gedacht. Das Problem ist nur: Es klappt nicht. Ich 
weiß nicht ob das WLAN Modul oder mein "Hercules Terminal" das Problem 
ist, aber mein Client kann die bestehende Verbindung nicht wieder 
verwenden.
Der Client zeigt die Meldung: "Connection refused by Remote Host"

Jim Meba schrieb:
> Und wieso ist das ein Problem? So hatten wird das seinerzeit mit dem
> RN131 Geschwister Modul gelöst. Baut man halt ein "Ping" ins Protokoll
> mit ein.

Ich hatte gehofft ohne Ping auszukommen. Ich wollte eigentlich keinen 
Parser für die Wifly Syntax einbauen. Dem Modul einfach zu sagen "Wenn 
WLAN weg, dann beende auch die "Comm-Verbindung" währe viel einfacher.
Denn wenn ich eh die Wifly Syntax implementiere, dann könnte ich das 
WLAN Modul auch kurz in den Command-Modus schalten und den MCU 
nachfragen lassen.

 Jim Meba schrieb:
> Doch, wenn man auf die Idee komt, die (LED-)GPIOs mit dem µC
> auszuwerten.

Die Idee ansich ist gut, nur habe ich leider keinen Pin am MCU mehr 
frei, um außerhalb des UART etwas auszuwerten. Außerdem hätte ich das 
gleiche Problem wie oben: Ich müsste ja auf den Pin mit dem 
Command-Modus reagieren, Thema: "Syntax"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.