Benutzer-Werkzeuge

Webseiten-Werkzeuge


iot:innenraumthermometer

Dies ist eine alte Version des Dokuments!


Innenraumthermomether

Funktionen:

  • Misst Temperatur, Luftfeuchtigkeit und Luftdruck
  • Zeigt Temperatur, Luftfeuchtigkeit und Batteriestatus auf einem E-Paper-Display an
  • Ist batteriebetrieben

Elektronik

Das Innenraumthermometer läuft auf einem LOLIN D32. Zur Temperaturmessung wird der BME280 verwendet. Die Batteriespannung wird mit dem integrierten Spannungsteiler überwacht. Wie das gemacht wird, wird in diesem Video beschrieben. Alle gemessenen Daten werden auf einem Waveshare e-Paper-Display mit 2,9 Zoll Bildschirmdiagonale (Datenblatt) dargestellt.

Batteriebetriebene Geräte sollen selbstverständlich einen möglichst geringen Stromverbrauch haben. Ein großer Vorteil des ESP32 gegenüber dem Teensy, den ich in anderen Projekten verwendet habe, ist, dass man den Prozessor in einen Tiefschlafmodus versetzen kann, aus dem er sich nach einer definierten Zeit selbst wieder aufwecken kann. Im deep sleep-Modus hat der ESP 32 einen sehr geringen Stromverbrauch, allerdings hat der Lolin D32 einige Funktionen, die kontinuierlich an der Batterie saugen. Im Internet finden sich verschiedene Berichte, die den Stromverbrauch des Lolin D32 im Tiefschlafmodus mit 150 µA 1) oder 70 µA2) angeben. Bei eingeschaltetem WiFi liegt der Stromverbrauch bei ca. 120 mA.3) Das Display verbraucht laut Datenblatt und eigenen Berechnungen im Ruhemodus ca. 5 µA und während der Aktualisierung ca. 8 mA. Leider finde ich keine Angaben zum Stromverbrauch des Adafruit BME280-Sensors.

Die Laufzeit von batteriebetriebenen Geräten lässt sich mithilfe dieses Onlinerechners abschätzen. Der verwendete geschützte Panasonic NCR18650B Li-Ion-Akku hat eine gemessene Kapazität von 3270 mAh.4) Demnach dürfte der verwendete Akku ca. 100 bis 130 Tage halten, was nicht gerade spitzenmäßig, aber akzeptabel ist. Wie lange der Akku tatsächlich hält, werden die kommenden Monate zeigen.

Es gilt außerdem herauszufinden, was es mit dem EN-Pin auf dem Lolin D32 auf sich hat. Mit ihm lässt sich der Spannungsregler deaktivieren, aber wie das geht und was das bringt, habe ich noch nicht herausgefunden.

Als Sensor kommt der Adafruit BME280 zum Einsatz. Der BME280 von Bosch soll einer der genauesten Sensoren in dieser Preisklasse sein, wobei sich diese Aussage auf Veränderungen bezieht. Der Temperatursensor hat eine Genauigkeit von +/- 1 °C und misst tatsächlich höhere Temperaturen als alle anderen Thermometer, die ich in meinem Haushalt auftreiben konnte. Der BME680 misst noch einmal im 1°C höhere Temperaturen als der BME280. Es wird deutlich, dass die absoluten Werte wohl nur eine grobe Orientierung bieten können. Im Grunde genommen müsste man die Sensoren mit einem geeichten Thermometer vergleichen und einen individuellen Offset programmieren.

Mechanischer Aufbau

Das Gehäuse des Innenraumthermometers ist aus PLA gedruckt. Um weitgehend auf Support-Strukturen verzichten zu können und um bei notwendigen Anpassungen nicht alles neu drucken zu müssen, wurde das Gehäuse in mehreren Teilen gedruckt. Die Einzelteile werden mit PT-Schrauben miteinander verbunden. Von unten ist ein geschützter 18650-Lipo zugänglich. Die Kontakte habe ich einem Keystone Batteriehalter entnommen. Sobald der Gehäusedeckel fertig ist, lade ich die Daten in das Thingyverse hoch.

Programmierung

Wie bei allen meinen jüngeren Elektronikbastelprojekten werden wichtige Entwicklungsstufen der Programmierung dokumentiert werden.

Datenausgabe

Momentan können die Daten von diesem Sensor bei OpenSenseMap abgerufen werden.

https://opensensemap.org/explore/5b8105a27c5191001974d5ac

Die Ausgabe der Sensordaten können als iFrame in jede Webseite eingebunden werden. Wie das geht, wird hier beschrieben.

Tags: #Arduino #ESP32

iot/innenraumthermometer.1536994430.txt.gz · Zuletzt geändert: 18.05.2023 09:07 (Externe Bearbeitung)