Früher habe ich unter DOS ein Programm geschrieben, mit dem ich eine AD-Karte ausgelesen habe und die Messkurve auf dem Bildschirm dargestellt. Das war kinderleicht. In QBasic hatte ich mich innerhalb eines Tages in die paar notwendigen Befehle eingearbeitet und ein paar Tage später war das Programm fertig. Etwas ähnliches hatte ich jetzt mit dem Raspberry Pi Zero vor. Eine GUI brauche ich nicht und es reichen mir ein paar Grundfarben bei geringer Bildschirmauflösung. Aber wenn ich das richtig sehe, geht das unter unixoiden Betriebssystemen nicht so einfach? Ich arbeite ich mich gerade in C ein und dachte dass ich damit auch mein Projekt verwirklichen könnte, doch wie ich jetzt erkenne, lerne ich auch das nicht in ein paar Wochen. In einem Jahr ist eher realistisch. Durch folgenden Thread habe ich mich bereits gearbeitet, aber so richtig kam ich damit noch nicht weiter: Beitrag "Grafik unter Linux" Meine Anforderungen: Anschluss eines PC-Monitors (VGA würde reichen) Je 2 AD/DA Ports Einplatinen-PC (ggf. mit Shields) Keine GUI Echtzeit nicht zwingend notwendig (Darstellung nach Abschluss der Messung wäre o.k.) Als Alternative fallen mir noch zwei Möglichkeiten ein: Arduino mit VGA-Shield (256 Farben und 160x120 bzw. 400x300 Pixel) https://www.micro-nova.com/novavga/ und https://www.tindie.com/products/masihvahida/vgaduino-ii-256-color-vga-shield-for-arduino/ Ob ich das in angemessener Zeit zum Laufen bekomme? DOS-PC und meine bescheidenen QBasic-Kenntnisse Gibts es da überhaupt was zeitgemäßes als Einplatinen-PC mit AD/DA-Ports? Ich kenne nur diese sündhaft teuren PC/104, wozu man dann auch noch eine ebenso teure AD/DA-Karte braucht. Vielleicht habt ihr ja noch eine bessere Idee.
- https://www.lua.org/ - https://github.com/Tangent128/luasdl2 - https://www.libsdl.org/ Hardware muss Du Dir selbst suchen. Ob Du noch was mit VGA findest?
Experte schrieb: > - https://www.lua.org/ > - https://github.com/Tangent128/luasdl2 > - https://www.libsdl.org/ > > Hardware muss Du Dir selbst suchen. Ob Du noch was mit VGA findest? https://www.tcl.tk/
Das habe ich vielleicht missverständlich ausgedrückt. Ich will nicht noch eine weitere Programmiersprache lernen. C lerne ich eh gerade und dann würde ich auch warten, bis ich damit etwas fortgeschritten bin. Aber auf dem Raspberry eine Grafik in ein Fenster zaubern ist halt eine ganz andere Kategorie, als "Hallo Welt" auf der Konsole ausgeben. TCL wäre auch definitiv nichts für mich. Vor 20 Jahren (als Zeit noch unendlich war) hab ich damit mal ein umfangreicheres IRC-Script geschrieben. Ich weiß bis heute nicht, warum es funktioniert hat ;) Ich werde mich jetzt mal auf das Arduino VGA-Shield konzentrieren. Die Umsetzung sieht auf den ersten Blick relativ einfach aus. VGA oder HDMI ist mir völlig egal, es gibt für ein paar Euro Konverter. Ich habe beide Richtungen hier, funktionieren einwandfrei. TFT Monitore mit VGA-Anschluss stapeln sich hier auch.
Vielleicht solltest du es eher mit Java versuchen. Durch die Objektorientierung kommt zwar etwas "globaler" Lernaufwand hinzu, die Syntax im "Nahbereich" ist zum größten Teil mit C identisch ... also keine Vergeudung von Resourcen. Mit der Swing-Lib (ja, ich weiss, die ist veraltet, aber einfach zu verstehen), hast du in kurzer Zeit ein (wenn es sein muss randloses) Fenster und schreibst fröhlich Kurven. Der Vorteil ist auch, dass du die grundlegenden Algorithmen vorher auf einem PC unter Win/Mac/Linux erarbeiten und testen kannst, bevor du sie auf das Zielsystem bringst. Wenn du mal Lust auf was Originelles hast: Schau dir mal Processing.org an. Mit dieser plattform-neutralen Software schreibt man in einer arduino-artigen C++-Syntax Programme, die am Ende nach Java oder Javascript (ja, läuft dann im Browser) "compiliert" werden. Processing ist für das schnelle Erfolgserlebnis stark Grafik-orientiert ...
:
Bearbeitet durch User
Also im Grunde habe ich dasselbe Problem wie der TE hier: Beitrag "Grafik unter Linux" Nur dass ich nicht einfach was zeichnen möchte, sondern auch noch Werte über AD/DA einlesen bzw. ausgeben will. Sonst würde ich einfach einen alten DOS-Rechner nehmen. Ich will mir aber auch keinen 90er-Jahre-Tower mit AD-Karte hinstellen, sondern denke bei meinem Projekt an einen Einplatinen-PC. Im oben genannten Thread erschien mir der Vorschlag mit "gnuplot" interessant. Allerdings habe ich das nicht zum Laufen bekommen. Das Ausgabefenster öffnet nur für Bruchteile von Sekunden. Die Ursache habe ich noch nicht gefunden.
Das mit den AD/DA Kanälen ist schon ein Problem... Es gibt sigrok. Das unterstützt einiges an leistbarem Messequipment. Damit was eigenes Programmieren willst du aber nicht! BTDT Dann gäbe es noch das gute alte GPIB zeug... Mit den VISA Treibern bekommt man üblicherweise recht flott ältere Voltmeter oder DC-Quellen zum Laufen. Alternativ würde sich noch anbieten sich mit z.B. einem Arduino einen USB-AD/DA Wandler zu bauen. Falls dir das reicht, was mit dem Arduino möglich ist, wäre das wahrscheinlich die billigste und schnellste Lösung... Das Anzeigen am PC ist jetzt wirklich eine Herausforderung. Es gibt aber allem Anschein nach QBasic nach wie vor: https://www.qb64.org Wenn du dem Arduino beibringen würdest auf deine Befehle dir AD Werte zu liefern und DA zu wandeln, dann würde das insgesamt wahrscheinlich für die die einfachste Lösung darstellen... 73
Hans W. schrieb: > Alternativ würde sich noch anbieten sich mit z.B. einem Arduino einen > USB-AD/DA Wandler zu bauen. Falls dir das reicht, was mit dem Arduino > möglich ist, wäre das wahrscheinlich die billigste und schnellste > Lösung... > Wenn du dem Arduino beibringen würdest auf deine Befehle dir AD Werte zu > liefern und DA zu wandeln, dann würde das insgesamt wahrscheinlich für > die die einfachste Lösung darstellen... Also die AD-Wandler-Werte zu holen bzw. DA zu liefern bekomme ich hin, ist ja ziemlich einfach. Hab hier einen Arduino herumliegen und das irgendwann schon mal ausprobiert. Aber ich wollte schon was alleinstehendes mit großem Monitor, das ich nicht noch extra an einen PC anschließen muss. Da setze ich Hoffnung in das VGA-Shield. Nur der Preis schreckt mich noch ab, es einfach mal so zu kaufen um dann vielleicht festzustellen, dass das gar nicht geht. Es gibt ja noch DOSBIAN. Ob ich damit ein AD/DA-Shield am Raspberry ansprechen kann, ich vermute nicht. Müsste ich mal den Entwickler fragen. > Es gibt aber allem Anschein nach QBasic nach wie vor: > https://www.qb64.org Ist ja toll, das muss ich unbedingt ausprobieren! Ich wollte schon das alte QB von MS auf meinem Rechner installieren um einen Screenshot von meiner damaligen Anwendung zu machen, damit ich zeigen kann was ich vorhabe.
Hans W. schrieb: > Das Anzeigen am PC ist jetzt wirklich eine Herausforderung. Wenn es darum geht, Kurven von ankommenden Messwerten darzustellen, ist "trend" inzwischen das Werkzeug meiner Wahl. Wenn die Abfrage der AD-Hardware z.B. von einem Perlscript erledigt wird, ist die Anpassung nicht schwer. wendelsberg
Dietmar S. schrieb: > Also die AD-Wandler-Werte zu holen bzw. DA zu liefern bekomme ich hin, > ist ja ziemlich einfach. Hab hier einen Arduino herumliegen und das > irgendwann schon mal ausprobiert. Aber ich wollte schon was > alleinstehendes mit großem Monitor, das ich nicht noch extra an einen PC > anschließen muss. Da setze ich Hoffnung in das VGA-Shield. Nur der Preis > schreckt mich noch ab, es einfach mal so zu kaufen um dann vielleicht > festzustellen, dass das gar nicht geht. Die Frage wäre noch, wie schnell es sein soll. Wenn du eh eien Arduino hast, dann verbinde ihn mit USB an einen Thin Client oder Notebook. Schick die werte über den Serial Port. Auf den "PC" machst du ein Ubuntu drauf und schreibst ein kleines Python Programm. Um das gleiche mit nativen C hinzubekommen wirst du noch Jahre brauchen. Mit Python (Matplotlib) geht das in ein paar Zeilen. Und bei Ubuntu (Derivat) hast du dank Paketverwaltung auch keine Probleme beim Installieren von zusätzlichen Paketen.
Experte schrieb: > - https://www.libsdl.org/ Sorry, den Link hatte ich ganz übersehen. Sieht auf den ersten Blick vielversprechend aus und wird jetzt erst mal meinen Abend füllen. Karl schrieb: > Die Frage wäre noch, wie schnell es sein soll. Wenn du eh eien Arduino > hast, dann verbinde ihn mit USB an einen Thin Client oder Notebook. > Schick die werte über den Serial Port. Auf den "PC" machst du ein > Ubuntu drauf und schreibst ein kleines Python Programm. Um das gleiche > mit nativen C hinzubekommen wirst du noch Jahre brauchen. Mit Python > (Matplotlib) geht das in ein paar Zeilen. Und bei Ubuntu (Derivat) hast > du dank Paketverwaltung auch keine Probleme beim Installieren von > zusätzlichen Paketen. Gefällt mir nicht recht, weil ich dann kein alleinstehendes Equipment habe. Aber es wäre zumindest eine Option, wenn es anders nicht geht. Die Geschwindigkeit ist unkritisch.
https://www.mikrocontroller.net/attachment/305667/Setup_SerialComInstruments_4.1.zip Artikel Download Link Beitrag "Re: Projekt: Virtuelle Instrumente an serielle Schnittstelle"
Dietmar S. schrieb: > weil ich dann kein alleinstehendes Equipment > habe. Naja, wenn du eh einen (VGA)Monitor haben möchtest, wird es schwierig mit "alleinstehend". Rasperry Pi mit entsprechendem AD/DA-Wandler wäre sicher auch eine Möglichkeit. Ein Arduino mit VGA wird sicher schnell an seiner Leistungsgrenze sein.
Guck dir mal das Zeug rund um Maximite, Duinomite, ... an. Hat neben ein paar AD-Kanaelen auch unmittelbar eine Ausgabe auf zumindest VGA-Niveau. Und Standalone ist es sowieso.
Ich habe es nach 40 Minuten immerhin geschafft mit SDL ein Fenster zu öffnen. Eine einfache Linie zeichnen ist mir noch nicht geĺungen, scheitert schon beim kompilieren. Die meisten "Erste-Schritte"-Tutorials sind für Windows-Nutzer. Aber gut, es ist ein Anfang :)
Warum nimmst Du nicht einfach gnuplot fuer die Grafiken zur Daestellung. Das machen auch einige professionelle Programme.
Dieter schrieb: > Warum nimmst Du nicht einfach gnuplot fuer die Grafiken zur Daestellung. > Das machen auch einige professionelle Programme. Weil Du meine Beiträge nicht aufmerksam gelesen hast: Beitrag "Re: Messwerte auf PC-Monitor anzeigen (Raspberry, Arduino oder andere Lösung)"
oerks schrieb: > Guck dir mal das Zeug rund um Maximite, Duinomite, ... an. > Hat neben ein paar AD-Kanaelen auch unmittelbar eine Ausgabe > auf zumindest VGA-Niveau. > > Und Standalone ist es sowieso. Jetzt habe ich mir das auch angesehen. Beides tolle Projekte und die Hardware ist ja echt erschwinglich. Danke für den Tipp!
Wenn ein 3,5 oder 4 Zoll Display reichen sollte, könnte man es evtl. auch mit einem ausrangierten noch funktionierenden Smartphone oder PDA probieren. Eine Programmiersprache + Betriebssystem zur Aufbereitung und Darstellung der Messwerte braucht man sowieso. Auch Übertragungswege, wie WLAN, BT usw. kämen da in Frage. Oder halt, wie oben erwähnt, einen RaspBerry PI, wo schon fast alles on Board ist. Ein Display dürfte da das kleinste Problem sein.
Moin, - Dietmar S. schrieb: > Dieter schrieb: >> Warum nimmst Du nicht einfach gnuplot fuer die Grafiken zur Daestellung. >> Das machen auch einige professionelle Programme. > > Weil Du meine Beiträge nicht aufmerksam gelesen hast: > Beitrag "Re: Messwerte auf PC-Monitor anzeigen (Raspberry, Arduino oder andere Lösung)" und warum guckst Du nicht in das Manual von gnuplot, Zauberwort "Pause". Du musst nicht alles selbst erfinden (wird sind jetzt 2021): http://www.gnuplot.info/docs_4.2/node99.html Gruesse Th.
Thomas W. schrieb: > und warum guckst Du nicht in das Manual von gnuplot, Zauberwort "Pause". > Du musst nicht alles selbst erfinden (wird sind jetzt 2021): > > http://www.gnuplot.info/docs_4.2/node99.html O.k. Ich hatte ein Code-Beispiel genommen, ich schaue es mir nochmal an. Edit: Super, das funktioniert! Darauf muss man erst mal kommen, wenn man mit der Materie noch nie zu tun hatte.
SDL ist aus dem Rennen. Die Anforderungen übersteigen meine bescheidenen Kenntnisse bei weitem. Das muss ich mir einfach eingestehen. Ich hätte erwartet, dass ich mit Hilfe von Codebeispielen zumindest eine einfache Linie, eine Grafik oder nur ein einzelnes Pixel auf den Bildschirm bekomme.
Hallo, wie wäre es denn mit einem Rasperry Pi, Grafana und evtl. influxdb drauf. Da muss man so gut wie nix programmieren. Dann mit nem ESP8266 oder direkt mit irgendnem RPi Shield Werte messen/ausgeben?
Ich bestelle mir nun einen DUINOMITE-MEGA bzw. habe ich erst mal in der Rubrik Markt gefragt, bevor ich ihn am Wochenende bestelle.
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.