Jump to content

theobald

Members
  • Content Count

    24
  • Joined

  • Last visited

Community Reputation

0 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. OK vielen Dank! Ich dachte mir schon sowas in der Richtung... Das ist aber kein Problem... Viele Grüße. Theo
  2. Hallo TF-Team! kann man auch Kabel >2m für den Anschluss von Bricklets an den Master bei Euch bekommen? Ich habe Sensoren (Humidity) an einer größeren Wetterstation, die bestimmte Höhen über/unter dem Boden haben müssen, so dass ich einen in 1m in der Erde habe (Bodenfrost) einen 5cm über der Erde und einen in 2m/3m Höhe. Da bräuchte ich 3m/4m Kabel. Gibt es soetwas bei Euch? Viele Grüße. Theo
  3. Danke! Das werde ich gleich testen. Ich habe jetzt ca. 3000 Zeilen code für diese Projekt geschrieben und diese Verfahrensweise bisher nirgendwo beachtet. Steht das in der API-Beschreibung? Asche auf mein Haupt! 😀 Grüße und Danke. Theo
  4. Ja! Danke für die Antwort. Hier kommt mein Code... <!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <head> <title>Tinkerforge | JavaScript Example</title> </head> <body> <div style="text-align:center;"> <h1>IO-16 Bricklet 2.0 Interrupt Example</h1> <p> <input value="192.168.5.42" id="host" type="text" size="20">: <input value="4280" id="port" type="text" size="5">,
  5. Hallo und guten Morgen... ich bin leider hier der Stammkunde! 😀 Ich hoffe, das nimmt mir niemand übel... Durch die intensive Nutzung von Tinkerforge-Baugruppen kommen selbstverständlich viele Fragen auf... Ich habe hier herumgelesen, dass es bei der Verwendung der Interrupte am IO-16V2 mitunter zu 'Verklemmungen' kommt. Ich habe meine Applikation nun schon mit Eurer Hilfe recht weit voranbringen können. Jetzt bin ich beim IO-16V2 und habe auch ein seltsames Problem. Ich habe Kanal 0 bereits mit einem EdgeCounter erfolgreich in Betrieb und wollte nun parallel den Kanal 1 mit eine
  6. Danke! Das ist prima! Es ist viel einfacher, als mit promises. Ich bin davon ausgegangen, dass ich mit promises warten muss, bis die einzelnen Geräte antworten. Das schrittweise neue Timeout, bis das nächste Gerät antwortet, ist jedenfalls viel einfacher als mit promises. Vielen Dank!
  7. Moin moin, also ich muss mich etwas präziser ausdrücken: Genaugenommen habe ich zwei Probleme. 1. sauberen Code schreiben ->Callback-Chain oder Promise Chain und 2. die Ergebnisse der Enumerate-Callbacks für die Laufzeit der Main Loop in einem Array speichern oder beim Reconnect aktualisieren. besonders Nr. 2. liegt mir am Herzen und ich finde keine richtige Lösung... @rtrbtgibt es keinen Kontakt zu einem Entwickler, der die Bindings entworfen hat? Der könnte doch bestimmt zwei drei Tipps geben, in welcher Richtung man suchen muss.... das wäre echt nett 😀
  8. Hi! naja mein oben geposteter Code ist ja bereits die (nicht funktionierende) Erweiterung. Ich weiss leider nicht, wo ich ansetzen soll. Ich müsste/möchte die Ergebnisse der Callbacks verketten, aber das geht so nicht, wie ich es versucht habe. Ich versuche z.B. die Aufrufe des enumerate_callbacks in ein Promise-Array zur schreiben und dieses Array dann aufzulösen. Das funktioniert aber nicht. mein Promise.all wird fullfilled bevor das array geladen wurde. Ich weiss nicht, warum! Ich finde leider auch keine Beispiele...
  9. also ich muss noch weiter fragen. Ich verstehe das Konzept der Callbacks hier nicht so richtig. Da die Tinkerforge API weitgehend Callback-orientiert ist, sollten diese doch entsprechend den Konventionen implementiert sein. Ich habe nun versucht ipcon.on zu verketten, aber das geht nicht. ipcon.on() ist kein EventEmitter und daher kann man ihn nicht verketten mit ipcon.on(CONECCTED).on(ENUMERATE) Wäre das nicht essentiell? Denn nur wenn ipconn.on(Connected) erfolgreich wäre ist erst ipcon.authenticate() sinnvoll und danach ipcon.enumerate() und erst danach Bricklet.on(CALLBACK_HUMIDITY) e
  10. also mir ist es bisher leider nicht gelungen, das Problem zu lösen. Kann mir vielleicht ein JS-Profi etwas behilflich sein? Ich habe jetzt: var device_promises = []; und... // Register Connected Callback ipcon.on(Tinkerforge.IPConnection.CALLBACK_CONNECTED, async function (connectReason) { await enumerateDevices(); } ); und später... ipcon.on(Tinkerforge.IPConnection.CALLBACK_ENUMERATE, // Print incoming enumeration function(uid, connectedUid, position, hardwareVersion, firmwareVersion, deviceIdentifier, enumerationType) { const dp = new Promise(resolve => {
  11. Moin rtrbt, danke! Ja genau! Man weiß nicht, wieviele Bricks/Bricklets sich zurückmelden... Ich werde mich mal in das Problem vertiefen... Wenn ich eine Lösung finde, dann schreibe ich nochmal... Grüße vom Theo
  12. Guten Morgen in die Runde! ich möchte die Daten aus dem Enumeration Callback (Javascript im Browser) in ein Array schreiben (was recht einfach ist). Allerdings kann ich das Array nicht weiter verwenden, da es asynchron erstellt wird. Während nun mein Hauptprogramm in Javascript (im Browser via WebSockets) weiter läuft und im nächsten Aufruf das Array (z.B. var devices = []) lesen will, so hat ipcon.enumerate() das Array aber noch nicht gefüllt, weil es nebenläufig ist. Das ist kniffliger, als ich dachte. Kann mir da jmd. einen Tipp geben? Was habe ich versucht - oder besser ange
  13. Na das ist doch prima! Da warte ich auf den ESP32. Der Code vom 8266 läuft im Wesentlichen auf dem ESP32 - vielleicht sogar noch etwas robuster, denn der 8266 hat ja manchmal Probleme mit den Interrupts, wenn sie im falschen RAM liegen... Mir genügen zwei freie GPIO, um den Interrupt anzubinden. Da könnte ich gleich meinen Sensor weiter betreiben und den ESP dekodieren lassen... Danke! PS: Ist schon raus, wann der ESP-Brick ungefähr verfügbar sein wird??
  14. Hallo rtrbt, danke für Deine Tipps! (ja das Sampling-Theorem :O) Ich dachte immer der ARM auf dem Red Brick wäre (prinzipiell) schneller als der ESP8266 ? Auf dem ESP geht das dekodieren ganz leicht über einen Interrupt-Handler. Der Red Brick hat doch auch Interrupts oder? Sollte man da vielleicht direkt auf die GPIO gehen? (ja das habe ich schonmal gefragt im Januar 2020 oder so :O) Vielleicht könnte man dan einen Interrupt-Handler in C++ schreiben. Ich habe das auf dem ESP8266 gemacht. Da geht das recht gut...
  15. Moin, na ich möchte ein serielles Signal dekodieren. Es besteht aus 42 Bits, die nacheinander reinkommen (nicht konform, also kein RS232C etc). Sie müssen aber noch verrechnet werden (Prüfsumme, Addieren, Invertieren etc.)
×
×
  • Create New...