Forum: Mikrocontroller und Digitale Elektronik Wie stellt Ihr eure Daten da (Seriel)?


von Klaus (Gast)


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

von abc.def (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Angehängte Dateien:

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"

: Bearbeitet durch User
von Klaus (Gast)


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

von Mhkjh (Gast)


Lesenswert?

Lantronix xport, oder so...

von Mhkjh (Gast)


Lesenswert?

Wer das hier aber so anfragen muss, der wird scheitern.
Es bedarf einer " Mindestahnung".
Auch in der Rechtschreibung....

von Klaus (Gast)


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

von Mhkjh (Gast)


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?

von S. R. (svenska)


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.

von sfsdfhdfj (Gast)


Lesenswert?

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

von c-hater (Gast)


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.

von ChrisMicro (Gast)


Lesenswert?

>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"

von Jobst M. (jobstens-de)


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

von Klaus (Gast)


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

von S. R. (svenska)


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.

von Klaus (Gast)


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

von Pete K. (pete77)


Lesenswert?

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)

von Joachim B. (jar)


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.

von Jobst M. (jobstens-de)


Lesenswert?

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

von MaWin (Gast)


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.

von Joachim B. (jar)


Lesenswert?

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.

von Decius (Gast)


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.

von Klaus (Gast)


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

von S. R. (svenska)


Lesenswert?

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?

von Jobst M. (jobstens-de)


Lesenswert?

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
Noch kein Account? Hier anmelden.