Jump to content

tinkerforge listen vs. dispatch


greyghost

Recommended Posts

Hallo allerseits,

ich würde gerne die Datenauslesung einiger Bricklets an ein existierendes Datenaufnahmesystem andocken. Die einfachste Lösung dafür wäre ein Zugriff über per Netzwerk mit Textstreams in/out, eine entsprechende Lösung habe ich bereits beim Shell Textproxy ("tinkerforge listen"...) gefunden, der so auch für mich funktioniert.

Nun würde ich u.a. auch gerne ADC bricklets anbinden, für die permanentes Polling eher ineffizient wäre. In der API-Dokumentation werden hierfür Callbacks empfohlen ("tinkerforge dispatch"..., die auch den Vorteil hätten, nur neue Werte zu übertragen. Leider funktioniert das aber anscheinend nicht so out-of-the-box mit dem Textproxy zusammen, zumindest zeigt dieser mir keine Callbacks an (disptach auf der Kommandozeile funktioniert dagegen problemlos).

Sollte das funktionieren (und ich mache noch etwas falsch), oder gibt es eine andere Lösung für das, was ich mir da vorstelle?
 

Link zu diesem Kommentar
Share on other sites

Was für ein Bricklet und Callback benutzt du genau? Ich habe ad-hoc ein RGB LED Button Bricklet getestet und das funktioniert zumindest:

$ tinkerforge listen
127.0.0.1 connected
127.0.0.1 sent 'dispatch rgb-led-button-bricklet Enx button-state-changed\n'
b'state=button-state-pressed\n' sent to 127.0.0.1
b'state=button-state-released\n' sent to 127.0.0.1
b'state=button-state-pressed\n' sent to 127.0.0.1
b'state=button-state-released\n' sent to 127.0.0.1
b'state=button-state-pressed\n' sent to 127.0.0.1
b'state=button-state-released\n' sent to 127.0.0.1

mit netcat habe ich dispatch... geschickt und dann die state= Pakete empfangen als ich den Knopf gedrückt habe:

$ netcat localhost 4217 
dispatch rgb-led-button-bricklet Enx button-state-changed
state=button-state-pressed
state=button-state-released
state=button-state-pressed
state=button-state-released
state=button-state-pressed
state=button-state-released
Link zu diesem Kommentar
Share on other sites

Ich habe ein industrial-dual-analog-in-v2-bricklet. Nachdem ich es jetzt gerade nochmal versucht habe, scheint es bei mir auch zu funktionieren. Als ich gefragt habe, hatte ich das in ich weiß nicht wie vielen Variationen versucht, natürlich ohne Erfolg.
Aber zumindest der ganz simple Test mit telnet funktioniert hier jetzt ganz magisch (warum auch immer es vorher nicht ging), jetzt kann ich mich an die "komplizierteren" Sachen heranmachen. Danke auf jeden Fall für die Antwort.

Link zu diesem Kommentar
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.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...