Hallo Gemeinde. Ich habe an einem Arduino mehrere Sensoren hängen und schreibe die Messwerte in eine einzelne Datei. Das Format sieht momentan so aus: timestamp; sensor1.temp; sensor2.lux; sensor3.humi; sensor4.pressure; (Semikolon getrennte Messwerte mit Zeitstempel YYMMDD_HHMM.) Jetzt möchte ich mir die Daten für die schnelle Analyse natürlich auch grafisch darstellen. Gibt es hierfür ein nützliches Tool (oder auch App für Android)? Anforderungen: - Wäre spitze wenn für jeden Messwert ein Diagramm generiert werden könnte, wobei die x-Achse natürlich der timestamp sein soll. - Es wäre praktisch auch alle Werte in ein einziges Diagramm zu plotten, wobei ich da ganz gerne die Messwerte dynamisch an- und ausschalten möchte. -[Optional] Vielleicht gibt es eine webbasierte Lösung, die mir HTTP-Seiten erstellt mit den Diagrammen. Das wäre dann sehr flexibel bzw. dann könnte ich die Daten auf einen Server hochladen und hätte diese auf allen unterschiedlichen Geräten, die einen Browser installiert haben. (Also eine Art Framework.) Für eure Anregungen und Ideen bin ich sehr dankbar. Herzlichen Dank!
Ich hätte pauschal GNUplot oder Octave gesagt. Gibt es beides scheinbar auch für Android. Kannst du dir wahrscheinlich ein Script am PC schreiben und ausprobieren und musst es danach wahrscheinlich nur auf das Handy übertragen. Habe allerdings mit beidem noch nicht auf dem Handy gearbeitet. Server basiert kann man das natürlich auch machen. Ich hatte da seither gute Ergebnisse mit Flot. Wieviele Punkte pro Kanal hast du denn innerhalb einer Datei? Du musst dir nämlich bei großen Datenmengen Gedanken um die Datenreduktion machen. Ansonsten rödelt selbst ein PC mal schnell mehrere Stunden bevor er was anzeigen kann...
Evtl wäre auch Xamarin +ZedGraph eine Möglichkeit.
Okay, Octave ist ein sehr guter Vorschlag. Ich habe das mal kurz angetestet und bekomme bereits gute Diagramme geliefert... Nur mit der x-Achse habe ich noch so meine Schwierigkeiten. Mein timestamp aus dem Logfile wird noch nicht richtig umgesetzt. Der Timestamp hat folgendes Format. YYYYMMDD_HHMM also zum Beispiel 20161123_1415 für den 23.11.2016 um 14:15 Uhr Wie bekomme ich solche Zeitangaben korrekt skaliert auf meine X-Achse??? Herzlichen Dank!
Es gibt die datenum-Funktion zum Konvertieren und datestr zum Festlegen des Eingangsformats - damit hast du nur Integer als x-Werte, musst aber eventuell die Beschriftung separat aus den Rohwerten ermitteln http://octave.sourceforge.net/octave/function/datenum.html http://octave.sourceforge.net/octave/function/datenum.html Ich sehe gerade, dass datestr dein Timestamp-Format nicht direkt unterstützt, du müsstest also noch ein paar Trennzeichen per Stringmanipulation einfügen
>Vielleicht gibt es eine webbasierte Lösung Ist dir http://oss.oetiker.ch/rrdtool/ schon aufgefallen? Ist aber ein Komplettsystem mit eigenem Datenbankformat. Dafür kümmert es sich um alle Probleme, die beim Produktivbetrieb sonst noch auf dich zukommen.
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.