Präzises Raspberry Pi Temperaturprofiling mit Python, SQLite und LabVIEW
Auf meinem Raspberry Pi montierte ich einen DS18B20 Sensor direkt über dem Prozessor, um die interne Board-Temperatur zu erfassen. Ziel war es, dieses Profil im Gehäuse abzubilden und in einem klaren visuellen Format darzustellen. Erreicht habe ich dies durch Integration eines leichten Python-Skripts, einer SQLite3-Datenbank und LabVIEW.
Da der Pi selbst relativ kühl läuft und ich nur einen einzelnen Sensor habe, sind die resultierenden Temperaturschwankungen subtil – eine Übertreibung im begleitenden Bild. Dennoch skaliert die Methodik auf jedes Setup.
Ich begann mit einer Python-Routine, die kontinuierlich auf dem Pi läuft. Sie liest den DS18B20-Wert und schreibt den zeitgestempelten Temperaturwert in eine SQLite3-Datenbank auf einem shared Folder, gemountet von einem USB-Stick. Dieselbe Datenbank speichert auch Beschleunigungsmesser-Daten (später hinzuzufügen).
Auf der Host-Seite fragt eine LabVIEW-Applikation die remote SQLite3-Datenbank ab, um die neueste Temperaturmessung abzurufen. Ich nutze das einfache SQLite Toolkit für LabVIEW, das Verbindung und Abfrage vereinfacht. Initial gibt die Abfrage den gesamten Datensatz zurück; in zukünftigen Iterationen werde ich sie verfeinern, nur den letzten Eintrag zu ziehen.
Für die Visualisierung setze ich Sensor Mapping Express VI ein. Der Workflow ist unkompliziert: VI auf ein .stl-Modell des Pi zeigen, Sensorstandorte festlegen, Temperatur-Array einspeisen. Ich konvertierte ein hochauflösendes 3D-Modell des Boards mit Google SketchUp und fügte vier Dummy-Sensorknoten hinzu, um Temperaturgradienten zu illustrieren. Die externen vier Sensoren werden auf festen 0 °C gehalten, während der zentrale Sensor Live-Daten aus der Datenbank zieht. Mit zusätzlichen Sensoren wird die Map zunehmend genauer.
Die Applikation refresht alle 100 ms: Datenbank abfragen, Temperaturwerte-Array konstruieren, Sensor Mapping Express VI aktualisieren. Das Ergebnis ist ein dynamischer Surface-Plot, der sich in Echtzeit ändert, um die interne Pi-Temperatur widerzuspiegeln.
Temperatur-zu-Farb-Mapping:
- 0 °C – R0 G0 B255
- 21,25 °C – R0 G255 B255
- 42,5 °C – R0 G255 B60
- 63,75 °C – R255 G255 B85
- 85 °C – R255 G0 B0
Zusätzlich zur Temperatur habe ich einen ADXL345 Beschleunigungsmesser angeschlossen, um Neigungs- und Nickdaten zu erfassen. Die nächste Phase wird diese Bewegungsdaten mit dem 3D-Modell in LabVIEW verknüpfen, sodass die virtuelle Repräsentation die physische Ausrichtung des Raspberry Pi spiegelt.
Für einen tieferen Einblick in Code, Datenbankschema und LabVIEW-Konfiguration siehe den vollständigen Artikel zum Raspberry Pi Temperaturprofiling mit LabVIEW.
Herstellungsprozess
- Raspberry Pi Temperaturlogger mit 5 $ I2C Sensor bauen
- Raspberry Pi Temperatur- & Feuchtigkeits-Netzwerkmonitor – DIY Setup Guide
- Temperatur mit DS18B20 am Raspberry Pi 2 auslesen
- Professionelle Temperaturüberwachung mit Raspberry Pi und DS18B20
- Temperaturmessung mit Maxim 1-Wire Sensoren und DS2482 I2C-Bridge am Raspberry Pi
- TMP006 Infrarot-Temperatursensor mit Raspberry Pi: Python Library & Setup Guide
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
- Nahtlose Temperatur- & Feuchtigkeitsüberwachung am Raspberry Pi mit EzTemp
- Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
- Raspberry Pi BMP085: Präzise Temperatur- & Druckmessung via I2C