Schlagwort-Archive: C#

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.

Java vs. C#

Vor langer Zeit hatte ich mal über ein kleines Tool von mir berichtet, mit dem man M3U-Dateien erstellen kann. Den Code dazu habe ich jetzt einmal überarbeitet – immerhin war das ursprüngliche Projekt von 2003 😉 Neben dem Upgrade des Projektes auf Netbeans 8 habe ich noch einen Installer erstellt, damit man das unter Windows einfach (De-)Installieren kann 😉

Hintergrund der ganzen Aktion war das etwas ungenau beschriebene Handling von USB-Sticks an einem Ford Autoradio. Das Autoradio unterstützt M3U-Playlists – was liegt also näher, als die gewünschte Musik in Ordnern auf einen USB-Stick zu kopieren, mit meinem Tool die Playlists zu generiern und ab damit ins Auto?

Und weil ich schon dabei war, das Projekt nochmals zu überarbeiten, habe ich das ganze also auch noch in C# erstellt. Allerdings ohne den Installer – den Aufwand habe ich mir gespart 😉

Wie immer kann sich jeder, der sich dafür interessiert, den Source Code hier herunterladen. Viel Spaß damit – für Hinweise & Anregungen bin ich offen.