Jump to content

User / Custom Data / EEPROM / Storage


OutdoorRob

Recommended Posts

Hallo in die Runde,
ich bin leider bei der API des Master-Bricks und hier im Forum leider nicht fündig geworden und vermute, dass es dafür auch nichts passendes gibt - versuche es aber hier trotzdem nochmal:

Gibt es eine Möglichkeit Custom / User / Meta Daten irgendwo in den Bricks (notfalls Bricklets oder separates EEPROM-Bricklet) zu speichern?

Ich benötige nicht viel Speicher (ein Block von 128 Byte würde ausreichen). Es geht nur darum, zur Unterscheidung gleichartiger Geräte (bestehend aus verschiedenen Bricks und Bricklets), diese mit Meta Daten (z.B. Gerätenummer, Seriennummer, HW-Version, ...) zu versehen um sie in meiner Infrastruktur identifizieren zu können.

 

Als Dirty-Workaround geht vllt. auch der 'Missbrauch' zur Verfügung stehender API-Funktionen (wie z.B. SetWifiConfiguration) und der entsprechenden Werte (z.B. SSID, Key).

Hier fehlt mir jedoch leider der tiefere Einblick ob das funktioniert. Dazu wären meine Fragen:

  • Sind diese Funktionen am Brick verfügbar auch wenn real keine entsprechende Extension verbunden ist?

 

Danke euch und viele Grüße, Robert

Link zu diesem Kommentar
Share on other sites

Moin,

ich denke ganz so einfach ist das. Wie möchtest Du das denn auslesen bzw. mit was für einem System abgleichen?

Vom Prinzip her hat ja jedes Bricklet und jeder Brick eine eigene UID und einen Device Identfier (https://www.tinkerforge.com/de/doc/Software/Device_Identifier.html#device-identifier)
Da kann doch schön alles auslesen (https://www.tinkerforge.com/de/doc/Software/IPConnection_C.html#ip-connection-c-examples) und in eine Datenbank schreiben. Dann hast Du für jeden Stapel alle notwendigen Infos. In der Datenbank kann dann ja noch weitere Infos hinterlegt werden.

Grüße
Chris

Link zu diesem Kommentar
Share on other sites

Moinsen Chris,
danke für deine Antwort :-)

Ich versuch unser System mal an einem Beispiel zu erläutern.

physisches Gerät 1
  - "Typ 1"
  - Seriennummer: 1
  - Master (UID = abcdef)
  - IO-4 (UID = aaa1)
	
physisches Gerät 2
  - "Typ 1"
  - Seriennummer: 2
  - Master (UID = cccccc)
  - IO-4 (UID = aaa1)
	
physisches Gerät 3
  - "Typ 2"
  - Seriennummer 1
  - Master (UID = xyz123)
  - IO-4 (UID = aaa1)
  - IO-16 (UID = aab1)
  - IO-16 (UID = aab2)

Das physische Gerät 1 und 2 sind identische Typen und diese können 1:1 gegeneinander getauscht werden. Sie werden vom übergeordneten System gleich behandelt aber es werden bei Verwendung entsprechende Meta-Informationen (wie z.B. die S/N, HW-Version, ...) mit protokolliert um. Der Bediener kann quasi Gerät 1 oder 2 verwenden aber im Nachgang ist eindeutig nachvollziehbar welches Gerät zum Einsatz kam.
Zwei identische Geräte dürfen dann logischerweise nicht gleichzeitig an einem "Arbeitsplatz" im Einsatz sein.

Eine separate Datenbank zur Sammlung dieser Informationen ist nicht unsere bevorzugte Variante (zu pflegeintensiv, Synchronisation...).
Ziel ist es, dass sich jedes Gerät selbst vollständig identifizieren kann.

Deswegen war die Frage, ob der Brick (oder ein Bricklet) die Möglichkeit bietet solche Meta-Informationen irgendwo zu speichern.
Zwei API-Funktionen zum Schreiben und Lesen des Custom-Speicherbereichs wären dann ausreichend.

Falls es dies nicht gibt, wäre ggf. ein XMC1400 Breakout Bricklet mit eigener Firmware ein möglicher Ausgangspunkt - leider mit viel Entwicklungsaufwand - welcher als reiner Speicher dient.

Grüße, Robert

bearbeitet von OutdoorRob
Link zu diesem Kommentar
Share on other sites

Am 25.1.2024 um 12:28 schrieb Backdraft007:

Hi Robert,

wer oder was spricht denn mit den Systemen? Da kann doch die Logik laufen. Denn zusätzlich zu den UID kannst Du ja auch auslesen, was alles am Master-Brick hängt.

Grüße
Chris

Eine übergeordnete Windows-Anwendung auf verteilten Rechnern. Das spielt aber aus meiner Sicht keine Rolle für meine Frage bzw. Zielstellung ;-)

Ziel: Jedes Gerät soll sich vollständig selbst / autark identifizieren können (sprich: alle seine Meta-Daten dem Fragenden bereitstellen ohne eine zentrale Datenbank wo diese verwaltet werden).
Frage: Gibt es eine Möglichkeit spezifische Meta-Daten innerhalb des Bricks / Bricklets abzulegen (Custom Bereich in EEPROM / Flash)?

Grüße, Robert

Link zu diesem Kommentar
Share on other sites

On 1/25/2024 at 1:40 PM, OutdoorRob said:

Frage: Gibt es eine Möglichkeit spezifische Meta-Daten innerhalb des Bricks / Bricklets abzulegen (Custom Bereich in EEPROM / Flash)?

Nein.

Das Einzige, was du auf den Bricklets permanent schreiben kannst, ist die UID. Du könntest also dem immer vorhandenen IO-4 Bricklet eine UID nach einem festen Muster geben, z.B. Seriennummer + Typ * 1000. Die UIDs von Master Bricks kann man leider nicht ändern.

Link zu diesem Kommentar
Share on other sites

  • 2 weeks later...

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...