Hallo Raspberry Pi Community,
mit diesem Thread würden wir gerne uns sowie unser aktuelles Projekt vorstellen. Wir sind zwei Studenten in den letzten Zügen des Studiums der Gebäudetechnik. Im Verlauf der letzten Jahre haben wir uns mit unterschiedlichen Gewerken und technischen Anlagen beschäftigt. Dabei ist uns eine wichtige physikalische Größe immer wieder untergekommen, die Temperatur. Ob Büro- oder Privatgebäude, technische Anlagen (Heizung, Lüftung, Kühlung), industrielle Fertigungsbetriebe oder sonstige Anwendungsgebiete, überall ist es erforderlich Temperatur verlässlich zu messen. Aus diesem Grund haben wir vor einiger Zeit angefangen uns mit dem Thema Raspberry Pi auseinanderzusetzten. Dadurch sind über die letzten Jahre viele kleine Einzelprojekte entstanden, wobei auch häufig Temperatur gemessen wurde. Obwohl jedes Einzelprojekt individuell gestaltet war, wurden z.B. Skripte zum Auslesen der Temperatur immer wieder neu geschrieben. Dieser Anlass hat uns dazu bewegt ein „Stück Software“ zu entwickeln, mit dem der Ausleseprozess von Temperatursensoren effizient standardisiert und automatisiert wird. Sprich eine Anwendung, die immer wieder zum Einsatz kommen kann sobald Temperatursensoren im Spiel sind. In aktueller Version werden nur DS18B20 Sensoren unterstütz, da unserer Erfahrung nach dieser Sensortyp in den meisten Projekten, die Temperatur und Raspberry Pi verbinden, eingesetzt werden.
Unsere Ziele zu Beginn des Projektes waren folgende:
- Entwicklung einer stabilen, robusten und flexiblen Anwendung, die einfach zu bedienen ist und schnell zum Ziel führt (Hardware anschließen -> Programm starten [font="Wingdings"]->[/font] Ergebnisse auswerten)
- Die Möglichkeit Sensoren nicht nur einmalig auszulesen, sondern mittels der Anwendung ein „Monitoring“ mit einem benutzerdefinierten Messintervall sowie einer Messdauer zu starten
- Mehrere Temperatursensoren gleichzeitig zu betreiben
- Ausgabe der Messwerte in ein gängiges Format
- Detaillierte Aufzeichnung (logging) der Messvorgänge
Bisher haben uns unsere Ziele zu folgenden Hauptfunktionen der Anwendung geführt:
- Einfaches Auslesen aller angeschlossener Sensoren
- Monitoring Funktion mit der Möglichkeit Messintervall und Messdauer zu bestimmen
- Werte in einer .csv-Datei speichern
- Auslesevorgänge detailliert loggen
- Automatisches checken der Einstellungen vor dem Start des Monitoring
- Alle Funktionen lassen sich entweder über das eigens entwickelte Skript oder direkt in Python über den Modulimport aufrufen
Um die Möglichkeiten des Skripts noch einmal zusammenzufassen:
Es prüft die notwendigen Voraussetzungen für die Verwendung von 1-wire Sensoren wie den DS18B20. Es ermöglicht das einmalige auslesen der Sensoren genauso wie das abfragen der Temperaturwerte über einen gewünschten Zeitraum in einem gewünschtem Intervall. Die Messwerte können in einer csv-Datei gespeichert werden und die notwendigen Prozesse können in einer log-Datei erfasst werden.
Das ganze Projekt wurde auf GitHub entwickelt und unterliegt der MIT-Lizenz. Zudem ist das Packet auf PyPi hochgeladen und kann somit bequem über pip installiert werden. Zu guter Letzt wurde eine Dokumentation geschrieben, die auch auf PyPi zugänglich ist. Hier werden die Funktionen erklärt und ein kurzes Beispiel zeigt den Umgang mit der Software.
Links:
Unsere aktuelle ToDo-Liste für die nächsten Wochen/Monate des Projektes sieht folgendermaßen aus:
- Logging und .csv Export effizienter gestalten (andere Dateiformate bzw. Komprimierung)
- Reporting Funktion in Form von zusätzlicher Ausgabedatei (Mittelwerte, Min, Max, Median, Standardabweichung über Zeitintervalle)
- PDF Zusammenfassung mit Auswertung und grafischer Darstellung
- Hardware Tutorial
Und jetzt kommt die große Frage, was möchten wir von euch? Die Anwendung befindet sich momentan in der ersten Beta-Phase und bedarf daher einiger User die sich bereit erklären würden die Anwendung zu testen, um sie auf die Punkte Fehler, Bedienbarkeit, Funktionen etc. zu untersuchen.
Unsere Bitte an die Community wäre daher uns Antworten zu folgenden Punkten zu geben:
- Allgemeines Feedback / Kritik(!)
- Gewünschte zusätzliche Funktionen
- Änderungswünsche an bestehenden Funktionen
- Feedback zur Verständlichkeit der Dokumentation
- Kommentare zum Code (nur für diejenigen die Lust haben so tief einzusteigen oder sich herausgefordert fühlen)
- Rückmeldung zu den geplanten ToDo’s
- Wunsch nach anderer Hardwareunterstützung
- Jegliche sonstige konstruktive Kritik
Vielen Dank an euch alle und viele Grüße,
Henrik und Aurofree