Znalost moderního programování otevírá dveře budoucnosti.

Meteorologická stanice s integrací API a webovým dashboardem

Meteorologická stanice

s integrací API

a webovým dashboardem

Sdílet příspěvek

Marek Walkarz, Matyáš Krabica, Ondřej Kufa, Erik Herremans

V rámci naší ročníkové práce jsme se rozhodli propojit světy mikrokontrolérů, programování v Pythonu a moderních webových technologií. Cílem projektu bylo vytvořit funkční meteorologickou stanici, která dokáže nejen sbírat data v reálném čase pomocí fyzických senzorů, ale také je kombinovat s daty z globálních meteorologických služeb a vše přehledně zobrazit uživateli.

Architektura řešení a technické vybavení

Projekt je rozdělen do tří klíčových segmentů: fyzická část (hardware), datová vrstva (Python a databáze) a uživatelské rozhraní (web).

Hardwarová specifikace

Základem fyzické stanice je Arduino UNO R3 (klon s čipem CH340), což je osvědčená vývojová deska založená na mikrokontroléru ATmega328P. Pro snímání veličin jsme zvolili vysoce přesný modul BME280, který je schopen měřit teplotu, vlhkost i barometrický tlak zároveň.

Naměřené hodnoty jsou ihned zobrazeny na modrém LCD displeji 1602 s I2C převodníkem, což minimalizuje množství potřebné kabeláže. Celé zařízení je uloženo v ochranném krytu z materiálu PLA.

Softwarové řízení Arduina

Kód pro Arduino je postaven na jazyce C/C++ s využitím tří stěžejních knihoven:

Wire.h: Zajišťuje komunikaci po sběrnici I2C mezi Arduinem, senzorem a displejem.

Adafruit_BME280.h: Umožňuje snadné čtení dat ze senzoru prostředí.

LiquidCrystal_I2C.h: Stará se o formátování textu na displeji a ovládání podsvícení.

Zpracování dat a backend v Pythonu

Srdcem celého systému je serverová aplikace napsaná v jazyce Python s využitím frameworku Flask. Tato část funguje jako "mozek" projektu, který vykonává následující operace:

1. Sběr dat z Arduina: Pomocí knihovny PySerial program načítá data z fyzického senzoru přes sériový port.

2. Integrace OpenWeather API: Abychom mohli porovnat lokální data s profesionální předpovědí, aplikace pravidelně stahuje meteorologické informace z globální služby OpenWeather.

3. Analýza a statistiky: Pomocí pokročilých knihoven Pandas a NumPy systém automaticky počítá trendy vývoje teploty a základní statistické ukazatele.

Databázové úložiště

Všechna získaná data (datum uložení, teplota, vlhkost, tlak) se ukládají do relační databáze MariaDB/MySQL pomocí ORM nástroje SQLAlchemy. Databáze je navržena tak, aby striktně mohla rozlišovat zdroj dat (API vs. Arduino), což umožňuje jejich pozdější filtrování.

Webové rozhraní a uživatelský zážitek

Webová stránka představuje hlavní výstup naší práce. Zaměřili jsme se na čistý grafický design, který je pro uživatele přehledný a intuitivní.

Aktuálnost: Stránka zachycuje veškeré aktuality spojené s aktuálním počasím v reálném čase.

Interaktivita: Uživatelé mohou pomocí interaktivních prvků aktivně pracovat s daty a přepínat mezi zdroji (API/Arduino).

Export dat: Pro potřeby dalšího zpracování umožňuje aplikace exportovat historická data do formátu CSV.

Týmová spolupráce a závěr

Tato ročníková práce nebyla jen o programování, ale především o komunikaci a schopnosti skloubit vícero technologických celků do jednoho funkčního produktu. Podařilo se nám realizovat komplexní aplikaci, která je připravena pro reálný provoz. Dokázali jsme si, že znalosti získané v předmětech programování a vývoj aplikací umíme přetavit v užitečný a moderní nástroj.

Video funkce zařízení

PUBLIKOVÁNO
19.04.2026, 10:07
ODKAZ
https://www.weloveit.education/Article/20260419-Meteorologicka-stanice-s-integraci-API-a-webovym-dashboardem/
asfdasd
asfdasd
asfdasd
asfdasd
asfdasd
asfdasd

Začni hned teď
pracovat na zlepšení svých znalostí.

Vytvoř si vlastní síť zkušeností, přesně tak, jak potřebuješ.