|
|
||
|---|---|---|
| .gitignore | ||
| Logger.py | ||
| README.md | ||
| Setup.py | ||
| config.py | ||
| config.sample.json | ||
| ftp.sh | ||
| ftpconfig.sample.xml | ||
| main.py | ||
| move.py | ||
| timeFunctions.py | ||
| weatherlog | ||
README.md
#Weatherstation ##Overview Python (2/3), Bash, Tinkerforge
Setup
- Konfiguration mittels
config.jsonanpassen (Vorlage:config.sample.json)- Notwendig:
- hosts:
- Ein Eintrag pro brickd-Host mit:
- host: Hostname/IP + Port
- sensors: Auflistung der Sensoren mit: Name, UID, SensorType
- Ein Eintrag pro brickd-Host mit:
- sensor_properties:
- Pro SensorType:
- Callbackzeit
- Divisor
- Einheit
- Pro SensorType:
- hosts:
- 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)
- Notwendig:
- Tinkerforge-Python-Bindings installieren
main.pystarten, um Aufzeichnung zu starten- Aufzeichnung des aktuellen Tages werden in records gespeichert
Optional: Verschieben der Aufzeichnungen in ein Archiv:
move.pyz.B. als Cronjob starten
Optional: Upload der Aufzeichnungen mit SFTP an einem Server (beinhaltet Archivierung mit move.py):
- Pfade, Urls und Benutzer in
ftpconfig.xmlanpassen (Vorlage:ftpconfig.sample.xml)- (ftp.sh bzw move.py) Nach dem Upload und dem Tagesende werden die Aufzeichnungen nach
archverschoben
- (ftp.sh bzw move.py) Nach dem Upload und dem Tagesende werden die Aufzeichnungen nach
- Cronjob für Upload mit
ftp.sheinrichten
TODOS
- TODOS ausdenken
- rugged approach http://www.tinkerforge.com/en/doc/Tutorials/Tutorial_Rugged/Tutorial.html