Hallo miteinander,
ich versuche momentan für ein Projekt eine Messwertspeicherung von einem verteilten, untergliederten Sensornetz.
Zum Aufbau:
Ich will mehrere Devices unterschliedlicher Typen haben (hier exemplarisch WLAN_Board, Wired_Board ...).
1.) Hier schon mein erstes Problem mit der Umsetzung:
Eine Tabelle mit Devices, welche alle die gleichen allgemeinen Eigenschaften haben. Allerdings sollen abhängig vom Typ noch Merkmale hinzukommen. Wie setze ich das in Tabellen um?
Ich denke an eine Device_List mit allen verfügbaren Geräten und für jedes Device einen Eintrag in einer anderen Tabelle (z.B. Device 1,2,5 in WLAN_Boards, Device 3,4 in Wired_Boards). Aber wie komme ich dann aus der Device_List auf die jeweilige Tabelle? Muss ich hier noch eine Typeninformation hinterlegen oder geht das eleganter?
2.) Ich möchte gerne Untergliedern:
Jedes Device hat eine unbestimmte Anzahl an Sensormodulen. Jedes Sensormodul hat einige Werte/Einstellungen gespeichert und besitzt unter sich verschiedene Sensorkanäle/Einzelsensoren, welche auch wieder Werte/Einstellungen haben.
Ich will also später pro Device in der Deviceliste eine Table mit Sensormodulen machen und pro Sensormodul jeweils eine Tabelle mit Sensorkanälen. Ist es vernünftig das so umzusetzen?
3.) Messwerte... Würdet ihr hier lieber mehrere Tables anlegen, also:
- x Tables -> 1 Table je Device
- x*y Tables -> 1 Table je Sensormodul pro Device
- x*y*z Tables -> 1 Table je SensorKanal pro Sensormodul (pro Device)
oder lieber zusammenfassen, also:
- x Tables -> 1 Table je Device
- x Tables -> 1 Table pro Device für Sensormodule
- x*y Tables -> 1 Table je Device pro Sensormodul für Sensorkanäle
4.)
Ich will noch irgendwie Alarme (bei Überschreitung eines eingestellten Tresholds) und ÄnderungsEvents (wenn z.B. ein Treshold geändert wird) aufzeichnen. Da das nicht so oft vorkommen wird/sollte dachte ich an eine kleine Anzahl an Tables (z.B. nur pro Device). Allerdings weiss ich nicht wie ich dort festhalten soll, vom wo etwa ein Alarm kommt.
Beispiel:
Der erste Alarm wird von einem Device ausgelöst (etwa zu hohe Stromaufnahme) und der zweite von einem Sensorkanal (zu hohe Temperatur...). Wie könnte ich das in der Tabelle hinterlegen?
Umgesetzt werden soll die Datensammlung und Deviceverwaltung auf einem ARM-Board auf einer SDKarte. Es soll etwa alle 5 Minuten ein Messwert gespeichert werden und nach einiger Zeit (z.B. 1Jahr) will ich die Werte komprimieren (also also aus alle 5 Minuten nur mehr einen Durchschnittswert pro Stunde oder Tag speichern).
Als Datenbank dachte ich an SQLite, da ich kein Server-Client Modell brauche und mir den Overhead sparen will. Alternativ hatte ich noch BerkeleyDB gesehen, aber da SQLite sehr viel einsetzt wird weiss ich nicht genau, ob es sich lohnt hier auf eine halb kommerzielle Lösung zu setzen.
Ich würde mich freuen, wenn ihr mir etwas weiterhelfen könntet oder mir auch gerne eure Kritik mitteilt.
Danke schonmal
Viele Grüße
ich versuche momentan für ein Projekt eine Messwertspeicherung von einem verteilten, untergliederten Sensornetz.
Zum Aufbau:
Ich will mehrere Devices unterschliedlicher Typen haben (hier exemplarisch WLAN_Board, Wired_Board ...).
1.) Hier schon mein erstes Problem mit der Umsetzung:
Eine Tabelle mit Devices, welche alle die gleichen allgemeinen Eigenschaften haben. Allerdings sollen abhängig vom Typ noch Merkmale hinzukommen. Wie setze ich das in Tabellen um?
Ich denke an eine Device_List mit allen verfügbaren Geräten und für jedes Device einen Eintrag in einer anderen Tabelle (z.B. Device 1,2,5 in WLAN_Boards, Device 3,4 in Wired_Boards). Aber wie komme ich dann aus der Device_List auf die jeweilige Tabelle? Muss ich hier noch eine Typeninformation hinterlegen oder geht das eleganter?
2.) Ich möchte gerne Untergliedern:
Jedes Device hat eine unbestimmte Anzahl an Sensormodulen. Jedes Sensormodul hat einige Werte/Einstellungen gespeichert und besitzt unter sich verschiedene Sensorkanäle/Einzelsensoren, welche auch wieder Werte/Einstellungen haben.
Ich will also später pro Device in der Deviceliste eine Table mit Sensormodulen machen und pro Sensormodul jeweils eine Tabelle mit Sensorkanälen. Ist es vernünftig das so umzusetzen?
3.) Messwerte... Würdet ihr hier lieber mehrere Tables anlegen, also:
- x Tables -> 1 Table je Device
- x*y Tables -> 1 Table je Sensormodul pro Device
- x*y*z Tables -> 1 Table je SensorKanal pro Sensormodul (pro Device)
oder lieber zusammenfassen, also:
- x Tables -> 1 Table je Device
- x Tables -> 1 Table pro Device für Sensormodule
- x*y Tables -> 1 Table je Device pro Sensormodul für Sensorkanäle
4.)
Ich will noch irgendwie Alarme (bei Überschreitung eines eingestellten Tresholds) und ÄnderungsEvents (wenn z.B. ein Treshold geändert wird) aufzeichnen. Da das nicht so oft vorkommen wird/sollte dachte ich an eine kleine Anzahl an Tables (z.B. nur pro Device). Allerdings weiss ich nicht wie ich dort festhalten soll, vom wo etwa ein Alarm kommt.
Beispiel:
Der erste Alarm wird von einem Device ausgelöst (etwa zu hohe Stromaufnahme) und der zweite von einem Sensorkanal (zu hohe Temperatur...). Wie könnte ich das in der Tabelle hinterlegen?
Umgesetzt werden soll die Datensammlung und Deviceverwaltung auf einem ARM-Board auf einer SDKarte. Es soll etwa alle 5 Minuten ein Messwert gespeichert werden und nach einiger Zeit (z.B. 1Jahr) will ich die Werte komprimieren (also also aus alle 5 Minuten nur mehr einen Durchschnittswert pro Stunde oder Tag speichern).
Als Datenbank dachte ich an SQLite, da ich kein Server-Client Modell brauche und mir den Overhead sparen will. Alternativ hatte ich noch BerkeleyDB gesehen, aber da SQLite sehr viel einsetzt wird weiss ich nicht genau, ob es sich lohnt hier auf eine halb kommerzielle Lösung zu setzen.
Ich würde mich freuen, wenn ihr mir etwas weiterhelfen könntet oder mir auch gerne eure Kritik mitteilt.
Danke schonmal
Viele Grüße