PreinfalkG Geschrieben January 2, 2015 at 22:26 Geschrieben January 2, 2015 at 22:26 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 Zitieren
borg Geschrieben January 3, 2015 at 14:11 Geschrieben January 3, 2015 at 14:11 Wenn du den RED Brick per USB an den PC anschließt und localhost statt der IP nimmst, funktioniert es dann? Edit: Nur um zu gucken ob es ein generelles Problem mit brickd ist oder spezifisch mit dem RED Brick zu tun hat. Zitieren
PreinfalkG Geschrieben January 3, 2015 at 15:35 Autor Geschrieben January 3, 2015 at 15:35 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 Zitieren
borg Geschrieben January 3, 2015 at 16:46 Geschrieben January 3, 2015 at 16:46 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. Zitieren
PreinfalkG Geschrieben January 3, 2015 at 17:25 Autor Geschrieben January 3, 2015 at 17:25 Hi, kein Stress ... Hier der genaue Ort des JavaSkript Fehlers (bei Chrome und Firefox gleich) ... lg. Günter Zitieren
photron Geschrieben January 5, 2015 at 15:04 Geschrieben January 5, 2015 at 15:04 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 Zitieren
abinbetrieb Geschrieben March 22, 2024 at 16:04 Geschrieben March 22, 2024 at 16:04 (bearbeitet) Hallo, habe aktuell das gleiche Problem: ExampleCallback.js sowie die html Seite stammt von tinkerforge. Mit dem Brickviewer kann ich die Daten des outdoor weather bricklets auslesen, allerdings nicht mit dem Browser. Die Konsole von Firefox zeigt den oben beschriebenen Fehler in der gleichen Zeile wie oben in Tinkerforge.js Im brickdaemon log erscheint der Verbindungsversuch beim Klick auf den "Start example" button, allerdings wird sofort abgebrochen (Package too long). Im Textfeld dann Error 13. Websocket habe ich aktiviert, das zeigt auch der Bricklogger an. Habe mit dem Raspian sowie unter Windows ausprobiert. Mit Edge, IE, Firefox sowie Chrome kein Erfolg. Würde mich auf Unterstützung freuen. Da der log den Anmeldeversuch (zombie) anzeigt, vermute ich einen Fehler in den Bindings?! VG bearbeitet March 22, 2024 at 16:07 von abinbetrieb Websockets aktiviert (Info ergänzt) Zitieren
photron Geschrieben March 25, 2024 at 13:03 Geschrieben March 25, 2024 at 13:03 Ich habe die JavaScript Binding im Browser getestet und kann dein Problem leider nicht nachstellen. Die Bindings funktionieren bei mir. Ich habe dieses Beispiel einfach direkt im Browser ausgeführt, ohne es vorher runterzuladen. Ich habe nur die UID meines Outdoor Weather Bricklets eingetragen: https://www.tinkerforge.com/de/doc/Software/Examples/JavaScript/OutdoorWeather_Bricklet_JavaScript_ExampleCallback.html Ich verwenden die aktuellen Softwareversionen: brickd 2.4.5 und Outdoor Weather Bricklet Firmware 2.0.4. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.