Jump to content

alexSch

Members
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. @photron Vielen Dank für die schnelle Hilfe. Die Aktivierung des Dienstes in der bricks config war die Lösung! Port 4280 habe ich nur auf gut Glück getestet.
  2. Gerade habe ich begonnen, mein Projekt vom RED Brick auf einen Raspberry Pi 3B mit HAT Brick umzuziehen. Leider krankt das Vorhaben direkt zu Beginn: Installationsanleitung https://www.tinkerforge.com/de/doc/Hardware/Bricks/HAT_Brick.html befolgt Zugriff auf HAT Brick erfolgreich mittels Brick Viewer im WLAN getestet. Mac mit brickv greift über IP und PORT auf Raspberry Pi zu und erlaubt Auslesen und Steuern des HAT Bricks und angeschlossener Bricklets. "Print Voltage (HTML)" und "Enumerate (HTML)" Beispiele für Java Script per Apache auf dem Raspberry Pi gehostet und gestartet Beim Zugriff vom Raspberry Pit via "localhost" meldet die Chromium-Konsole beim Port 4223 "WebSocket connection to 'ws://localhost:4223/' failed: Connection closed before receiving handshake response" - tinkerforge.js:57196. Das Textfenster zeigt "Error: 13". Beim Zugriff vom Raspberry Pit via "localhost" meldet die Chromium-Konsole beim Standard-Port 4280 "WebSocket connection to 'ws://localhost:4280/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED" - tinkerforge.js:57196. Das Textfenster zeigt "Error: 13". Beim Zugriff auf die gleichen Testseiten vom Mac via WLAN erscheint in der Browser-Konsole von Safari zwar keine Fehlermeldung, aber Das Textfenster zeigt auch "Error: 13". Hat jemand einen Rat, ob ich bei meiner Apache- oder wegsacket Konfiguration etwas anpassen muss? VERSIONEN Raspbian 10 buster Tinkerforge.js 2.1.25 Apache 2.4.38
  3. Hallo photron... Leider musste ich eine längere Pause im Projekt einlegen. Hier nun mein Code, der die IP connection aufbaut. Ich habe den Fehler inzwischen seltener, aber immer noch sporadisch. Ein Muster erkenne ich bislang nicht... function initiateConnection() { return new Promise((resolve, reject) => { console.log('initiateConnection started ...'); htmlProtocolDiagnosis.value += getHumTimeStamp() + ' Starting IP Connection @ ' + htmlMasterBrickHOST.value + ':' + htmlMasterBrickPORT.value + '\n'; var host = configJSON.webApp.userSettings.IP var port = parseInt(configJSON.webApp.userSettings.port) var timeout = 3000 if(ipcon !== undefined) { ipcon.disconnect(); DEBUG_2 && console.log('ipcon disconnected before reestablishing connection') } ipcon = new Tinkerforge.IPConnection(); // Create IP connection // Connect to brickd ipcon.connect(host, port, function(error) { console.log('Error during IP Connection ' + error); htmlProtocolDiagnosis.value += getHumTimeStamp() + ' Error ' + error + ' during IP connection '+ '\n'; reject(new Error('Error during IP Connection ' + error)); } ); // Don't use device before ipcon is connected ipcon.on(Tinkerforge.IPConnection.CALLBACK_CONNECTED, function (connectReason) { // Trigger Enumerate ipcon.enumerate(); // Get Connection state console.log('Current ipcon status: ' + ipcon.getConnectionState()); htmlProtocolDiagnosis.value += getHumTimeStamp() + ' IP Connection Status ' + ipcon.getConnectionState() + ' @ ' + htmlMasterBrickHOST.value + ':' + htmlMasterBrickPORT.value + '\n'; } ); // Register Enumerate Callback ipcon.on(Tinkerforge.IPConnection.CALLBACK_ENUMERATE, function(uid, connectedUid, position, hardwareVersion, firmwareVersion, deviceIdentifier, enumerationType) { var enumerationTypeEvaluated = function() { if(enumerationType === Tinkerforge.IPConnection.ENUMERATION_TYPE_DISCONNECTED) { return(''); } } var deviceIdentifierReadable = getReadableDeviceName(deviceIdentifier, position, uid) var newDevice = {"UID": uid, "ConnectedUID": connectedUid, "Position": position, "HardwareVersion": String(hardwareVersion).replace(/,/g, '.'), "FirmwareVersion": String(firmwareVersion).replace(/,/g, '.'), "DeviceIdentifier": deviceIdentifier, "DeviceIdentifierReadable": deviceIdentifierReadable} modules.push(newDevice); } ); // Use devices enumeration results as indicator, if initiateConnection() was successful setTimeout( function() { if (modules.length >> 0) { DEBUG_2 && console.log('initiateConnection() successful') htmlProtocolDiagnosis.value += getHumTimeStamp() + ' Received Modules List from MasterBrick' + '\n'; resolve(); } else { DEBUG_2 && console.log('initiateConnection() not successful') htmlProtocolDiagnosis.value += getHumTimeStamp() + ' Did not receive Modules List from MasterBrick' + '\n'; reject(new Error('Error during modules enumeration')); }; }, timeout); // Give checker 1s time wait for enumeration callbacks to arrive }) };
  4. Gibt es denn Pläne, das mit zukünftigen Images für den RED brick zu ändern? Oder wird es neue Hardware-Versionen der Wifi-Extension oder des RED bricks geben, die das ermöglichen?
  5. Hey capacious, hey Tinkerforge team. ONE UP for this request. I would also love to see this capability soon. Would love to use the exact same setup: RED brick stack with WIFI extension 2.0 + 3(4)G dongle via RED brick USB port.
  6. Habe jetzt auf die JavaScript Bindings Version 2019-01-29: 2.1.22 (2617875) aktualisiert und werde es weiter beobachten. Da es offensichtlich an meiner App liegt, bin ich um jeden Hinweis dankbar, in welche Richtung ich Euer Beispiel (DualRelay) und meinen Code abgleichen sollte. Viele Grüße und vielen Dank Alex
  7. Hallo photron, hier in Kürze die Antworten auf Deine Fragen zu meinem Setup: Browser: Safari MacOS Version 12.0.2 (14606.3.4) und Safari iOS 12.1.1 JavaScript Bindings: 2.1.21 Firmware WiFi Extension: 2.1.3 Beispiel Script DualRelay: Lief bei 10/10 Versuchen einwandfrei
  8. Hallo liebe TinkerUnity, in meinem Projekt setze ich die WiFi Extension. Diese wählt sich in das heimische WLAN ein. Meine WebApp im Browser (JavaScript) stellt nun aus dem gleichen WLAN eine IPConnection (ipcon) zum MasterBrick her. Ich setze noch keine Verschlüsselung/Handshake ein, sondern verbinde einfach mittels IP-Adresse und Port. Das klappt nur leider nicht reproduzierbar. Sporadisch, aber gerne auch mal bei fünf Versuchen hintereinander ergibt liefert ipcon.connect() folgende Fehlermeldung: WebSocket connection to 'ws://192.168.1.3:4280/' failed: Status line contains non-ASCII character Übergeordnet wird dann Error Code 13 ausgelöst. Ich kann den Fehler auf die Line 49756 innerhalb der tinkerforge.js zurückverfolgen. Den dortige Code hilft mir jedoch leider nicht weiter. Weiß jemand Rat??? Viele Grüße Alex
×
×
  • Create New...