Jump to content

Statistiken in c


Recommended Posts

Hi,

 

da ich nun das programm in c geschrieben habe, welches mir die messwerte jede sekunde auf dem lcd ausgibt, wollte  ich das ganze nun erweitern und zwar mit der statistik der messwerte quasi durchschnitts temp,feuchtigkeit,licht,druck. nun bin ich erstmal am überlegen, was am sinnvollsten wäre. Ich hab mir die c# beispielimplementierung angesehen, jedoch gibt es einige sachen in den ich mir gedanken mache ob diese nicht sinnvoller wären.

 

 

Als erstes wann nehme ich die messwerte und speicher sie ab, da ich ja im regelfall nicht sekündlich starke änderungen in den messwerten habe, Wäre es nicht geschickter minütlich oder alle 10 minuten oder gar nur jede stunde den messwert zu nehmen und für die statistik zu speichern.

und macht es sinn nur für die letzten 24h die statistik zu erheben oder evtl ne wochen statistik.

 

und zu guter letzt wo die messerwerte speichern in einem arry oder gar eine sql datenbank, wobei meiner meinung nach die datenbank erst sinn macht aufzusetzen wenn viele werte gesammelt werden beispiel eine jahres statistik bzw die werte auch noch verwendetet werden sollen wenn zwischenzeitlich das programm neugestartet wurde.

Link to comment
Share on other sites

Hi,

 

alles eine Frage wie du die Werte analysieren willst. Eine Möglichkeit wäre, eine bestimmte Anzahl von Messwerten in einem einfachen Array ( bzw. einer Struktur ) zu sammeln und diese dann in einem zweiten Thread an eine Datenbank zu übermitteln.

 

Die Datenbank hätte den Vorteil das du jederzeit über alle Daten verfügst und je nach Aufbau der DB hast du dann alle Freiheiten. ( Wann war der Luftdruck über Wert X, wie lange war die Temperatur Y usw. )

 

Dann ist die Frage, wie oft du die Daten wirklich brauchst. Wie oft ändern sich die Daten? Unter C ist es ja kein Problem, relativ schnell grosse Mengen an Daten in den Speicher zu legen, selbst jede Sekunde würden bei einer Struktur von 100 Bytes gerade mal 8.640.000 Bytes pro Tag anfallen.

 

Als Datenbank käme dann die MySQL in Frage, relativ schnell wenn du im ISAM Modus arbeitest, Transaktionen brauchst du meines Erachtens nicht.

 

 

 

Link to comment
Share on other sites

ja, hab mir gedanken gemacht.

 

Vorläufig würde ich den Verlauf der letzten 8h angeben als diagramm, und würde quasi jede minute den wert speichern und den durchschnitt in einem balken anzeigen, sprich ich habe 8 balken und jeder balken gibt durschnitts temperatur, feuchtigkeit usw. der jeweilig stunde an. Würde quasi einen Buttonhandler machen der bei button 1 normal die werte anzeigt bei button2 dann die durchschnittswerte als balken und dabei alle 5 sekunden die anzuzeigenen werte anzeigen spriche. 5 sek temperatur, dann für 5 feuchtigkeit usw. den 3.button würde ich für das datum nutzen und den letzten button würde ich dafür nutzen das display an bzw auszuschalten.

Link to comment
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...