Skip to content

agp8x/tf-weatherstation

Repository files navigation

Weatherstation

Overview

Python (2/3), Bash, Tinkerforge

Setup

  1. Konfiguration mittels config.json anpassen (Vorlage: config.sample.json)
    • Notwendig:
      • hosts:
        • Ein Eintrag pro brickd-Host mit:
          • host: Hostname/IP + Port
          • sensors: Auflistung der Sensoren mit: Name, UID, SensorType
      • sensor_properties:
        • Pro SensorType:
          • Callbackzeit
          • Divisor
          • Einheit
    • Optional:
      • tempmaxdiff: Maximaler Unterschied zwischen zwei SensorType.temp-Callbacks des gleichen Sensors
      • prev_temps_default: Hilfswert für Berechnung von tempmaxdiff
      • logs: Ordner für Logs
      • locks: Ordner für Locks
      • records: Ordner für aktuelle Aufzeichnungen
      • arch: Ordner für Archiv der Aufzeichnungen
      • lockname: Lock für Hauptprogramm
      • logname: Logdatei für Hauptprogramm
      • exceptionlog: Logdatei für Exceptions bei Verbindungsaufbau
      • recordlog: Logdatei für neue, einheitliche Aufzeichnungen
      • movelog: Logdatei für Archivierung
      • movelock: Datei zur Feststellung der letzten Archivierung
      • waitDelay: Wartezeit zwischen Verbindungsversuchen
      • loglevel: Loglevel für Hauptprogramm
      • datalog: Loglevel für Aufzeichnungen (warn, error,critical verhindern Aufzeichnung)
      • dataecho: Loglevel für Wiedergabe der Aufzeichnungen (warn, error,critical verhindern Wiedergabe)
      • legacy_record: Speichern von Aufzeichnungen in einzelne Dateien pro Sensor (true, false)
  2. Tinkerforge-Python-Bindings installieren
  3. main.py starten, um Aufzeichnung zu starten
    • Aufzeichnung des aktuellen Tages werden in records gespeichert

Optional: Verschieben der Aufzeichnungen in ein Archiv:

  1. move.py z.B. als Cronjob starten

Optional: Upload der Aufzeichnungen mit SFTP an einem Server (beinhaltet Archivierung mit move.py):

  1. xmlstarlet installieren
  2. Pfade, Urls und Benutzer in ftpconfig.xml anpassen (Vorlage: ftpconfig.sample.xml)
    • (ftp.sh bzw move.py) Nach dem Upload und dem Tagesende werden die Aufzeichnungen nach arch verschoben
  3. Cronjob für Upload mit ftp.sh einrichten

TODOS

About

Weatherstation logging data from tinkerforge hardware, trying to be a generic framework for logging data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published