Skript Visualisierung Sensorwerte

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo!

    Ich habe als Python-Anfänger ein kleines Problem:

    Ich lasse mit dem Raspberry Pi einen Temperatur und einen Luftfeuchtigkeits-Sensor auslesen und das ganze plotten. Die so entstandenen Grafiken werden in eine HTML-Datei eingebettet und stehen mir damit online zur Verfügung.

    Jetzt hätte ich allerdings gerne statt nur einem 24-Stunden Kurvenverlauf noch eine Anzeige des aktuellen Wertes.

    Meine Idee wäre jetzt gewesen, in der HTML-Datei die jeweilige Zeile bei jedem neuen Messwert per Python zu modifizieren bzw. zu löschen und neu zu schreiben. Allerdings komme ich da mit meinem schlechten Python-Wissen und google nicht weiter.

    Meine HTML-Datei sieht folgendermaßen aus:

    Code
    <body>
    <center>
    <h4>Temperatur=19,5</h4>
    <img src="heute.jpg" width="100%"usemap="#Map" align="absmiddle" border="0" />
    </body>
    </html>

    Und da würde ich gerne die dritte Zeile ändern.

    Kann mir da jemand weiter helfen?

    Vielen Dank vorab!

  • Ich würde die gesammelten Daten übers Python Script in eine Datei oder eine Datenbank (zB SQLite) schreiben und auf der WebServer Seite ein PHP Script nutzen um mir die gewünschten Daten aus der Datenbank zu lutschen sowie über einen Plot (wie zB JPGraph) die Bilder erstellen lassen... :)


    Wie ich das meine kannst du am unteren Ende von > diesem < Beitrag sehen ;)
    (der Beitrag ist ziemlich lang, scroll einfach bis ans Ende des Beitrags und dann langsam hoch bis zum Sensor_php_v0.3.zip :D)

    /EDIT: Achne, sorry - ich seh grad das ich die aktuelle Version mit JPGraph dort noch garnicht eingefügt hab :(


    /EDIT2: Hab meine aktuelle Version inkl. Plot hier gepostet: https://www.forum-raspberrypi.de/Thread-entwick…=54921#pid54921

  • Hi!

    Danke schon mal für deine Antwort.
    Ich denke schon, dass das ganze über eine Datenbank der elegantere Weg ist. Allerdings ist PHP auch absoluten Neuland für mich.

    Ich nutze die ganze Geschichte, um mir auch ein bisschen Python etc. beizubringen.
    Die von dir verlinkten Dateien funktionieren zwar sicherlich, allerdings bleibt der Lerneffekt meinerseits aus, wenn ich einfach fertige Funktionen und Skripte benutze.

    Kannst du mir vielleicht auch an der Stelle weiter helfen, wie ich eine einzelne Textzeile modifiziere bzw. lösche und ersetze?

  • Das HTML habe ich in in.html abgelegt, das Resultat kommt in out.html


    Vermutlich ist das Script ziemlich pfui, ich hab schon LAAANGE nichts mehr mit python gemacht ;)

  • Ach ja, um die Verwirrung gar komplett zu machen möchte ich noch auf pChart verweisen. Ein klassenorientiertes Framework für PHP - ähnlich wie jpgraph.

    Guckst du hier

    Welcher Intervall zum Speichern deiner Messungen schwebt dir pro 24h denn vor? Wenn es nicht ausartet, dann kommst ohne Datenbank aus. Wenn es ansprechend aussehen soll, wirst du pro 24h und Diagramm allemal nicht mehr als 40 Werte darstellen.

    • Schreib die Werte per Python in eine Datei (CSV)
    • Schau Dir jpgraph oder pChart einmal genau an. Beide kommen mit unzähligen Beispielen (einfach entpacken), u.a. auch mit Beispielen für das Auslesen von klassischen CSV Dateien.


    Zum besseren Verständnis. Beide Varianten erzeugen das Diagramm als Grafik. Die kannst du dann einbinden.

    Einmal editiert, zuletzt von PIARBO (7. Januar 2014 um 22:02)

  • So, vielen Dank für die Antworten. Die Python-Lösung habe ich verstanden, wird dann auch recht schnell umgesetzt sein, mach ich heute abend.
    Die Sache mit pChart ist aber auch sehr schick und auf den ersten Blick sollte das relativ einfach umzusetzen sein. Ich glaube, daran setze ich mich im Anschluss :)

  • So, ich muss das Thema noch mal ein bisschen aufwärmen.

    Ich habe das ganze jetzt mit pChart umgesetzt.
    Meine Messwerte schreibe ich in eine csv-Datei mit Uhrzeit und Temperatur in den Spalten.
    Dann plotte ich das ganze.

    Problem ist: Wenn die Messreihe um beispielsweise 14 Uhr das ganze plottet, dann geht der Graph in x-Richtung von 0-14 Uhr. Ich hätte aber gerne die x-Achse konstant skaliert von 0-24 Uhr.
    Weiß jemand wie ich das umsetzen kann?
    Kann mir hier PIARBO vielleicht weiterhelfen, wenn er mich schon angefixt hat? ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!