Forum: Mikrocontroller und Digitale Elektronik serielle Messdaten über Raspberry visualisieren


von Chris S. (chris606)


Lesenswert?

Hi,

ich haben einen Sensor mit einer RS232 Schnittstelle, dieser Sensor 
sendet mir Messdaten in 10ms Abständen, also mit 100Hz.
Nun würde ich diese Messdaten gerne über einen Raspberry PI 
visualisieren.

Folgendes stelle ich mir vor:

Anzeige der Messdaten (drei Messkanäle) als numerischen Wert und als 
Grafik

Anzeige der Daten über einen Monitor am HDMI Anschluß des Raspberry
und die Möglichkeit die gleiche Anzeige über einen Webbrowser an einem 
entfernten PC im Netzwerk anzuzeigen.

Wie mache ich das am besten? Wo setzt ich an? Gibt es fertige Tools die 
ich hier verwenden kann?

Gruß
Chris

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Erstmal Python lernen, dann wird das schonmal einfacher durch diese 
Scriptsprache.
Damit kannste das Anzeigen über HDMI abdecken.

Anzeigen über Browser wird dann schonmal etwas schwerer, da holste dir 
den ganzen Webkram ins Haus.
Da musste dann ein HTTP Server aufrufen, der dann per CGI das 
Pythonscript aufruft welches die HTML Seite zusammenbastelt mit den 
Messdaten.

von Rudi (Gast)


Lesenswert?

>Wo setzt ich an

Mit viel lesen. Persönlich würde ich hier zu Windows iot tendieren, dies 
wäre für solche Anwendungen entwickelt worden... Im Netz gibt es auch 
genügend Beispielprogramme.

von Chris S. (chris606)


Lesenswert?

Hallo zusammen,
hat vielleicht jemand ein Beispiel-Python Code zum Anzeigen von 
Messwerten in einem Onlinediagramm?
Ich komme leider nicht so recht voran.
Messwerte habe ich über die Schnittstelle ausgelesen, hier habe ich jede 
10ms einen neuen Messwert, die will ich nun in einer Grafik online 
anzeigen.
Ähnlich wie ein Oszilloskop.

Gruß
Christian

von Reiner O. (elux)


Lesenswert?

Chris S. schrieb:
> ich haben einen Sensor mit einer RS232 Schnittstelle

Sieh Dir doch mal das [[Projekt: Virtuelle Instrumente an serielle 
Schnittstelle]] an.
Vielleicht ist das was für Dich.

Gruß
Elux

P.S.
Komisch, in der Vorschau geht der Link. Du Findest das Projekt unter 
Projekte & Code

: Bearbeitet durch User
von Chris S. (chris606)


Lesenswert?

Ich wollte das auf einem raspberry machen und an einem kleinen Display 
anzeigen.
Das ganze soll dann ein Gehäuse zu dem Sensor von dem auch die Daten 
kommen.

: Bearbeitet durch User
von Thomas S. (Gast)


Lesenswert?

Also ich habe sowas letztens gemacht. Nicht mit einem HDMI Monitor , 
sondern per Webserver. Der Webserver wurde in NodeJs geschrieben mit dem 
Express-Framework. Um die Daten in „echtzeit im Browser Anzeigen zu 
können wurde SocketIO genommen, welches sich um sehr viel kümmert. 
NodeJs hat auch ein Package für die Serielle Schnittstelle welches auf 
dem PI sehr gut läuft.

von bingo (Gast)


Lesenswert?

schau Dir das mal an: Beitrag "Comvisu für Linux"

von Thomas S. (Gast)


Lesenswert?

Um einen HDMI ausgabe zu nutzen, würde ich einfach den Browser im 
kipskmodus automatisch starten lassen und die Website aufrufen durch 
SocketIO werden alle Daten ohne neuöaden der seite aktualisiert. Es gibt 
sehr viele einfache JavaScript Framesworks um Graphen, 
Zeigerinstrumenten usw zu erstellen zB Gauge.js

von Chris S. (chris606)


Lesenswert?

Guten Morgen Thomas S.
hört sich gut an, gibts im Netz ein ähnliches Beispielprojekt für den 
Raspberry bei dem ich etwas abschauen kann?

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Lesenswert?

Habe ich auf Raspian mit Mono gelöst, da ich nicht umbedingt mit einer 
WUA unter VS2017 proggen wollte.
Daten einlesen,parsen, ausgeben.

Noch ein Grund, warum Win10 iot ausschieht:
Die SD Karte liess sich nicht clonen (Kopierschutz über Karten ID?).

Bei Seriengeräten müsste man also alles immer wieder neu einstellen!

Wenn jemand aber eine Anwendung ähnlich einem SCADA kennen würde, wo man 
mal schnell was zusammenklicken kann, dann einfach her damit ;-)

von moep (Gast)


Lesenswert?

Ich hab gerade ein ähnliches Problem und schau mir deswegen bokeh an. 
Ich finde es bisher recht ansprechend:
https://pypi.org/project/bokeh/

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Lesenswert?

So wie ich das sehe ist Bokeh webbasierend.
Wieder ein bischen übertrieben.

von moep (Gast)


Lesenswert?

Chris S. schrieb:
> und die Möglichkeit die gleiche Anzeige über einen Webbrowser an einem
> entfernten PC im Netzwerk anzuzeigen.

Das war doch gefordert, oder? Ansonsten könnte man ja die Daten an eine 
bokeh Applikation + Webserver auf dem PC schicken. Das löst dann 
allerdings nicht das Problem mit dem lokalen Monitor

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Lesenswert?

ups. Überlesen.

von Steve (Gast)


Lesenswert?

> Anzeigen über Browser wird dann schonmal etwas schwerer, da holste dir
> den ganzen Webkram ins Haus.
> Da musste dann ein HTTP Server aufrufen, der dann per CGI das
> Pythonscript aufruft welches die HTML Seite zusammenbastelt mit den
> Messdaten.

Geht prima unkompliziert mit "bottle" und "bootstrap":
https://bottlepy.org/docs/dev/index.html
https://getbootstrap.com/

Bottle bringt einen schlanken HTTP Server gleich mit. Apache, o.ä. ist 
nicht nötig; kein CGI.

Gruß
Steve

von Brumo Banandaz (Gast)


Lesenswert?

Processing hat gute tools an Board.
https://processing.org/reference/libraries/

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.