Raspberry Pi – Temperatur-Sensor 18B20 – Teil 2

Das könnte dich auch interessieren …

9 Antworten

  1. Julian sagt:

    Hi Werner,

    Ich habe bei mir daheim 3 18B20 Sensoren seit über einem Jahr laufen und bin mehr als zufrieden. Ich zeichne die Temperaturen mittels RRD Datenbanke auf und stelle das ganze auf meiner Homepage die auch am Pi läuft dar.
    Weiters habe ich noch einen Luftdrucksensor laufen der mir diesen auch in einer RRD DB aufzeichnet. Auch auf der HP zu finden.
    Und zum Schluss läuft noch ein DHT22 der die Luftfeuchtigkeit im Keller aufzeichnet.

    Mich würden noch viele Sensoren interessieren, vor allem auf 1-wire Basis da dieses System echt cool ist 😉

  2. Raspberry-Pi-Tips sagt:

    Danke für diesen Artikel. Mir ist aufgefallen das die RRD-Tools Methode zwar gut funktioniert, aber an vielen stellen recht komplex ist.

    Als Alternative gibt es ein richtiges CMS für solche Daten das man über diverse Wege „füttern“ kann. Vielleicht ist das ja für dein ein oder anderen eine Option.

    http://raspberry.tips/hausautomatisierung/rasberry-pi-emoncms-und-rfm12pi-sensordaten-visualisieren/

  3. Helma sagt:

    Hallo,
    ich bin Neueinsteiger bei Linux und Raspberry.
    Ich habe voller Neugier, alles mit diesen Sensoren aufgebaut, und auch den Ersten Teil dieser Abhandlung durchgearbeitet.
    Leider, und so kommt es mir vor, fehlt im 2. Teil einiges, um Schritt für Schritt alles nachzuprogrammieren.
    Ich habe zwar mit pyton programmiert, weiß aber leider nicht weiter.
    Jetzt mal Schritt für Schritt, Den Import mit re und os
    wie mache ich den, muß ich den in eine Datei schreiben?? Wie soll diese heißen.
    Dann den Verweis auf das Abholen der Daten, wie und welche Datei soll das sein??
    Dann die Auswertung genauso.
    Ist es möglich für einen Anfänger den 2. Teil so zu beschreiben, das ich den mit der Konsole programmiere
    und wie werden dann die Meßwerte angezeigt?? in der Konsole oder auf dem Schirm??
    Sorry aber beim 2. Teil komme ich nicht weiter, und der wäre auch für mein Projekt, das ich plane wichtig.
    Danke für das Verständis
    Euer
    Helma

    • danke für den Kommentar. Du findest im Artikel verlinkt die beiden Skripte die ich dort erkläre. Das ist jeweils eine einzelne *.py Datei die man mit dem Befehl sudo python Dateiname.py auf der Kommandozeile ausführen kann. Das sudo für Root Rechte benötigt man vorangestellt immer dann, wenn man die GPIO Schnittstelle verwendet.
      Python Skript starten dabei immer damit, dass man mit import Bibliotheken einbindet, das sind meist andere Python Skripte oder fertig kompilierte Software anderer Programmiersprachen. re benötigst du um so genannte Regular Expressions ausführen zu können und os für Betriebssystem nahe Funktionen wie etwa das Abspeichern einer Datei.
      Der Temperatursensor ist ein so genanntes 1-wire Gerät, das bedeutet es gibt dafür einen Kernel Treiber, der dafür sorgt, dass der gemessene Wert in einer Datei im Dateisystem zu finden ist. Genau diesen Wert holen wir uns und geben diesen mit dem print Befehl auf der Kommandozeile aus.
      Das 2. Skript ist eine Erweiterung des ersten Skripts, dort wird der Messwert nicht auf der Konsole ausgegeben, sondern in einer Log Datei.
      Ich hoffe das ist verständlicher. Ich würde mir einfach mal die verlinkten Dateien herunterladen und ansehen/ausführen.
      Generell ist das aber schon eine etwas komplexere Sache. Ich würde dir empfehlen, mit den LEDs anzufangen.

  4. Detlef sagt:

    Hallo Werner,
    ich bin seit einiger Zeit dabei, ein Projekt zu verwirklichen und könnte eventuell ein wenig Hilfe brauchen.
    Zur Erklärung: wir heizen ausschließlich mit Holz mit einem Kessel, der etwa 20 Jahre alt ist, aber noch tiptop in Schuss.
    Die Verbrennung und damit die Kesseltemperatur wird durch einen Feuerzug-Regler und Luftklappe geregelt. Die Kesseltemperatur stelle ich auf 80 – 90 °C ein, das Heißwasser, das im Moment nicht in der Heizung gebraucht wird, wird per 3-Wege Ventile von der kesseleigenen Steuerung in den 1000L Speicher gepumpt. Soweit, sogut – einfach und es funktioniert super. Es gab allerdings einen Nachteil: Schließe ich die Feuerzugklappe nicht selbst nach der Verbrennung des Holzes, kühl der Kessel durch die Frischluft wieder aus.
    Dies habe ich kürzlich geändert: den Feuerzug-Regler habe ich mit einem Servo ergänzt, der von einem Raspberry gesteuert wird, dieser erfasst gleichzeitig die Temperaturen mit mehreren DS1820.
    Mit einem Python-Script kann ich inzwischen den Servo bedienen, auch per html auf dem Pi.
    Was ich nun brauchen würde, wäre eine Erweiterung Deines track_temperature.py. Ich müsste noch eine Auswertung haben: ca. 30 min nach erreichen der Höchsttemperatur musste mein Script klappe_zu.py gestartet werden. Oder halt als if else Funktion.
    Könntest Du dabei helfen?
    Ich würde Dir auch gerne noch ein Video schicken, wo Du den Kessel mit dem Servo siehst.
    Danke im voraus und viele Grüsse
    Detlef

  5. Christian M. sagt:

    Hallo,
    ist schon ne weile her, aber kann mir jemand erklären, wie man die Werte (mehrere Sensoren) im Logfile nicht alle untereinander schreibt, sondern in einer Zeile nacheinander.

    logfile.write(timestamp+“ „+value+“\n“)

    meins schaut dann so aus:

    logfile.write(f+“ ,“+timestamp+“ ,“+value+“ ,“ )

    so:
    28-000007c6a732 ,10.11.2018 ,16:38:57 ,21.012 ,28-01131t4khef9 ,10.11.2018 ,16:38:58 ,20.997 ,

    das „\n“ raus brachte den Erfolg, aber jetzt schreibt es die neuen Daten immer in der gleichen Zeile weiter. Möchte aber jedes mal (alle 15 min) eine neue Zeile.?

    Besten Dank

    • Werner Ziegelwanger sagt:

      Hallo, ich prüfe jeden Kommentar vor der Veröffentlichung, weshalb dein erster nicht gleich öffentlich gezeigt wurde. Zu deiner Frage: du kannst nun jederzeit mit einem logfile.write(„\n“) eine neue Zeile beginnen. Du könntest beispielsweise die Zeilen mitschreiben und alle X Schreibvorgänge so eine neue Zeile beginnen oder wie du sagst über einen Timer alle 15 min. Hole dir die aktuelle Zeit in Minuten und prüfe in einem if auf 0, 15, 30 und 45.

      • Christian M. sagt:

        Dankw, aber ich blickvgrad nicht mehr durch.
        Würdest mir ein Beispiel haben?

        Hab grad Ptobleme den cronjob (alle 15 min) zu erstellen, Datei ist ausführbar, aber geht irgendwie nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert