Welche Visualisierung für python Script

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
eagleflight
User
Beiträge: 28
Registriert: Dienstag 12. Februar 2019, 19:45

Nachdem mein Datensammelprogramm nun fast fertig ist, möchte ich mich an die Visualisierung der Daten ran machen.
Vorhanden sind:

- Windows 10 Environment
- Raspberry mit Raspian, Python3, Apache-Webserver und MQTT-Server
- 20 externer WiFi Sensoren die über WLAN an den Raspberry MQTT schreiben
- MYSQL/MariaDB php Datenbank mit allen Werten auf einer Synology
- Die Anzeige im Moment erfolgt auf der Console und über eine php Tabelle aus der msql Datenbank.

Die Visualisierung soll die gesammelten Daten (etwa 200) auf mehreren Seiten in Gruppen anzeigen, sich automatisch updaten und mit ein paar
Knöpfen (max 10) auf einer extra Seite Aktoren auslösen, die über den MQTT angekoppelt werden. Wegen der vielen Seiten brauche ich auch noch eine Art Auswahlmenue. Vielleicht später auch noch ein paar Grafiken, aber nicht unbedingt notwendig.

Einmal soll das lokal auf dem Windows Rechner oder Raspi in einem Fenster angezeigt werden und zusätzlich mit ausgewählten Daten über den Webserver.

Da der Raspi im Moment alle Datenwerte im 10 min Takt einsammelt schwebt mir vor eine Datei als HTML-File zu schreiben und auf dem Webserver abzulegen. Unklar ist mir noch wie ich dabei die Werte von gedrückten Buttons zeitnah in mein Python Skript zurück bekomme um sofort Aktionen auszulösen.

Mit welchen Tools arbeitet ihr und könnt Ihr mir bitte eine Empfehlung geben wie ich das am besten mache und in welches Paket ich mich einarbeiten soll ?

Schönes Weekend
Heinz
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

Versteh ich nicht?
Du hast nen Webserver laufen und eine DB also kannst du doch ein Script mit den Frameworks (Flask, Django, Bottle) erstellen
Diese übernehmen doch dann die "Arbeit" holen die Daten aus der DB und stellen sie dir via Web dar.
Dann is es auch egal ob du direkt von Pi oder auf dem Win Pc auf die Seite schaust.

Entweder denk ich zu "einfach" oder ich hab deine Frage missverstanden.
eagleflight
User
Beiträge: 28
Registriert: Dienstag 12. Februar 2019, 19:45

Ja, das geht auch mit php.
Die Frage ist, wie man Buttons die auf der Website gedrückt werden zeitnah wieder ins Python Datenskript bekommt bzw. welches Tool das eingebaut hat. Das Ganze soll interaktiv sein, also z.B. alle 10 Min die Daten aus der Datenbank aktualisieren, wenn sie erneuert wurden, aber sofort auf Eingaben reagieren.
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

Wieso Php? Wer sagt was von Php?Du bist hier in einem Python Forum und die von mir genannten Frameworks können auch auf "Buttons" reagieren, sofern man ihnen das auch beibringt
eagleflight
User
Beiträge: 28
Registriert: Dienstag 12. Februar 2019, 19:45

Ok, super.

php habe ich nur für die Anzeige benutzt. Eine Rückgabe wird schwierig, deshalb scheidet das schonmal aus.
tkinter habe ich mir heute lange angeschaut und beim Einsatz gibt es viele Stolpersteine und ist wohl auch nur lokal einzusetzen.
Also sind die Frameworks schon interessant. Welches von denen ist denn am einfachsten für die Aufgabe (bidirektionale Kommunikation) einzusetzen ?
Tholo
User
Beiträge: 177
Registriert: Sonntag 7. Januar 2018, 20:36

Am einfachsten Flask, wohl auch Bottle (hab ich noch nie benutzt). Aber Stolpersteine wirst du da auch finden, das bleibt nicht aus
Benutzeravatar
noisefloor
User
Beiträge: 3854
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Welches von denen ist denn am einfachsten für die Aufgabe (bidirektionale Kommunikation) einzusetzen ?
Das ist fast egal.

Aber fast meinst du mit "bidirektionale Kommunikation"? Wenn sich deine Webseite ohne neu laden, also dem klassischen Request-Response Zyklus, aktualisieren soll, musst die zumindest einen Teil der Programmlogik mit JavaScript im Browser umsetzen.

Gruß, noisefloor
eagleflight
User
Beiträge: 28
Registriert: Dienstag 12. Februar 2019, 19:45

Mit bidirektional meine ich, dass die Seite alle paar Sekunden Daten von den Sensoren z.B. über mqtt erhält und bei Aktionen des Users, z.B. Knopfdruck, die Änderung wieder zurücksendet.
Antworten