Jump to content

[Java] Wifi Extension: Anzahl aktueller Verbindungen auslesen?


Recommended Posts

  • Replies 81
  • Created
  • Last Reply

Top Posters In This Topic

also, der Inhalt der $packet Variable ist leer - drum gibt es auch nix zum "unpack" und den "unknown Index" Fehler.

Aufgetreten ist der Fehler zuletzt im Zusammenhang mit Enummerierung nach einem ReConnect aufgetreten ist.

Also zuerst kommt eine "did not respond in time" Exception. Dann mach ich ein Disconnect und ein Connect. Im Connect-Callback wird die Enumeration ausgelöst.

Und der nächste DispatchCallback bringt dann leere $packets.

Ich hab jetzt in der IpConnection.php die Zeile 1110 folgendermassen verändert:

    private function handleResponse($packet, $directCallbackDispatch)
             {if (strlen($packet)<4) {debug("REINWEB_TF_DEBUG");debug($packet);sleep(2);throw new TinkerforgeException("Empty Packet Received");}

Ich wollte die Zeilenanzahl nicht verändern, drum hab ich alle Commands so grauslich in die Zeile 1110 gepackt.

Es wird wohl wieder ein paar Stunden dauern, bis der Fehler wieder auftritt.

 

Anmerken möcht ich noch, dass ich den Stack als solches nicht reseten oder power-cyclen musste. Einfach das PHP Programm neu starten und es hat wieder ordentliche "$packet" gegeben.

lg, Reinhard

Link to comment
Share on other sites

Nun ist es wieder passiert.

Diesmal war aber $packet nicht leer - sondern der Inhalt war "2"!?!?

Aufgetreten ist es wieder im Rahmen eines erneuten Enummerierungs-Callbacks.

Ist 2x hintereinander vorgekommen und dann nach einiger Zeit nochmals.

 

Durch meine Source-Änderung im IpConnection wurde die TinkerforgeException geworfen und mein Programm ist einwandfrei weitergelaufen (d.h. es sind danach wieder ordentliche Packets gekommen...)

lg, Reinhard

Link to comment
Share on other sites

Gibt debug() den $packet als ASCII oder UTF-8 aus? Das erklärt vielleicht deine "2", denn $packet enthält Binärdaten die nicht ASCII und auch nicht UTF-8 sind.

 

Gib mal bitte bin2hex($packet) statt direkt $packet aus.

 

Test auch bitte auf "strlen($packet) < 8" statt < 4.

Link to comment
Share on other sites

  • 2 weeks later...

Änderungen umgesetzt.

Ich erkenne eine Korrelation zwischen "Neu-Enummerierung" eines Bricklets und dem leeren Packet.

Möglicherweise tritt das Problem dann auf, wenn zeitleich eine Neu-Enummerierung abläuft und das gleiche Bricklet einen Callback auslöst.

Wobei "gleichzeitig" bei PHP ja so eine Sache ist....

 

Link to comment
Share on other sites

YES, WiFi2.0 Firmware 2.0.3

 

Nachdem ich die Möglichkeit erhalten habe, die neue WiFi2.0 mit Firmware 2.0.3 einzusetzen laufen sämtliche Stapel seit mehreren Tagen ununterbrochen!

Rock-Solid!

 

Folgende Tests über mehr als 48h gemacht:

Weihnachtsbeleuchtung als zufälliges 'Kerzenflackern' mit Frameduration 100ms. (Temperatur -4°C)

1x WiFi2.0 (2.0.3)

1x Master2.1 (2.4.1) -> LEDStripBricklet1.0 (2.0.6) -> 200xWS2801

 

Läuft stets! mit kleine Stotterer zwischendurch aber keine Timeouts!

 

Grosses LED-Panel im brickv (Moving Color Dot / Moving Color Gradient)

1x Master2.1(2.4.1) -> LEDStripBricklet1.0(2.0.6) -> 240x SK6812RGBW

1x WiFi2.0 (2.0.3)

1x Master2.1(2.4.1) -> LEDStripBricklet1.0(2.0.6) -> 235x SK6812RGBW

1x Stepdown 1.1

 

Läuft stets! mit kleine Stotterer zwischendurch und ca. 1-2 Timeouts pro Stunde!

 

und natürlich auch der Test aus dem Posting vom November 16, 2016, 16:34:22: Läuft stets, wie erwartet.

 

 

Nun bin ich wieder begeistert von Tinkerforge! Danke.

(Es wäre nun toll, wenn dies bei der WiFi 1 auch gelingen würde, oder aber diese mit einem Warnhinweis versehen würde.

 

Schöne Festtage und Happy Tinkering!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...