Die Technik hinter TALgrad


Die Basis

Auf meiner Fensterbank liegt ein Raspberry Pi, an dem über die GPIO-Pins ein Thermosensor angeschlossen ist. Dabei handelt es sich um einen SHT21-Sensor, der direkt über den I²C-Bus abgefragt werden kann.
Die Daten werden auf dem Raspberry direkt ausgewertet, protokolliert und an die TALgrad-API geschickt.
Allerdings passiert das nur alle 15 Minuten – um aktuellere Daten auf der Seite anzeigen zu können, kann der Server bei Bedarf (= bei Aufruf der Seite) die aktuelle Temperatur direkt vom Raspberry anfragen. Dieser hat eine öffentliche IP-Adresse und ist daher direkt für den TALgrad-Server erreichbar.
Wann immer neben der Temperatur „Jetzt gerade” angezeigt wird, hat der Server nicht auf eine zwischengespeicherte Version der Temperatur zurückgegriffen, sondern sie live vom Raspberry angefragt!

Raspberry-Platine mit Logo, (C) Max Grobecker


Die Software

Der Sensor wird mit einer in C++ geschriebenen Software direkt auf dem Raspberry Pi abgefragt. Zeitgleich wird eine CSV-Datei angelegt, in der der Temperaturverlauf auf 15min genau aufgezeichnet wird. Die Temperaturdaten aus der CSV-Datei werden regelmäßig an den TALgrad-Server gesendet, damit sie dort in einer Datenbank abgelegt werden können. Aus den Datenbankdaten werden dann die Durchschnittstemperaturen der letzten 24 Stunden errechnet.
Zusätzlich wird eine Schnittstelle bereitgestellt, mit der die aktuelle Temperatur von anderen Geräten abgefragt werden kann. So kommt zum einen der TALgrad-Server an die anzuzeigende Temperatur, zum anderen kann ich damit auch die Temperatur direkt auf einem angeschlossenen Display anzeigen – das war ja auch eigentlich das ursprüngliche Ziel...

Am Raspberry angeschlossenes Display mit aktueller Temperatur, (C) Max Grobecker