Jump to content

Problem mit JavaScript Bindings mit dem RED Brick


PreinfalkG

Recommended Posts

Seit dem ich den RED Brick (mit Ethernet Extension) in Verwendung habe, bekomme ich die JavaScript Bindings nicht mehr zum laufen!

 

Zuvor hatte ich einen MasterBrick mit der Ethernet Extension in Betrieb und da gab es keine Probleme. Hab auch auf die neue Version (2.0.4) der JavaScript Bindings upgedatet.

 

Selbst eure Testseiten (z.B. Dual Relay Bricklet) funktionieren bei mir mit dem RED Brick nicht mehr -> siehe Screenshot !!!

 

Habt ihr eine Idee?

lg. Günter

TinkerforgeJavaScriptProblem.thumb.png.b0277f33f2244acfb14a96dadbd5b865.png

Link to comment
Share on other sites

Hallo borg

 

So, nach einigen Stunden hab ich jetzt festgestellt, dass es mit Internet Explorer v11.0 bei mir funktioniert und mit allen anderen Browsern (Chrome 39, Firefox 34, iPhone und iPad) NICHT funktioniert!

 

Konfiguration:

Eurer Online 'TemperatureIR_Bricklet_JavaScript_ExampleSimple.html' mit RED Brick, 2x MasterBrick und einigen Bricklets.

 

Zusatz: Meine WebSeite welche ich vor dem RED Brick mit einem MasterBrick und Ethernet Extension hatte habe ich auf JavaScript Binding v2.0.4 gehoben und funktioniert jetzt auch nur mehr mit Internet Explorer!

 

siehe Screenshot mit alles drei Browsern ...

 

lg.

Günter

TinkerForgeJavaScriptProblem.png.2fa4de69a2febd3b44662cf0cccce5ec.png

Link to comment
Share on other sites

Puh, das muss ich mir am Montag genauer angucken. Ich bin gerade kurz die Commits durchgegangen, IMO hat sich seit dem allerersten Release nichts am eigentlichen Verbindungsaufbau geändert (dieser schlägt ja fehl hier).

 

Es ist auch komisch, dass die JavaScript Bindings schuld zu sein scheinen. Die WebSocket Server Implementierung im Brickd und im Master Brick ist komplett von uns, da kann ich mir gut vorstellen, dass wir irgendwo RFC 6455 nicht 100%ig korrekt implementieren und es nach einem Browser-Update auf einmal nicht mehr geht. Für die Bindings nutzen wir die WebSocket Implementierung des jeweiligen Browsers. Warum sollte sich da etwas ändern nach einem Update der Bindings? Sehr komisch.

 

Wenn du Lust hast das genauer zu debuggen könntest du versuchen die Kommunikation mit Wireshark aufzunehmen. Einmal mit einer funktionierenden und einmal mit einer nicht-funktionierenden Bindings Version. Interessant wäre dabei dann zu sehen wo genau im WebSocket Handshake der Unterschied ist zwischen den beiden.

 

Ich komme da sonst frühstens am Montag oder Dienstag zu.

Link to comment
Share on other sites

Problem gefunden und gelöst.

 

Es kann passieren, dass brickd schon anfängt Callbacks über den WebSocket rauszuschicken, bevor der Handshake mit dem Browser fertig ist. Dies sieht dann für den Browser nach einem fehlerhaften Handshake aus und der er bricht die Verbindung ab.

 

Voraussichtlich Ende der Woche gibt es eine neue Version es Images, die dann auch diesen Fix beinhaltet.

 

Bis dahin kannst du über den Console Tab im Brick Viewer von Hand eine korrigierte Version einspielen. Dazu einfach folgende Befehle eingeben:

 

sudo wget -O /usr/bin/brickd_new "http://www.tinkerunity.org/forum/index.php?action=dlattach;topic=2788.0;attach=2071"
sudo mv /usr/bin/brickd_new /usr/bin/brickd

 

als Password tf eingeben und nach dem Download oben rechts über den System Knopf Brick Daemon neustarten.

 

Edit: wget Befehl korrigiert.

brickd

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.

×
×
  • Create New...