Hallo, ich arbeite an einem Projekt, welches mit der Auswertung von Sensordaten zu tun hat. Es sind verschiedene Sensoren per Funk an einen Mikrocontroller angebunden. Dieser schreibt die Messwerte in eine SQL Datenbank. Die Datenbank sieht vereinfacht so aus: Eine Tabelle mit den angeschlossenen Sensoren(ID_Sensor, Name, Parameter,...) Eine Tabelle für die Messwerte(ID_Sensor, Zeitpunkt, Messwert) Nun möchte ich eine Software zur Auswertung dieser Daten schreiben. Damit habe ich leider noch nicht all zu viele Erfahrungen. Als Programmiersprache möchte ich Java verwenden. Mir geht es jetzt eher um das grobe Konzept, als um die Konkrete Umsetzung. Gerade mit objektorientierter Programmierung habe ich sehr wenige Erfahrungen. Also meine Frage wie soll ich das Programm am besten aufbauen. Welche Klassen einführen und wie die Messwerte einlesen? Die Messwerte sollen alle x Sekunden mit der Datenbank abgeglichen werden. Ebenso die Angeschlossenen Sensoren. Es soll möglich sein, dass während das Programm läuft auch neue Sensoren angeschlossen werden, und diese dann mit verwendet werden. Meine erste Idee wäre es eine Klasse "Sensor" einzuführen. Diese enthält neben ID, Namen, etc. auch einen Wert "zuletzt aktualisiert". Dann würde ich für alle angeschlossenen Sensoren (In welcher Datenstruktur speichere ich die am besten?) der Reihe nach eine SQL-Abfrage in der Messwert Tabelle starten mit der ID_Sensor und der Bedingung, dass die Zeit des Messwertes neuer sein muss, als die letzte Aktualisierung. Diese Messwerte würde ich dann auch speichern. Für die Messwerte habe ich mir auch überlegt eine Klasse einzuführen, die jedoch nur folgendes Enthält: Zeitpunkt und Messwert. In der Klasse Sensor würde ich dann ein Array von Messwerten anlegen. Habt ihr noch bessere Vorschläge? Ich bin wie gesagt in der Welt der objektorientierten Programmierung noch nicht all zu lange zu Hause. Viele Grüße
Programmierer schrieb: > wie soll ich das Programm am > besten aufbauen Am besten so das du es am Anfang überblickst, optimieren kann man es später immer noch. Programmierer schrieb: > Meine erste Idee wäre es eine Klasse "Sensor" einzuführen. > Diese enthält neben ID, Namen, etc. auch einen Wert > "zuletzt aktualisiert". Hört sich doch vernünftig an Programmierer schrieb: > In welcher Datenstruktur > speichere ich die am besten? Was spricht gegen eine einfache Liste? Wenn du über die ID den Sensor suchen willst eventuell eine Map. Programmierer schrieb: > In der Klasse Sensor würde ich dann ein > Array von Messwerten anlegen. Nimm eine Collection oder eine List wenn die Reihenfolge interessant ist und du wahlfreien Zugriff benötigst. Programmierer schrieb: > Habt ihr noch bessere Vorschläge? Probieren geht über studieren :) Viel interessanter ist doch was du dann damit machen willst oder sollen die Daten nur faul im Speicher rumliegen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.