←Zpět / Meteostanice - komponenty

Jak je stanice poskládaná

Přehled hardwaru a softwaru: RS485/Modbus meteostanice, USB převodník, webkamera, serverová část a pipeline (Python → OpenAI analýza → PHP web).

Hardware (overview)

Jednoduché schéma toku dat – od senzorů až po finální web.

Struktura meteostanice

Meteostanice (RS485/Modbus)
USB RS485 převodník
komunikační script
nezávislé TXT výstupy
Webkamera
OpenAI analýza obrazu
PHP stránka (UI + grafy)
Pozn.: Vše je procesované na serveru jeko nezávislé komponenty a vše je poskládané ve finální stránce meteostanice.

1) Meteostanice (kombinovaná profi stanice)

RS485protokol Modbus24/7 provoz

Kompletní kombinovaná venkovní meteo stanice, která komunikuje po RS485 přes Modbus protokol. Stanice nemá žádné pohyblivé prvky, takže nehrozí poškození ledem a sněhem v zimním období. Je montovaná na kulatou tyč a vše je v ose. Připojena je pomocí dodaného 4-žilového kabelu.

Model: MI·SOL WN90LP
Rozhraní: RS485, +5V napájení
Protokol: Modbus
Typ dat: periodické čtení + ukládání historie

Rozměry: průměr 9cm, výška 20.5cm
Měřené veličiny:
- teplota [°C), vlhkost [%], absolutní tlak [hPa]
- rychlost větru [m/s] (UZ sensor, průměrná rychlost + v nárazech), směr [°]
- sensor osvětlení [lx], UV sensor [-]
- kumulativní srážky [mm]

Meteostanice – foto
Foto: meteostanice

2) USB převodník (USB ↔ RS485)

USBRS485stabilní linka

Převodník zajišťuje fyzickou vrstvu mezi serverem a meteostanicí. Zároveň poskytuje i potřebné napájení, takže není nutný externí zdroj. Na serveru se typicky objeví jako klasické /dev/ttyUSB* sériové zařízení.

Role: převod USB na RS485
Umístění: u serveru
Pozn.: Výstupní RS485 kabel je pouze doplněn o feritový prstenec jako EMC filtr.
USB RS485 převodník – foto
Foto: USB RS485 převodník

3) Webkamera (vizuální kontrola počasí)

snapshot24/7detekce stavu

Webkamera dodává aktuální snímek (např. každou minutu), který se ukládá na server a je použit pro vizualizaci i pro automatickou AI analýzu (oblačnost, mlha, déšť, tma…).

Model: 4K 8MP POE IP Camera
Rozměry: 48mm x 48mm x 43mm
Výstup: JPEG snapshot
Ukládání: na server (web root / storage)
Využití: UI + AI interpretace scény
Webkamera – foto
Foto: webkamera / umístění

4) Server & propojení

Linuxcron/systemdlogování

Vše je připojeno k serveru, který řeší sběr dat, ukládání historie, tvorbu “lastdata” souborů pro web a orchestraci AI analýzy webkamery.

HW: RPi-5
Úlohy: sběr dat, logy, rotace, export pro web
Integrace: Python + PHP web + AI modul
Tip
Pro běh všech scriptů a hlavní webové stránky není potřeba vysoký výkon a meteostanici lze integrovat s jakýmkoliv linux strojem.

Software

Co běží na serveru – od komunikace až po finální prezentaci.

5) Python skript: komunikace s meteostanicí

PythonserialCRC

Skript pravidelně čte data z RS485 linky, dekóduje rámce, validuje CRC a ukládá hodnoty do “aktuálního” souboru a do historie (pro grafy a statistiky). Ve výstupním souboru je pak kolekce naměřených veličin + historie je ukládána jako CSV soubor. Tyto data jsou pak používána ve výsledné web stránce.
Není tedy nutno, aby web server a komunikace s meteostanicí běžela na stejném stroji.

Vstup: /dev/ttyUSB*
Výstup: lastdata + history
Logika: validace rámců + výpočty odvozených veličin

Příklad výstupu:

lastdata.txt:
	Light:        6820.0 lux (jasno)
	UV index:     0.0
	Temperature:  0.3 °C
	Humidity:     92%
	Wind Speed:   2.0 m/s
	Gust Speed:   2.6 m/s
	Wind Dir:     161°
	Rain_summ:    9.8 mm
	ABS Pressure: 922.7 hPa

meteostanice.py
usage: meteostanice.py [-h] [--port PORT] [--output OUTPUT] [--interval INTERVAL]

Čtení dat z meteostanice

options:
-h, --help show this help message and exit
--port PORT Sériový port (např. /dev/ttyUSB0)
--output OUTPUT Výstupní soubor (např. vystup.txt)
--interval INTERVAL Opakování každých N sekund (v nekonečné smyčce)

6) OpenAI API modul: analýza webkamery

OpenAI APIvisionsummary

Modul zpracuje aktuální snímek z webkamery a vrátí strukturovaný popis (např. tma/den, oblačnost, mlha, srážky, dohlednost). Výstup se uloží a použije na webu jako “AI komentář”.
OpenAI analýza je též použita pro lepší detekci oblohy, pro jejíž analýzu čistě jen světelný sensor z meteostanice nestačí.
Vzhledem k tomu, že OpenAI API je placená služba, modul si sám řeší i čatnost dotazů a kontroluje periodu dotazování. Pokud není stránka aktuálně využívána, není ani dotazováno OpenAI. Web stránka meteostanice pak pouze volá tento modul a zobrazuje odpověď.

Vstup: aktuální JPEG
Výstup: JSON + krátký text
Ochrany: lock / rate limit / logování
System prompt:
Jsi asistentka, která z jediné fotky webkamery odhaduje aktuální počasí a část dne (podle světla na scéně). Kamera má velmi dobré noční vidění, noční záběr lze dedukovat z osvětlení blízkých objektů a stromů za mlhavého počasí.NEPŘEDPOVÍDEJ. Drž se toho, co je vidět (obloha, viditelnost, mokro/sníh, mlha). Zohledni i aktuální čas s ohledem na určení slunce a zda je ráno či odpoledne !Když to nejde poznat (tma, přesvětlení, mlha), přiznej nejistotu.Vždy odpovídej česky a srozumitelně.
User prompt:
Z fotky odhadni aktuální počasí a vrať jen JSON podle schématu. Fotka je pořízena z webkamery umístěné 600m.n.m na souřadnicích 50.7308217N, 15.3286831E s výhledem od východu po jih (azimut 110°-230˚). Západ je již mimo záběr. Noční záběr analyzuj, zda jsou vidět hvězdy, světlejší nebe může klamat díky nočnímu vidění kamery.Hodnoty vybírej konzervativně. confidence dej 0..1. Doplňková data z meteostanice (použij jen jako podpůrný kontext, přihlédni k vlhkosti, teplotě a tlaku (pozor je absolutní), rain_summ ignoruj, jsou kumulativní ne aktuálníale stále se drž toho, co je reálně pravděpodobné vzhledem k fotce (zmiň v notes případně koment k meteodatům); když jsou data v rozporu, přiznej nejistotu a zvyš 'unknown'/nižší confidence): Light: 4160.0 lux (jasno) UV index: 0.0 Temperature: 0.0 °C Humidity: 95% Wind Speed: 4.4 m/s Gust Speed: 5.2 m/s Wind Dir: 155° Rain_summ: 9.8 mm ABS Pressure: 922.0 hPa

7) PHP část: finální stránka (overview)

PHPHTML/CSS/JSgrafy

PHP skládá finální UI: webkameru, aktuální hodnoty, historii (grafy), stavové ikony, a doplňkově i AI popis. Tahle stránka je “poslední mile” – prezentace dat uživateli.
Webkamera je pravidelně aktualizovaná + možnost prohlédnutí historie 24h zpět (snapshoty jsou generované externě přes cron), jednotlivé karty s meteo údaji jsou pravidelně aktualizované přes Javascript, propojení na OpenAI API je sprostředkováno externím modulem, který se stará o vše potřebné (pokud není aktuální analýza dostupná, zobrazí se text "Přemýšlím...." a odpověď se zobrazí, jakmile je dostupná.

Zdroj dat: meteo lastdata (+ history) + AI JSON
UI: karty, grafy, ikony, stavy
Cíl: rychlý přehled a čitelnost