Jump to content

Bricklet Identifkation bei enumerate


Recommended Posts

Mir ist nicht klar, wie man mehrere gleiche Bricklets (z.B. 3 x Temepratur) unterscheiden kann, wenn man den Callback Enumerate (TCP/IP API) benutzt.

Das Vorgehen mit diesem Callback ist ja in 'Dokumentation/Tutorials/Robuster Ansatz' beschrieben.

Meine Frage dazu ist: Werden unterschiedliche 'Device_Identifier' für den gleichen Typ Bricklet gemeldet? Wenn ja, wie kann ich feststellen, welches Bricklet welchen Identifier hat?

Oder ganz praktisch gefragt: Woher weiß ich, welcher "temp"-Wert die Außentemperatur meldet?

 

ratlos

Malik

Link to comment
Share on other sites

Alle deine Temperature-Bricklets haben den gleichen Device-Identifier, denn sie sind alle Temperature-Bricklets. Wenn du jetzt mehrere gleiche Bricklets mit unterschiedlichen Aufgaben hast, dann geht das nicht voll-automatisch, sondern du musst es konfigurieren.

 

Option 1: UIDs kennen

 

Du kennst zu jeder UID die "Aufgabe", also außen/innen/oben/unten. Das bietet sich dann an, wenn du dein setup eh nur einmal aufbaust.

 

Option 2: Anschlussort kennen

 

Hier weißt du nur: "Der Außensensor wird immmer an Port A angeschlossen, innen immer an Port B". Das sind Daten die du auch beim enumerate bekommst.

 

Das bietet sich an, wenn du mehrere gleiche Aufbauten hast, etwa Wetterstationen o.ä.

 

Advanced: Stell dir vor du hast 8 Temperatursensoren, dann musst du nicht nur unterscheiden, ob sie an Port A oder B angeschlossen sind, sondern auch ob es Port A vom ersten oder vom zweiten Brick ist.

Link to comment
Share on other sites

Naja... Am Ende musst du halt einen Mechanismus finden der für dich funktioniert.

 

Ein beispiel fällt mir gerade noch ein, funktioniert aber nur bei korrekten Umgebungsbedingungen:

 

Falls der Sensor einen Wert bis maximal 12 °C ausgibt, dann ist es ein Außensensor. Bei über 15 °C ein Innensensor. Das funktioniert im Winter in Deutschland vermutlich recht zuverlässig.

 

Das ist zwar nur halb-automatisch, wie Du sagst, aber es würde funktionieren.

 

Wenn man weiter darüber nachdenkt frage ich mich, wie es noch automatisierter gehen sollte? Also welchen Vorteil hättest du zum Beispiel bei unterschiedlichen Device-Identifiern für alle Temp-Bricklets? Du müsstest dir dann auch wieder merken welcher Identifier zu außen und welcher zu innen gehört. Das hängt ja immer davon ab, wofür du es benutzt.

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.

 Share

×
×
  • Create New...