Node Red und Code – Wetter und Außentemperatur (OLED-Shield, OpenWeatherMap)

Zur Ansteuerung des OLED-Shields wurden die bereits bekannten Bibliotheken ‘Adafruit_GFX.h’ und ‘Adafruit_SSD1306.h’ verwendet. Zur Schnittstellenkommunikation wurden zudem die Bibliotheken ‘Wire.h’ und ‘SPI.h’ eingebunden. Zur Dekodierung von Dokumenten im JSON-Format wurde darüber hinaus die Bibliothek ‚ArduinoJson.h‘ eingesetzt. Zur Herstellung einer Internetverbindung wird die Bibliothek ‚WifiManager.h‘ verwendet.

Über den hinterlegten persönlichen OpenWeatherMap API-Schlüssel, die als Identifikator fungiert, wird die aktuelle Wetter-ID abgerufen, mithilfe derer Wetterzustände kodiert werden. Auf diese Weise wird die Information um die aktuelle Wetterlage empfangen. Die empfangenen Wetter-IDs dienen dann im weiteren Verlauf dazu mithilfe einer Bedingungsschleife ein bestimmtes Bildchen auf dem OLED-Display ausgegeben, das im Code im Bitmap Format kodiert wurde. Auf dieses Weise gibt es für jeden berücksichtigten Wetterzustand ein Bild im Bitmap Format, das in Abhängigkeit von der aktuell empfangenen Wetter-ID, also dem Wetterzustand, auf dem Display erscheint.

Zusätzlich dazu wird mithilfe der OpenWeatherMap Schnittstelle, die aktuelle Außentemperatur abgefragt und mithilfe der oben genannten Bibliotheken auf dem Display neben dem Wetter-Icon ausgegeben.

In Abbildung 1 ist das Display zu sehen, auf dem der aktuelle Wetterzustand in Form eines Wetter-Icons und die aktuelle Temperatur ausgegeben wird.

Abb. 1: Auf dem OLED-Display ist ein Wetter-Icon zu sehen, das den aktuellen Wetterzustand (bewölkt) anzeigt und daneben ist die aktuelle Außentemperatur in Celsius angegeben

Die Wetter-Icons, die von der folgenden Seite bezogen wurden, wurden einzeln ausgewählt und manuell mithilfe eines Bitmap-Converters kodiert.

In der unten aufgeführten Tabelle sind die genutzten Wetter-Icons, der ihnen im Code zugeordnete Wetterzustand bzw. Wetter-ID und der jeweilige Künstler des Wetter-Icons vermerkt.

Wetter-IconWetter-IDs und WetterzustandQuelle bzw. Künstler des Icons

img_cloudy
803, 804
(Mittel bis stark bewölkt)
Icons mad by Freepik from www.flaticon.com

img_sun_cloud
801, 802
(Leicht bis mäßig bewölkt)
Icons made by Freepik from www.flaticon.com

img_drizzle
300, 301, 302, 310, 311, 312, 313, 314, 321
(Nieselregen in allen möglichen Ausführungen)
Icons made by Freepik from www.flaticon.com

img_fog
701, 711, 721, 731, 741, 761, 762
(Nebel, Dunst, Staub und sonstige
sichtvermindernde Wetterzustände)
Icons made by Freepik from www.flaticon.com

img_heavy_rain
502, 503, 504, 511, 522, 531
(mittlerer bis sehr starker Regen)
Icons made by Freepik from www.flaticon.com

img_rainy
500, 501, 520, 521
(leichter bis mittlerer Regenfall)
Icons made by bqlqn from www.flaticon.com

img_snow
600, 601, 602, 611, 612, 613, 615, 616, 620, 621, 622
(Schneefall in allen möglichen Ausführungen)
Icons made by Freepik from www.flaticon.com

img_squall
771, 781
(Starke Windböen und Tornado)
Icons made by fjstudio from www.flaticon.com

img_sun
800
(Klarer, unbewölkter Himmel)
Icons made by Good Ware from www.flaticon.com

img_thunder
211, 212, 221, 210
(Gewitter ohne Regen)
Icons made by bqlqn from www.flaticon.com

img_thunder_rain
201, 200, 202, 230, 231, 232
(Gewitter mit Regen)
Icons made by Freepik from www.flaticon.com

img_error
Wird angezeigt, wenn eine andere Id bzw. Nummer oder andere Daten übermittelt werden als die bekannten bzw. gewollten.Icons made by Smashicons from www.flaticon.com
Tabelle 1: zeigt Wetter-Icons mit ihren verknüpften Wetter-IDs bzw. Wetterzuständen unter Erwähnung des Künstlers der einzelnen Icons

Eine Übersicht zu allen auftretenden Wetter-IDs ist hier zu finden.

Anders als bei den anderen Hardware-Einheiten wurden in diesem Fall keine Topics angelegt, mithilfe derer die Werte (Wetterzustand, Außentemperatur) in das Node Red Dashboard übertragen werden. Stattdessen werden die Daten direkt vom Node Red Dashboard über den OpenWeatherMap API-Schlüssel bezogen und im Dashboard veranschaulicht, wie in Abbildung 2 zu sehen. In Abbildung 3 ist das dazugehörige Node Red Flowchart abgebildet.

Abb. 2: Ansicht im Node Red Dashboard – aktueller Wetterzustand mit angegebener Außentemperatur, Zeiten für den Sonnenauf und -untergang und eine kleine Wettervorhersage für den kommenden Tag als auch für die nächsten vier Tage
Abb. 3: Das Node Red Flowchart für die Ansicht in Abb. 2

Das Flowchart in Abbildung 3 wurde mithilfe einer Vorlage erstellt (siehe Ressourcen), die individuell angepasst wurde. Angepasst wurde die Sprache, die Region für den Bezug des Wetterzustandes, der API-Schlüssel und die Farbe im Dashboard. Die im Node Red Dashboard genutzten Wetter-Icons sind bereits bei Node Red angelegt und bedurften keiner zusätzlichen Installation.

Der kommentierte Code kann hier eingesehen werden: Zum Code.

Ressourcen

Die Beiträge unter den folgenden Links wurden als Inspirations- und Informationsquellen genutzt.

Vorlage für das Node Red Dashboard: https://flows.nodered.org/flow/d7af9f5d6f6923324466c58ea4f0655f

https://learn.adafruit.com/steampunk-cameo-necklace/bitmaps-and-code

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*