Hallo. Ich habe einen kleinen AVR (MEGA32) auf dem eine Datenerfassung (22*Temperatur meiner Heizung)läuft. Ich habe zusätzlich auch Parameter die ich ändern muss. So nun hängt der AVR an der SIO und kann Daten ausgeben und empfangen. Zur Zeit habe ich mcurses als Serialoberfläche drin und das tut auch seit Jahren seinen dienst. Jetzt will ich aber nicht mehr nur MAX & MIN wissen sondern das ganze als "Echtzeitgrafik" mir ausgeben. Das soll eine Grafik der MIN/MAX Werte mit einstellbarer Abtastung werden. Es werden nicht besonders viele Datenpunkte werden (kein ext. Speicher). Wenn ich das richtig verstehe kann man aber mit mcurses keine Grafiken. Darum: Kennt jemand von Euch ein passendes System mit dem ich so was machen kann? Das man da was selber schreiben kann ist mir schon klar, aber warum die nächte variante schreiben wenn es schon was gibt. Viele Grüsse, Klaus
Vorschlag: Ingo's CSV-Viewer. Zeit-Format scheint etwas speziell zu sein, aber sonst ist alles drin. Beitrag "Visualisierung von geloggten Daten" Ansonsten Libre Office calc, ist aber nur für kleinere Sachen und nicht optimal.
ich mache es über HTML Code der auf Abruf die Länge der Balken einfügt webrefresh 120s min max noch nicht drin NETIO (Pollin) mit ATmega1284p code Schnipsel webpage.h
1 | "<tr>\r\n" |
2 | "<td><p align=\"center\"><b>wo</b><br><br>Balkon<br>(min) (max)<br><br>Wohnzimmer<br>(min) (max)</p></td>\r\n" |
3 | "<td><p align=\"center\"><b>Temperatur<br><br>%VA@32<br><br><br>%VA@28</b><br><br></p></td>\r\n" |
4 | "<td><p align=\"left\"><b> </b><br><br><br><br><br>\r\n" |
5 | "<img src=blank.gif alt=\"\" width=\"%VA@33\" height=\"10\"><img src=bl.gif alt=\"\" width=\"%VA@34\" height=\"10\"><img src=rt.gif alt=\"\" width=\"%VA@35\" height=\"10\"><br>\r\n" |
6 | "<br><br>\r\n" |
7 | "<img src=blank.gif alt=\"\" width=\"%VA@29\" height=\"10\"><img src=bl.gif alt=\"\" width=\"%VA@30\" height=\"10\"><img src=rt.gif alt=\"\" width=\"%VA@31\" height=\"10\"><br>\r\n" |
8 | "<BR><img src=skala.gif alt=\"\">\r\n" |
9 | "<BR><img src=blank.gif alt=\"\" width=\"138\" height=\"10\"><img src=gr.gif alt=\"\" width=\"114\" height=\"10\">\r\n" |
10 | "</p>\r\n" |
11 | "</td>\r\n" |
12 | "</tr>\r\n" |
:
Bearbeitet durch User
Den csv viewer kenne ich, ist hierfür nicht das richtige. Die Daten sollen nicht herunter geladen werden und dann angezeigt werden. Das soll alles gleichzeitig zu sehen sein. Für HTML müsste ich aber erst dem avr Ethernet bereit stellen. Jetzt mal dumm gefragt, geht das auch über die sio? Wenn ja wie? Ansonsten wäre HTML bestens dafür geeignet. Auch wenn ich nicht gleich sagen könnte wie man es damit sauber macht. Aber da gibt es ja etliche Anleitungen. Viele grüße, Klaus
Wer das hier aber so anfragen muss, der wird scheitern. Es bedarf einer " Mindestahnung". Auch in der Rechtschreibung....
Mein Telefon ist nicht gerade gesegnet mit der besten Rechtschreibprüfung. Nicht jeder kennt es das man HTML über die sio machen kann. Ich denke das ich trotz Internet einige zeit brauchen werde die richtige Lösung zu finden. Vg, Klaus
Klaus schrieb: > Nicht jeder kennt es das man HTML über die sio machen kann. Der Satz kann von keiner Rechtschreibprüfung verbessert werden. " SIO " war bei PC's ein spezieller Baustein. Ich nehme an du meinst UART. JEDEM hier ist klar das HTML auch seriell geht. Eine Lösung habe ich dir schon oben genannt. Hast du das verstanden?
Du kannst dein bisheriges System auf Pseudografik umbauen (wie bei Videotext), vielleicht reicht das schon. Steuerung per Tastatur. Du kannst Zeichenbefehle über die UART ausgeben, um damit eine Vektorgrafik wie in den 80ern zu zeichnen. Monochrom (aber hohe Auflösung), Steuerung mit Maus oder Tastatur. Du kannst eine Webseite von deinem AVR generieren lassen und von einem beliebigen Browser darstellen lassen. Dazu brauchst du einen IP-Stack und einen kleinen HTTP-Server. Dazu brauchst du entweder Ethernet, oder du machst SLIP über deine UART, wie in den 90ern. Steuerung über Browser oder App. Du kannst deine Datensätze über die UART ausgeben und von einem zweiten Controller oder einem Computer darstellen lassen. Steuerung über Anwendung auf dem anderen Gerät. Du kannst zusätzliche Hardware an deinen AVR anschließen und deine Grafik darauf anzeigen. Displays und Touchscreens gibt es auch für UART. Steuerung über die zusätzliche Hardware.
Klaus schrieb: > Für HTML müsste ich aber erst dem avr Ethernet bereit stellen. Jetzt mal > dumm gefragt, geht das auch über die sio? Wenn ja wie? Ja, z.B. ueber Modems. So hat man frueher Internet gemacht. sfsdfhdfj
Klaus schrieb: > Wenn ich das richtig verstehe kann man aber mit mcurses keine Grafiken. Pixelgrafik kann es nicht, das stimmt. Aber es kann Blockgrafik. Und mit dieser kann man z.B. recht gut Balkendiagramme darstellen, wobei die mögliche Auflösung der Darstellung 1/2 der Zeichenhöhe (oder -breite) beträgt.
>Aber es kann Blockgrafik. Blockgraphiken kann es, wie man hier schön am Temperatur-Demo sieht: https://github.com/ChrisMicro/mcurses Plots würden hier dann eher so aussehen: Beitrag "Re: Arduino: VT100 graphics"
sfsdfhdfj schrieb: > Ja, z.B. ueber Modems. So hat man frueher Internet gemacht. Eben. TCP über die serielle. Und damit der PC (Windows) das auch versteht mit dem PPP. Da gab es (früher zumindest) ein Progamm, mit dem man zwei PCs über die serielle per PPP verbinden konnte. -Frag mich mal, wie das hieß ... Ob ich dem µC für diese Aufgabe Webserver+IP+PPP überstülpen würde ... Was ist hiermit? Beitrag "Daten von der seriellen Schnittstelle einfach darstellen" Gruß Jobst
Ob nun SIO oder UART ist doch alles das selbe RS232, nach einem Pegelwandler (zB. MAX232). Das Internet über meinen alten Akustikkoppler damals ging und das alles wunderbare 300baud brachte, ist mir nur wenige sekunden nach meinem post eingefallen. Aber da hatte ich damals mit WIN 3.11 irgendwelche Software die ich heute bestimmt nicht mehr habe. Wie das heute gehen würde kann ich nicht sagen. Habe zwar einige komische Lösungen gefunden, aber keiner davon scheint einfach zu sein, wenigstens wenn man nicht jeden Tag was damit macht. Blockgrafiken wären nur eine zwischen Lösung. Wenn schon ein Graf dann bitte richtig schön. Auch weil ich dann noch eine andere Anwendung in Kopf habe. Das Program von Albert M. kenne ich, wäre eine Alternative. Auch wenn ich es bevorzugen würde wenn mein AVR die Daten und Grafik machen würde, der langweilt sich sowieso. Bei den Arduino Jungs habe ich einige Lösungen gefunden, muss mir jetzt aber die alle ansehen um dann entscheiden zukönnen was für mich das richtige ist. VG, Klaus
Klaus schrieb: > Aber da hatte ich damals mit WIN 3.11 irgendwelche Software die ich > heute bestimmt nicht mehr habe. Windows 7 unterstützt PPP über eine serielle Schnittstelle (aber kein SLIP/CSLIP mehr). Mit einem Linux als Gateway (z.B. Raspberry Pi) könntest du deinen AVR ohne Ethernet auch als vollwertigen Knoten ins Netzwerk bringen. Dann brauchst du nur noch einen TCP-Stack und einen Webserver auf dem AVR, plus deine Software, um deine Grafiken zu erzeugen. Aber dann langweilt der sich nicht mehr, dann ist er an der Lastgrenze. Mein Tipp: Denke dir lieber eine textuelle Beschreibung deiner Grafik aus (z.B. JSON) und sende die an ein Extragerät zur Darstellung. Dann riskierst du nicht, dass deine Datenerfassung durch Bugs ausfällt und du hast mehr Optionen für später.
Die ganzen Serial -> Ethernet Umsetzungen sind zwar schön aber das brauche ich eigentlich alles nicht. Habe mir inzwischen etliche Umstzungen angesehen und keine ist wirklich das was ich brauche. Mal bräuchte ich einen grösseren Prozessor, mal etliche Software auf dem PC. Ich will doch nur ca. alle 4 bis 8 Wochen mal mir ansehen wie die MIN/MAX Werte der Fussbodenheizung waren. Wenn ich das Online mir ansehen wollte würde ich auch glein FEHM als Oberfläche nehmen und alles über eine eigenes Netz verbinden. Eine ETH Erweiterung für einen AVR wird einem ja überall nach geschmissen. Ich mache mir mit mcurses jetzt als übergangs Lösung eine "Grafische" Darstellung. Habe gestetn auch gesehen das es inzwischen eine neuere Version gibt und das wohl schon seit einigen Jahren. VG, Klaus
Du könntest auch einen ESP8266 nehmen, daran die TempSensoren anschließen (1-wire?) und die Daten dann auf einen Webspace hochladen, in eine mySQL Datenbank eintragen und über highcharts.com visualisieren. Dann hast Du von überall Zugriff auf Deine Messwerte. Kosten: 3€ für den ESP und 0,13€ für den Webspace pro Jahr (https://www.webhostlist.de)
Klaus schrieb: > Habe mir inzwischen etliche Umstzungen angesehen und keine ist wirklich > das was ich brauche. an wen das wohl liegen mag? Klaus schrieb: > Mal bräuchte ich einen grösseren Prozessor, mal etliche Software auf dem > PC. > > Ich will doch nur ca. alle 4 bis 8 Wochen mal mir ansehen wie die > MIN/MAX Werte der Fussbodenheizung waren. quark, das ginge wie ich schon ansatzweise zeigte, es ist ein Haufen Arbeit, aber die kann dir keiner abnehmen.
Unter Linux kann man auf der seriellen Schnittstelle ein Terminal laufen lassen (also eine Console / Shell) Auf der könnte der µC seine Befehle absetzen und so auf dem Zielsystem eine Datei erstellen. .txt, .html, .pnm ... whatever ... Gruß Jobst
Man kann im Grunde irgendein Programm auf irgendeinem System laufen lassen, das Daten von der seriellen Schnittstelle liest und in eine Datei schreibt. Dann braucht man aber natürlich auf dem PC noch ein Programm, das die Daten aus der Datei auswertet und grafisch darstellt. Und genau so ein Programm sucht der OP doch.
man kann auch einen kleinen Webserver auf Arduino, AVR, PI aufsetzen und das ale Webseite anzeigen, dann kann das jeder (Browser) sehen, ob IE, firefox, Iceweasel, Midori oder wie sie alle heissen.
Wenn denn unbedingt die Grafik auf dem AVR aufbereitet werden muss. Warum dann nicht mit der Blockgrafik von Ncurses? Die Diagrammachsen gibst du so aus wie oben demonstiert. Mir selber würde die Ausgabe der Kurve als x,y Punkte in Form von Sternen am besten gefallen. (Natürlich ist damit ein Zeitfenster der Kurve gemeint) Soll es höher auflösend sein, würde ich die grafische Aufbereitung der Daten auf jedem Fall erst auf dem PC vornehmen.
Also Leute das ich ein Programm schreiben kann was mir Daten per UART abholt und dann in jeder beliebigen Art und Weise aufbereiten kann, ist mir klar und wäre auch überhaupt kein Problem. Auch dem Prozessor USB beizubringen oder ein ENC28J60 dran zu bauen oder gleich ein AVR-NET-IO Modul zu kaufen oder ein ESP8266, sind zwar alles schöne Sachen und wären technisch auch nicht besonders schwer. Besonders weil ich das alles in anderen Projekten benutze/benutz habe. ABER das ist alles nicht das was ich will! Ich will ganz einfach nur gelegentlich Werte mir anzeigen lassen und dafür keine Wochen Zeit verbraten um ein wunderhübsches neues etwas zu bauen. Ein Standard System, das ohne grosse Installation oder sonstige grosse PC kenntnisse funktioniert ist alles was ich will. OS unabhänig! Ich war froh das ich anfang 2012 mcurses gefunden hatte und finde das immer noch gut. Auch wenn die Grafischen fähigkeiten nicht berauschend sind. VG Klaus
Klaus schrieb: > ABER das ist alles nicht das was ich will! Ja, was willst du denn dann? Wie liest du denn die Daten im Augenblick aus, wenn nicht über einen seriellen Terminalemulator?
Klingt wie Moby-AVR. Ich will haben, will aber nicht machen und nicht zahlen. Es soll einfach da sein. Bin raus ...
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.