Archiv der Kategorie: Technik

Was lange währt, wird endlich…

Schon im Jahr 2013 habe ich mir von Tinkerforge eine Wetterstation gekauft. Der Zusammenbau damals war ein Kinderspiel – genau so, wie es versprochen wurde.

Die Idee war dann, mit den „Wetterdaten“ einen „Datengenerator“ zu haben, um rund um die Daten herum etwas programmieren zu können.

Schon länger habe ich daran gearbeitet, eine schöne Softwarearchitektur zu entwickeln. Ziel der Architektur ist es, auf einem Raspberry Pi die Daten von der Wetterstation zu erfassen und auf einem PC dann weiter zu verarbeiten. Mittlerweile ist das Projekt soweit gediehen, dass die Datenerfassung und die weitere Speicherung abgeschlossen ist.

Das heißt, dass auf dem Raspberry ein Teil der Software läuft und die Daten in verschiedenen Formaten bzw. Technologien vorhalten kann. Das beginnt bei einer einfachen Textdatei, geht über eine SQLite Datenbank oder eine MariaDB Datenbank bis hin zum versenden mit MQTT.

Das ganze wurde bis jetzt in C# programmiert. Zur potentiellen Erweiterung gibt es eine Plugin-Technologie. Was noch fehlt, sind sinnvolle Datensenken. Darunter verstehe ich entweder eine sogenannte Time Series Database, eine Round Robin Database oder die Implementierung eines Algorithmus zur Datenverdichtung.

Wenn jemand Interesse an dem Projekt hat – der Quellcode steht auf GitHub zur Verfügung.

Tinkerforge Wetterstation

Ich habe mir vor langer Zeit eine Wetterstation von Tinkerforge gekauft. Der Hintergrund war, dass ich damit einen einfachen Datengenerator habe – und rund um die Daten die Möglichkeit, Programme zu schreiben.

Jetzt ist es endlich soweit: In C# habe ich einen Client entwickelt, welcher über Plugins die Wetterstation auslesen und auch als Ausgabemedium (das LCD) nutzen kann. Darüber hinaus kann dieser Client mit MQTT mit einem Server kommunizieren. Dieser Server wiederum kann zur Ausgabe die gleichen Plugins nutzen wie der Client und die Daten dann in eine Datei, in eine SQLite Datenbank oder auch nur auf die Konsole ausgeben.

Weitere Ziel sind unter anderem
  • Das Verdichten der Daten – hierzu muss noch der passende Algorithmus bzw. die richtige Vorgehensweise gefunden werden.
  • Ein Webclient zur Visualisierung der Daten.
Wer jetzt schon neugierig ist, kann sich das Projekt auf GitHub anschauen.