Hallo,
folgende Aufgabe. Ich habe eine MySQL-Datenbank, die laufend mit neuen
Daten gefüllt wird (1 Datensatz pro Sekunde (Datum, Zeit, Spannung)).
Aus diesen Daten möchte ich ein Liniendiagramm erstellen. Es soll sich
selber live erweitern und immer die letzten 30 Minuten darstellen. Die
Datenbank sollte sich später auf einem Server befinden.
Soweit zur Aufgabenstellung, die ich mir so vorstelle.
Ich hab nun schon nen bisschen im Internet gesucht und bin auf
verschiedene Lösungen gestoßen, so z.B. für C "ZedGraph" oder für PHP
JpGraph. Ich wollte nun mal ne Einschätzung hören, auf welche Weise man
das Projekt anpacken sollte. Sollte ich also eher auf C setzten oder auf
PHP. Kann beides nicht besonders, möchte mich also bei der Einarbeitung
am liebsten auf eines beschränken.
Hat jemand schon mal Erfahrungen mit einer solchen oder einer ähnlichen
Aufgabenstellung gemacht?
Hydro
Ich würde das mit
HTML5 + Javascript
machen.
Daten per WebSocket pushen lassen oder per JSON/AJAX pollen.
(Auf Serverseite ist dann nur ein minimal-PHP nötig, um ein paar
Datensätze auszulesen und auszugeben)
Diagramm per Canvas oder zur Not per "DIV"-Orgie erzeugen, live updaten.
Wenn's nicht ganz so live sein muss, dafür aber auch über längere
Zeiträume:
RRDtool.
Macht auch gleich die Mysql-Datenbank überflüssig.
Hallo,
ich hab mal sowas auf einem Webserver mit Perl und GD gemacht.
Also ein Perlscript holt über die MySQL Schnittstelle die Daten aus der
DB, zeichnet mit GD das Diagram in ein Bild und zeigt es auf einer
HTML-Seite an. Mit <meta http-equiv="refresh" content="60"> wird das
regelmäßig aktualisiert.
Perl ist einfach, die Schnittstellen sind gut dokumentiert und einfach
läuft überall. Obwohl ich zugebe das die modernen Sachen mit Flash
natürlich besser aussehen. Ich mache aber solche Dinge für die
Industrie...
Den Performance Test gegen einen Kollegen (Java-Freak) hab ich gewonnen
;-)
mfg Rene
Ich würde das ganze auch serverseitig per Skriptsprache lösen, lokal (C)
würd ich da nicht anfangen.
Den Vorschlag von Rene Schube finde ich da eigentlich ganz sinnvoll.
Grafik mittel Script und GD erzeugen und Seite refresehen.
@Rene
Genau in die Richtung habe ich mir das vorgestellt. Graphisch
anspruchsvoll soll es nicht sein, sondern auf den Punkt bringen was
abgefragt wurde.
Werde mich jetzt mal in Perl einlesen und sehen was ich da raus holen
kann. Mit GD meinst du eine Grafik Library? Kenn den Begriff/das
Programm nicht und habe nur schnell gegooglet.
Kennt ihr empfehlenswerte Tutorials in dem Gebiet (Perl, GD)? Das Web
ist ja immer voll mit solchen, nur die hochwertigeren findet man ganz
selten.
@Ernst
Danke für deine Antwort, aber da ich Anfänger in dem gebiet bin und das
meine erste dieser Aufgaben ist, ich mich gar nicht in Java auskenne,
und mir der Weg von Rene besser gefällt, verfolge ich lieber diesen.
Hydro schrieb:> Danke für deine Antwort, aber da ich Anfänger in dem gebiet bin und das> meine erste dieser Aufgaben ist, ich mich gar nicht in Java auskenne,> und mir der Weg von Rene besser gefällt, verfolge ich lieber diesen.
Von Java schrieb ich nichts, Java*SCRIPT*. Das sind zwei paar Schuhe,
die außer 4 Buchstaben im Namen fast nichts gemeinsam haben.
Egal.
Wenn du Serverseitig Bilder erzeugen willst, schau dir statt Perl+GD mal
"gnuplot" an. Ist sozusagen extra für diesen Anwendungsfall geschrieben
worden, und du hast weniger Aufwand damit, weil du nicht jede einzelne
Linie, Tickmark, Legende, usw. per Hand kodieren mußt.
http://gnuplot.sourceforge.net/demo_4.3/
Viele Wikipedia-Diagramme sind z.B. damit erstellt worden:
http://commons.wikimedia.org/wiki/Category:Gnuplot_diagrams
Die SVG und HTML5-Canvas Optionen von Gnuplot musst du ja nicht
verwenden, wenn dir die zu modern sind. PNG kommt da genauso raus...
Eine eigene Frage?
Dieser Thread ist über 15 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.