Hausmessung – Neue Version von Temperaturmessung & Co.

Neuigkeiten bei der Hausmessung

Es gibt was neues zum Thema „Hausmessung“. Nachdem ich nun seit einigen Tagen stolzer Besitzer eines Raspberry Pi bin, ist der seit heute für die Sammlung und Verarbeitung der Temperatur- und Strom-Messwerte zuständig.

Das erste Problem war schon mal, dass der Code noch nicht auf Arduino 1.0 gelaufen ist. Ein Update der JeeNode-Libraries war schon fast die Lösung. Lediglich die „DallasTemperature“-Library gibt es nicht in einer passenden Version. Die Website des Autoren war nicht mehr aufrufbar – keine Ahnung, ob das ein kurzfristiges Problem ist, oder ob er komplett verschwunden ist. Aber letztendlich war es zum Glück nur ein „include“, das ich entfernen musste…

 

Und so läuft das alles:

  • Ein Arduino (JeeNode) im Keller ist über ein Patchfeld mit aktuell 6 DS18B20 Sensoren verbunden. Diese sind im Haus überall dort platziert, wo ich Temperaturen messen will (und wo auch Netzwerkdosen sind…)
  • Anders als noch hier beschrieben, sind die Sensoren über das Patchfeld nun in „Reihe“ geschaltet: Jeder Sensor hat  neben VCC und GND eine Datenleitung. Über das Patchkabel wird diese Datenleitung zuerst zum Sensor hin geleitet und dann von dort über eine weitere Leitung zurück zum Patchfeld. Dort geht es dann weiter zum nächsten Sensor.
    Vorteil dieses Setups: ich habe wirklich einen linearen Bus und keinen Stern. Seit dieser Änderung laufen auch alle Sensoren im ganzen Haus stabil.
  • Diese JeeNode sendet per RF12 die gesammelten Werte an einen zentralen Arduino mit RF12-Empfänger.
  • Dieser „normale“ Arduino ist per USB an den Raspberry Pi (Raspi) angeschlossen.
  • Dort läuft ein Perl-Skript, welches das USB-Device liest und die Daten per PUT-Request an Cosm sendet. Ich habe beschlossen, die Daten nicht mehr selber per RRD zu sammeln, da das für die SD-Karte im Raspi auf Dauer wahrscheinlich nicht so gesund ist.

Die Strommessung ist noch nicht aktiviert, ich habe vor einiger Zeit den Arduino im Zählerkasten für was anderes gebraucht und muss das erst wieder neu aufbauen…

Was ist noch neu?

  • Der Temperatur-Sender braucht nun keine Liste der verwendeten DS18B20 mehr. Er sucht einfach, welche er findet und sendet dann als Namen die interne Device-Adresse. Damit braucht der Sketch nicht mehr angepasst werden, wenn neue Sensoren dazukommen.
  • Der Sketch auf dem Empfänger ist geblieben, er sendet den empfangenen Namen – also die Device-ID, per Serial / USB weiter.
  • Das Perl-Script hat eine Mapping-Tabelle, die die Device-IDs auf die Cosm Feed-ID umsetzt, damit die Daten auch immer im richtigen Graphen landen

 

Und wo findet man das alles?

Auf meinem Github Repository sind die aktualisierten Dateien zu finden.

 

Das könnte dich auch interessieren …