Wie stellt Ihr eure Daten da (Seriel)?

Gast #4866166
Lesenswert?

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
#4866209
Lesenswert?

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"
Angehängte Dateien:
Gast #4866640
Lesenswert?

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
Gast #4866666
Lesenswert?

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
Gast #4866718
Lesenswert?

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?
#4866741
Lesenswert?

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.
Gast #4866773
Lesenswert?

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.
#4866898
Lesenswert?

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
Gast #4867476
Lesenswert?

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
#4867801
Lesenswert?

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.
Gast #4868617
Lesenswert?

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
#4868653
Lesenswert?

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.
Gast #4868687
Lesenswert?

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.
Gast #4868721
Lesenswert?

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.
Gast #4868785
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren