Wetterstation mit Arduino, BME280 und ESP-32

Gepostet in: Arduino - Partnerlinks enthalten
Hinweis!
Dieser Beitrag enthält min. einen Partnerlink. Info
Werbung:
Aufgepasst!
Günstige Hardware und kostenlose eBooks für den Arduino gibt es bei AZ Delivery

Vor Kurzem habe ich mit dem Gedanken gespielt, mir eine Wetterstation für den Balkon zu kaufen.

Aus keinem bestimmten Grund, sondern einfach nur, weil ich Bock hatte, mir die Daten, die entstehen, anzugucken.

Wie passend, dass schon über ein Jahr lang ein BME280 und ein ESP-32 Dev Kit C in meiner Schublade liegen und dort vor sich hin gammeln.

Grund genug, sich endlich mal damit auseinanderzusetzen und was Feines daraus zu bauen – eine kleine Wetterstation.

Bisher hatte ich den ESP-32 nicht angefasst, weil die Einrichtung unter Arduino bisher recht nervig sein sollte. Allerdings ist dieser Prozess nun arg vereinfacht worden und wird z.B. auf der Seite esp32-server.de erläutert.

Wechseln Sie zum „Datei“/“Voreinstellungen“, Tragen Sie in Eingabefeld  „Zusätzliche Boardverwalter-URLs“. folgende URL:  https://dl.espressif.com/dl/package_esp32_index.json . jetzt können Sie über „Werkzeuge“ -> „Board“ -> „Boardverwalter“ esp32 suchen und installieren.

http://esp32-server.de

Weiterhin benötigt man noch die Adafruit BME280 Library und die Adafruit Unified Sensor Library, um den BME280 ansteuern zu können. Beide Bibliotheken kann man über die IDE beziehen.

Anschließend wurde ein wenig gelötet und programmiert.

Dabei bin ich auf ein paar Herausforderungen getroffen, die es zu lösen galt.

Zum einen der unglaublich hohe Stromverbrauch im aktiven Modus des ESP-32, denn dadurch dass das Ding neben WLAN auch noch Bluetooth und 40nm Low-Power-Technologie an Bord hat, verbraucht es doch deutlich mehr Strom als notwendig.

Meine Powerbank mit 5200mAh war nach 1,5 Tagen leergelutscht. Nicht gut.

Nun verhält es sich aber so, dass man den ESP-32 in einen von drei Stromsparmodi versetzen kann. Dabei ist es sogar möglich, einen Zeitwert mitzugeben, nach dessen Ablauf der ESP-32 von allein wieder startet. Dies ist möglich, da der ULP Co-Prozessor weiterhin mit Strom versorgt wird, während alle anderen Stromfresser schlafen.

Also den Code nochmal umgestellt und das Problem wurde zwar nicht aus der Welt geschafft, aber zumindest reduziert.
Ziel war es, die Wetterstation möglichst lange mit einer Batterie CR123A zu betreiben.

Die andere Herausforderung war das Gehäuse. Da der BME280 nicht nur die Temperatur, sondern auch die Luftfeuchte messen kann, darf es sich um kein geschlossenes Behältnis handeln, da sonst die Werte verfälscht werden.

Eine kurze Recherche ließ mich die TFA Schutzhülle von Dostmann finden, die wie geschaffen für mein Vorhaben zu sein schien. Gekauft.

Heute wurde dann alles zusammengebaut und auf dem Balkon an einer schattigen Stelle montiert.

Mein „Weatherino“ sendet die Daten übrigens an ein php-Skript, welches eine mySQL mit eben diesen füttert und bei Bedarf auf wetter.janbpunkt.de wieder ausgibt.

Nachfolgend ein paar Bilder und der Quellcode. Die Wetterdaten sind auf https://wetter.janbpunkt.de einsehbar

Und nun bin ich gespannt, wie lange die Batterie durchhält.

Update

Nachdem das mit der autarken Stromversorgung alles nix war, weil trotz diverser Optimierungen am Code (sleep-Mode etc pp) der Stromverbrauch zu hoch war und ich die Akkus (ich bin von der o.g. Batterie auf 4x 1,2V Akkus umgestiegen) alle paar Tage wechseln musste, hab ich nun eine Steckdose in die Nähe verlegt und betreibe den Weatherino per USB.

LoRa wäre wohl noch eine Option gewesen, aber ich wollte mir nicht noch ein neues Board kaufen.

Außerdem konnte ich so den Code ein wenig umbauen und kann selbigen zukünftig per WLAN anpassen, sollte dies notwendig sein, da das Board dauerhaft verbunden ist.


Wenn Dir dieser Artikel geholfen und/oder gefallen hat, freue ich mich, wenn Du janbpunkt.de mit einer kleinen Spende per PayPal unterstützt. Jeder Betrag ist willkommen.



Über einen Kommentar freue ich mich natürlich auch :-)

The following two tabs change content below.

Jan B-Punkt

CEO, bitch!
Ich bin Jan, der Hauptakteur bei janbpunkt.de. Naja, eigtl. bin ich sogar der einzige Schreiberling hier. 1980 in Eckernförde geboren, lebe ich aktuell mit meiner Frau in Kiel und habe Spaß an Technik, Gadgets und dem Internet. Außerdem fotografiere und zocke ich gern. Verständlich, dass die meisten Artikel sich daher auf eben jene Themen beziehen.
Abonnieren
Benachrichtige mich bei
9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
Zeige alle Kommentare
Andreas
10 Monate zuvor

Wie lang reichen denn jetzt die Batterien?

Jan
9 Monate zuvor

Hallo Jan,

an welchen PINs am ESP hast du den BME Sensor angeschlossen?

LG
Jan

michael
2 Monate zuvor
Reply to  Jan B-Punkt

hallo jan,
als blutiger anfänger verwirrt mich das etwas. meinst du vielleicht SCL und SDA ?

Mr. x
8 Monate zuvor

Hi Jan,
mich würde interessieren an welche PINs ich die cr123a anschließen soll? Habe ein ESP32 Nodemcu von joy-it. Könntest du mir bitte sagen an welche PINs an deinem Board du die Batterie angeschlossen hast? Danke!

Lars
4 Monate zuvor

Hallo Jan,

dein Projekt hat mich dazu inspiriert meine eigene Wetterstation zu bauen.
Mein Aufbau ist im Prinzip identisch zu deinem, allerdings frage ich mich wie du die Wetterdaten so schön darstellst (mit wählbarem Zeitfenster und Extremwerten). Könntest du mir den PHP/HTML Code deiner Webseite als Vergleich/Hilfestellung schicken?

Liebe Grüße und Danke im voraus
Lars