Stacja pogodowa z predykcją AI – prognoza pogody DIY

🔧 Poziom trudności:

Średnio zaawansowany – Zaawansowany (z AI)

⏱️ Czas realizacji:

2–4 godziny (+ czas na zbieranie danych do AI)


🎯 Co zbudujesz?

Zrobisz kompaktową stację pogodową, która:

  • mierzy temperaturę, wilgotność, ciśnienie i inne parametry,
  • pokazuje aktualne dane na ekranie OLED,
  • uczy się prognozować pogodę na podstawie trendów,
  • działa offline, lokalnie – ale można ją też podłączyć do Wi-Fi.

🔩 Lista komponentów

KomponentOpisKoszt orientacyjny
ESP32Mikrokontroler z Wi-Fi20–30 zł
Czujnik BME280 lub DHT22Pomiar temperatury, wilgotności, ciśnienia10–20 zł
Ekran OLED (I2C)Do wyświetlania danych10–15 zł
Opcjonalnie: karta SDLogowanie danych do pliku10 zł
Obudowa / stelażOchrona i estetyka0–15 zł
Zasilanie 5VŁadowarka USB / powerbank10–20 zł

🧠 Jak działa?

  • Stacja mierzy dane co określony czas (np. co 10 minut),
  • Dane są zapisywane i analizowane przez algorytm (lub AI model),
  • Wyświetlany jest:
    • aktualny pomiar,
    • prognoza pogody na najbliższe godziny.

W wersji z AI – predykcja może uwzględniać lokalne warunki i uczyć się z historii.


📐 Schemat działania

  1. Pomiar (temp + wilgotność + ciśnienie)
  2. Analiza trendów – czy ciśnienie rośnie/spada, jak szybko zmienia się temp
  3. Wniosek: czy będzie padać, ociepla się, ochładza itp.
  4. AI może nauczyć się powiązań typu:
    • spadek ciśnienia → deszcz
    • gwałtowny wzrost temp + wilgotność → burza

🔌 Schemat połączeń

  • BME280 (I2C)
    • VCC → 3.3V
    • GND → GND
    • SDA → GPIO 21
    • SCL → GPIO 22
  • OLED (I2C) – te same piny (można łączyć I2C)

📟 Kod (Arduino IDE – odczyt danych + wyświetlenie)

Przykład użycia BME280 + OLED:

#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_BME280.h>

Adafruit_BME280 bme;
Adafruit_SSD1306 oled(128, 64, &Wire, -1);

void setup() {
Wire.begin();
bme.begin(0x76); // adres BME280
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(SSD1306_WHITE);
}

void loop() {
float temp = bme.readTemperature();
float hum = bme.readHumidity();
float pres = bme.readPressure() / 100.0F;

oled.clearDisplay();
oled.setCursor(0, 0);
oled.print("Temp: "); oled.print(temp); oled.println(" C");
oled.print("Wilg: "); oled.print(hum); oled.println(" %");
oled.print("Cisn: "); oled.print(pres); oled.println(" hPa");
oled.display();

delay(60000); // co minutę
}

🧠 AI – prognoza lokalna

  1. Zbieraj dane przez kilka dni (min. 3–5 dni, co 15 min)
  2. Dodaj etykiety – „słonecznie”, „deszczowo”, „burza”, „chłodno”
  3. Trenuj model w Edge Impulse lub Roboflow
  4. Eksportuj do .tflite i uruchom lokalnie na ESP32 (lub Raspberry Pi)

AI uczy się wzorców i może powiedzieć np.:

  • „Deszcz w ciągu 2h”
  • „Burza nadchodzi”
  • „Uwaga: gwałtowne ochłodzenie”

📲 Opcje rozszerzone

  • Wysyłanie danych na e-mail lub Google Sheets
  • Wyświetlanie na aplikacji (np. Blynk, MQTT, Home Assistant)
  • Alarm pogodowy z buzzerem lub diodą RGB
  • System porównawczy z pogodą online (np. z OpenWeather)

🧰 Montaż

  • Płytkę z czujnikami zamontuj w przewiewnym miejscu, ale osłoniętym od deszczu
  • Obudowa z otworami wentylacyjnymi lub daszkiem
  • Zasilanie z powerbanku lub panelu słonecznego 🌞

✅ Efekt końcowy

  • Lokalna stacja pogodowa
  • Czytelny ekran z aktualnymi danymi
  • Prognoza oparta na trendach lub modelu AI
  • Możliwość rozbudowy o logi, integrację z domem, automatyczne alerty

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry