Wetterdaten mit Open-Meteo auf einem TFT anzeigen

Kate­go­rien: ,


Ziele des Projekts

Auf TFT-Modu­len ver­schie­de­ner Grö­ße und mit unter­schied­li­chen Mikro­con­trol­lern …

  • die aktu­el­len Wet­ter­da­ten von Open-Meteo
  • die Wet­ter­vor­her­sa­ge für drei Tage mit Tem­pe­ra­tur und Regen­wahr­schein­lich­keit
  • Wet­ter­da­ten und Vor­her­sa­ge im Wech­sel

… ange­zeigt

Open-Meteo

Open-Meteo ist eine quell­of­fe­ne Soft­ware, die unter der Lizenz ⤷CC BY 4.0 ver­öf­fent­lich wird. Die Gesell­schaft hat ihren Sitz in der Schweiz. Für die Nut­zung ist kei­ne Anmel­dung erfor­der­lich. Die nicht-kom­mer­zel­le Nut­zung erlaubt höchs­tens 10.000 Auf­ru­fe pro Tag, 5.000 pro Stun­de und 600 pro Minu­te.
Quel­le: ⤷https://open-meteo.com/en/terms

Vorbereitungen

DWD ICON API

Die Platt­form Open-Meteo stellt Wet­ter­da­ten aus ver­schie­de­nen Quel­len zur Ver­fü­gung, ich habe mich für den Deut­schen Wet­ter­dienst ent­schie­den:

  • aktu­el­le Wet­ter­da­ten:
    Tem­pe­ra­tur, Luft­feuch­tig­keit, Luft­druck, Nie­der­schlag, Wind­stär­ke, Wind­rich­tung
  • 7-Tage Wet­ter­vor­her­sa­ge tage­wei­se
    Tem­pe­ra­tur minimum/maximum, „gefühl­te“ Tem­pe­ra­tur, Regen­wahr­schein­lich­keit, Sonnenaufgang/Sonnenuntergang

Als Ers­tes musst du die Zeit­zo­ne wäh­len und über den But­ton „Search“ dei­nen Ort suchen:

⤷https://open-meteo.com/en/docs/dwd-api

Du kannst den Auf­ruf der API mit den gewähl­ten Para­me­tern über­neh­men, du musst ledig­lich in Zei­le 79 die für dei­nen Ort gül­ti­gen Koor­di­na­ten inner­halb der Adres­se aus­tau­schen:

Konfiguration der Mikrocontroller

Erläuterung zu JSON

JSON (Java­Script Object Nota­ti­on) dient dem Aus­tausch von Daten zwi­schen einem Ser­ver und einer Web­an­wen­dung. JSON-Daten sind eine Samm­lung von Schlüs­sel-Wert-Paa­ren. Die Biblio­thek fil­tert aus den Roh­da­ten die­se Schlüs­sel-Wert-Paa­re her­aus.

aktu­el­les Wet­ter
Wet­ter­vor­her­sa­ge

Benötigte Bibliotheken

Bibliothek Adafruit ILI9341
Bibliothek U8g2 For Adafruit GFX

Programme TFT 320×240 Pixel (ILI9341.h)

Aktuelles Wetter

Bibliotheken und Variable

die SPI-Pins müs­sen je nach ver­wen­de­ten Mikro­con­trol­ler gesetzt wer­den

Das ESP32-Modul mit TFT 320×240 Pixeln wird mit unter­schied­li­chen Trei­bern ange­spro­chen:

Der setup-Teil

  • die ver­füg­ba­ren WiFi-Net­ze wer­den als Wer­te-Paar defi­niert:
    SSID des Routers/Repeaters, Pass­wort
    WiFiNetzwerke.addAP("Router_SSID", "xxxxxxxx");
    WiFiNetzwerke.addAP("Repeater_1", "xxxxxxxx");
  • das Pro­gramm ver­sucht eine WiFi-Ver­bin­dung mit dem WiFi-Netz mit der größ­ten Signal­stär­ke (RSSI) auf­zu­bau­en
  • Zeit­zo­ne bestim­men
    ntp.ruleDST("CEST", Last, Sun, Mar, 2, 120);
    CEST: Cen­tral Euro­pean Sum­mer­ti­me
    Beginn euro­päi­sche Som­mer­zeit letz­ter Sonn­tag im März 2 Uhr GMT + 2 Stun­den
    CET: Cen­tral Euro­pean Time
    Beginn Nor­mal­zeit letz­ter Sonn­tag im Okto­ber 3 Uhr GMT + 1 Stun­de
    ntp.ruleSTD("CET", Last, Sun, Oct, 3, 60);
  • ntp star­ten
    Zeit­ser­ver deut­scher NTP-Pool
    ntp.begin("de.pool.ntp.org")
  • jeder Anwei­sung für die Anzei­ge muss u8g2Schriften vor­an­ge­stellt wer­den:
    u8g2Schriften.setFont(u8g2_font_helvB14_tf);
    u8g2Schriften.setForegroundColor(WEISS);
    u8g2Schriften.setBackgroundColor(SCHWARZ);
    u8g2Schriften.setCursor(1, 20);
    u8g2Schriften.print("...");

Der loop-Teil

Wettervorhersage

Wetterdaten und Vorhersage im Wechsel


Letzte Aktualisierung: Okt. 4, 2026 @ 17:10