OutdoorRob Geschrieben January 23, 2024 at 09:36 Geschrieben January 23, 2024 at 09:36 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 Zitieren
Backdraft007 Geschrieben January 23, 2024 at 13:33 Geschrieben January 23, 2024 at 13:33 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 Zitieren
OutdoorRob Geschrieben January 25, 2024 at 09:07 Autor Geschrieben January 25, 2024 at 09:07 (bearbeitet) 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 January 25, 2024 at 09:30 von OutdoorRob Zitieren
Backdraft007 Geschrieben January 25, 2024 at 11:28 Geschrieben January 25, 2024 at 11:28 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 Zitieren
OutdoorRob Geschrieben January 25, 2024 at 12:40 Autor Geschrieben January 25, 2024 at 12:40 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 Zitieren
MatzeTF Geschrieben January 25, 2024 at 13:37 Geschrieben January 25, 2024 at 13:37 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. 1 Zitieren
Superp Geschrieben February 5, 2024 at 21:08 Geschrieben February 5, 2024 at 21:08 Related: ESP32-Brick: Nichtflüchtiger Speicher? Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.