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