Es gibt eine Vielzahl von Projekten, in welchen Daten von Sensoren (über Arduino, Raspberry Pi etc.) mit einem Computer aufgezeichnet werden, aber man findet kaum Bibliotheken, welche speziell für das Plotten von Daten in Echtzeit parallel zur Aufzeichnung geschrieben wurden. An vielen Stellen wird die Python Bibliothek Matplotlib verwendet, aber mir erscheint das nicht besonders elegant. Als einzige speziell dafür entwickelte Bibliothek habe ich bisher "PyQTGraph" gefunden, aber mich würde interessieren, warum diese Bibliotheken so rar sind. Mein Ziel wäre, eine GUI zu schreiben, welche Daten in Echtzeit darstellt und bei Bedarf entsprechend aufzeichnet. Wahrscheinlich fürchte ich, dass dies ein typischer Anwendungsfall für Labview ist, womit ich aufgrund der damit verbundenen Kosten bisher keine Erfahrung habe.
:
Verschoben durch User
Eine spezielle Library ? Wo sollen denn die Schwierigkeiten liegen ? Kannst doch per putpixel irgendwas in Echtzeit malen. Was auch immer Echtzeit ist.
:
Bearbeitet durch User
Excel RTD (RealTimeData Server) https://support.microsoft.com/en-us/help/285339/how-to-create-a-realtimedata-server-for-excel
Wir hatten früher mal Plotlab im Einsatz, ist auch kommerziell aber kostet nicht die Welt. http://www.mitov.com/products/plotlab#overview Da kann man ne Menge machen...
Zitronen F. schrieb: > Eine spezielle Library ? Wo sollen denn die Schwierigkeiten liegen ? > Kannst doch per putpixel irgendwas in Echtzeit malen. Was auch immer > Echtzeit ist. Eben. Je nach dem was Echtzeit sein soll und um wie viele Daten es geht reicht entweder einzelne Pixel passend zu setzen oder es wird selbst dann knapp, wenn alles mit Shadern von der GPU berechnet wird...
Nicolas B. schrieb: > speziell für das Plotten von > Daten in Echtzeit parallel zur Aufzeichnung geschrieben wurden. Meinst du eine durchlaufende Anzeige wie im Task Manager? Sowas ist doch nicht schwierig zu programmieren. Nicht jedes Problem kann man mit Copy & Paste lösen. Dann bräuchte man ja keine Programmierer mehr, die BWLer definieren ihre Anforderung und die KI klickt alles selbst zusammen. Georg
Vielen Dank für eure Antworten. Der Hinweis auf die putpixel() von C war interessant für mich. Falls es schon ein ausgereiftes Framework gegeben hätte, dann macht es wahrscheinlich wenig Sinn, das Rad neu zu erfinden. Aber so weiß ich zumindest, dass man eher darauf zurückgreift. Einen Prototyp würde ich der Einfachheit halber in Python erstellen und falls dazu jemand noch gute Ideen hat sind diese natürlich jederzeit willkommen. Bezüglich der Echtzeitanforderung möchte ich mich entschuldigen, keine genaueren Spezifikationen gemacht zu haben -e s ist natürlich keine besonders strenge Anforderung: Falls die graphische Darstellung 1 sec hinterherhängt, über 2 wäre dann aber schon ungeeignet.
Danke für deine Antwort. Ich bin nich untätig gewesen und hatte mir Qwt angesehen. Die Python Version scheint einige Probleme zu bereiten: "PyQwt has a very nice set of features and is fast enough for realtime work. Its main drawback is that it is currently unmaintained and can be difficult to get working on a variety of platforms. Hopefully in the future it may find a new maintainer, but until then it may be best to avoid PyQwt (the original PyQwt maintainer is currently recommending to use pyqtgraph instead; check their mailing lists for updates). Like matplotlib, PyQwt lacks some of the more advanced features of pyqtgraph."
Moin, > > Als einzige speziell dafür entwickelte Bibliothek habe ich bisher > "PyQTGraph" gefunden, aber mich würde interessieren, warum diese > Bibliotheken so rar sind. Es gibt eigentlich eine Menge Widget-Libraries mit Plot-Elementen (Qt, wxWidgets, ...). Vielleicht hast du dich zu sehr auf's Plotten bei der Suche fixiert... > > Mein Ziel wäre, eine GUI zu schreiben, welche Daten in Echtzeit > darstellt und bei Bedarf entsprechend aufzeichnet. > > Wahrscheinlich fürchte ich, dass dies ein typischer Anwendungsfall für > Labview ist, womit ich aufgrund der damit verbundenen Kosten bisher > keine Erfahrung habe. Bei Labview brockst du dir einen Haufen anderer Probleme ein, aber klar, das Problem kann man damit lösen. Kostenfreier geht es mit anderen Process-Monitoring-Tools: - pvbrowser (https://www.pvbrowser.de/pvbrowser/index.php), nutzt auch genanntes Qwt. - OpenLab (http://myopenlab.org) - Webbasierte Plot-Libs (Javascript oder gar WebGL) im Sinne von Grafana und Konsorten. Da gibt es unzählige.. PVBrowser ist eigentlich mein Favorit für skalierbare und robuste Lösungen. OpenLab ist auch nett, aber ich musste gehörig am Source (Java) rumschrauben, ein paar Sachen waren nicht wirklich getestet. Eine wirklich Echtzeitgarantie gibt es bei den TCP-basierten Verbindungen nicht, fragt sich, wie streng du setzt, ev reicht ja ein einfacher Timeout für die "Nicht mehr Echtzeit verfügbar"-Warnung Mit einem pvserver der lokal läuft lässt sich aber RTP tunneln (da hast du einen Zeitstempel).
Nicolas B. schrieb: > Wahrscheinlich fürchte ich, dass dies ein typischer Anwendungsfall für > Labview ist, womit ich aufgrund der damit verbundenen Kosten bisher > keine Erfahrung habe. Heutzutage ist das ein typischer Anwendungsfall für eine Webseite. Ja, ich mag das auch nicht (Kanonen auf Spatzen), aber so macht das der Digital Na(t)ive Hipster. Der Browser ist das neue GUI-Toolkit :( am besten direkt "responsive" auch fürs Handy und der Server steht in der Cloud. Das Problem ist nicht dass es nichts gibt, sondern dass du mit Frameworks und Libraries fürs Web regelrecht erschlagen wirst: Stichworte zum Suchen sind "web data visualization" https://www.google.com/search?q=web+data+visualisation, "web dashboard" https://www.google.com/search?q=web+dashboard und ähnliches. Du kannst auch noch "IoT" oder "real time" als Suchbegriff mit rein nehmen.
Mit der TAChart-Komponente von Lazarus geht das ziemlich leicht. Benutzen wir hier auch ausgiebig für alle Prüf- und Test-Tools die Messwerte visualisieren sollen.
Vielen Dank für deine Antwort. Ich hab meine Zweifel, ob ein Web-Framework das passende für mich ist. Es soll einfach auf einem Rechner gemessen und geschrieben werden. Das wäre eigentlich ausreichend.
Der Hinweis auf PASCAL Programmierung ist sehr gut: Ich kann mir gut vorstellen, dass man damit schnell zu sauberen Ergebnissen kommt, die auch einigermaßen portabel sind. Das würde ich falls ich etwas Zeit finde gerne mal ausprobieren.
Bourbaki schrieb: > Der Hinweis auf PASCAL Programmierung ist sehr gut: Ich kann mir > gut > vorstellen, dass man damit schnell zu sauberen Ergebnissen kommt, die > auch einigermaßen portabel sind. Lohnt auf jeden Fall nen näheren Blick. Ich würd mir das aber erst mal auf niedriger Priorität als Beschäftigung für verregnete Wochenenden vornehmen und einige Monate einplanen, Du musst immerhin die Sprache lernen und das effiziente Arbeiten mit der IDE (ohne aktive Mithilfe der IDE macht der viele Boilerplate nur wenig Spaß, mit ihr dagegen sehr), scheue auch nicht davor zurück das Lazarus-Forum oder die Mailingliste nach Hilfe zu fragen. Wenn Du dann irgendwann damit etwas sicherer zurechtkommst und weißt wo Du was findest wirst Du mit diesem Tool Wunder bewirken können.
:
Bearbeitet durch User
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.