Temperaturaufzeichnung des DS18B20-Sensors

7
6871
PublicDomainPictures / Pixabay

Wie man die Temperatur mit einem Sensor Dallas DS18B20 messen kann, hatte ich im Artikel „Temperaturanzeige in der Webcam des RasPi“ kurz erklärt. Um diese Temperatur in einem Diagramm darzustellen, habe ich mich ein weiteres Mal dem Round-Robin-Database-Tool bedient. Die ersten Versuche hatte ich mit dem TEMPer1 unternommen. Leider lieferte der TEMPer nicht bei jeder Messung einen Wert, wie im Artikel „Temperaturmessung mit dem Raspberry Pi“ zu sehen ist.

Nun wollte ich das Ganze mit dem DS18B20 nachbauen. Dazu muss man auf dem Pi das RRD-Tool installieren.

news-565

Dann erstellt man eine entsprechende RRD-Datenbank.

Im folgenden Beispiel wird nun eine Messreihe sieben Tage lang in einer Schleife aufgezeichnet und abgebildet. Die genauen Zusammenhänge hierzu werden in den zuvor erwähnten Artikeln erklärt.

Zwei Scripte werden nun benötigt. In das Script diagramm3.sh, welches in /home/pi gespeichert wird, trägt man folgenden Inhalt ein. Hier wird die Temperatur am Sensor gemessen und an die RRD-Datenbank übergeben.

In das Script diagramm4.sh, welches ebenfalls in /home/pi abgespeichert wird, kopiert man den nachfolgenden Inhalt. Dieser erstellt dann ein Diagramm als PNG (temp.png) im von mir zuvor angelegten Verzeichnis /var/www/sensor_ext. Der Speicherort kann natürlich auch woanders liegen wie z.B. im Home-Verzeichnis. Das muss dann natürlich im Script entsprechend berücksichtigt werden.

Beide Diagramme sind dann

ausführbar zu machen.

Nun wird die ganze Sache noch mit einem Cron-Job automatisiert. Dazu öffnet man

und trägt Folgendes ein.

Hierbei wird jede Minute die Temperatur gemessen und alle fünf Minuten ein Diagramm hierzu gezeichnet. Nun wird der Cron neu gestartet.

Das Script diagramm4.sh arbeitet hier jeweils mit den Durchschnittswerten (AVERAGE), wobei man hier auch Minimal- und Maximalwerte ausgeben kann. Dazu sollte man sich aber mit dem RRD-Tool näher auseinander setzen.

Der Kampf geht weiter!

7 Kommentare

  1. hallo intux,
    habe alles Schritt für Schritt gemacht- leider erstellt er mir kein PNG-Bild in das sensor_ext Verzeichnis.
    habe mit „sudo nano /home/pi/Temperatur/temp.rrd“ die temp.rrd aufgemacht – dort sind aber nur $-Zeichen und diverse ander Zeichen vorhanden- anstatt DS:temperatursensor1 ….

    bitte um Hilfe

    Lg Mike

    • Hallo Michael! Eine RRD kann man nicht so einfach mit einem Editor wie Nano öffnen und bearbeiten. Schau hier: http://oss.oetiker.ch/rrdtool/
      Aus der Ferne hier etwas zu machen ist schwierig. Du musst die entsprechenden Verzeichnisse mit den nötigen Rechten erstellen. Des Weiteren musst Du den Pfad deines Sensors anpassen. Jeder Sensor speichert in einem anderen Verzeichnis, soviel ich weiß. Arbeite alle meine Artikel hierzu durch. Das sollte dann auch zum Erfolg führen.

  2. hallo intux,
    habe nun alles durchgearbeitet- es funktioniert fast alles einwandfrei

    das Diagrammbild „temp.png“ erstellt er jetzt auch- nur werden in diesem Diagramm keine Messwerte angegeben- also bei Letzte Messung 0.0°C und bei der y-Ache sprich Grad Celsius nur von 0.0 – 1.0 angezeigt.

    Habe in der diagramm3.sh den DS18B20 Sensor unter:
    temperatur=`cat /sys/bus/w1/devices/28-0000067c28ce/w1_slave
    die richtige Seriennummer eingetragen – also: 28-021501c02dff
    wie auch den Pfad richtig verwendet.

    muss der DS18B20 auf einen gewissen GPIO-Pin sein, da ich im standardmäßig immer auf 4 lasse?

    lg Mike

  3. hallo Intux,
    es wird im Diagramm was angezeigt 🙂

    wie kann ich nun in der X-Achse statt Tage -im Stunden Takt es anzeigen bzw. in halben Stunden Takt ?

    lg Mike

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein