Energiesparende Wetterstation – Die Software

Gemessen werden Lufttemperatur, Luftdruck und Luftfeuchte, ausgegeben werden diese Werte auf einem Display. Zum Energiesparen greifen verschiedene Maßnahmen: Die Messung wird nur alle 60 Sekunden vorgenommen und die Ausgabe erfolgt dann auf einem E-Ink Display. Dazwischen wird im Schlafmodus abgewartet.

Die Hardware

  • Nano V3
  • 1.54 Inch E-Ink Display (200 x 200)
  • BMP280 Modul

Das E-Ink Display
Die Orientierung der Ausgabe herauszufinden war nicht so einfach. Es gibt nur indirekte Hinweise. Legt man das Display vor sich hin, so das oben auch nach oben zeigt, dann liegt der Nullpunkt ( x und y = 0 ) links oben. Dreht man die Ausgabe mit SetRotate, dann bezieht sich das nur auf die Ausgabe innerhalb des definierten Fensters. Die Orientierung der Fenster muss dann mit width und heigth angepasst werden.

Der Sensor
Das Modul läuft mit einer Spannung von 3,3 Volt. Für die Verbindung zum Nano brauche ich also einen Levelshifter. Ansonsten ist die Verbindung mit I2c und Spannungsversorgung schnell hergestellt.

Der Schlafmodus
Mit der Bibilothek „Narcoleptic“ wird die Sache recht einfach. Die Initialisierung im Setup() machen, aber aufpassen, das man nicht Funktionen mit disable abschaltet, die man eigentlich braucht! Ansonsten einfach mit Narcoleptic.delay(ms) arbeiten. Das war es dann schon.

Fehlersuche oder „Debugging“
Da auf dem Nano V3 nur wenig Platz ist, fällt die Debugausgabe über Serial.print aus. Die braucht einfach zuviel Platz. Also bleibt nur die einfachste Debugausgabe über Portpins und LED’s. Dafür nehme ich eine rote LED als Fehlermeldung und eine grüne LED als OK Meldung.

Ergebnis
Das ganze Ding funktioniert gut. Damit habe ich schon einmal alles an der Software getan, so wenig Strom wie möglich zu verbrauchen. Im nächsten Schritt kommt dann die Hardware…

Wetterstation in Aktion

Der Aufbau mit einem Nano Board

Der Sketch

Ergänzung
Zum echten Stromsparen muss man noch sämtliche LED’s auf dem Nano Board auslöten. Das verwendete E-Ink Display selbst braucht schon recht wenig Strom. Am Sensor läßt sich dagegen erst einmal nichts machen.

Links

E-Ink Display
https://www.waveshare.com/wiki/1.54inch_e-Paper_Module

E-Ink Display Manual
https://www.waveshare.com/w/upload/7/7f/1.54inch_e-paper_module_user_manual_en.pdf

E-Ink Display datasheet
https://www.waveshare.com/w/upload/7/77/1.54inch_e-Paper_Datasheet.pdf

Waveshare E-Ink Library
https://github.com/Bodmer/EPD_Libraries/tree/master/epd1in54

Narcoleptic Library
https://github.com/brabl2/narcoleptic

BMP280 Sensormodul Downloads (datasheet und library)
https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/downloads

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.