petrbrouzda / MeteoDisplej_GxEPD2

ePaper displej s meteodaty. GxEPD2. Předpověď počasí alojz.cz, yr.no, varování ČHMI, lokální meteostanice.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Display pro meteostanici

Display pro meteostanici - ESP32 s ePaper driverem a ePaper displej.

Zobrazuje:

  • východ a západ slunce
  • fázi, východ a západ měsíce
  • lidsky čitelnout předpověď Alojz.cz
  • varování ČHMÚ
  • předpověď po hodinách z yr.no
  • stav lokální meteostanice

Ukázka displeje bez varování ČHMI, s předpovědí na dva dny (ukazuje se jen odpoledne). Nahoře je vidět fáze měsíce, dnešní západ měsíce a zítřejší východ a západ. Ukázka displeje

Ukázka displeje s varováním ČHMI: Ukázka displeje

Jednotlivé vykreslované prvky jsou jako samostatné objekty; je tedy možné je snadno vytáhnout a použít ve vlastní aplikaci.

Defaultní konfigurace předpokládá tříbarevný (černá/bílá/červená) 4" ePaper displej 400x300 bodů. Displej se ovládá přes GxEPD2. Konfigurace displeje je v ePaperConfig.h. Konfigurace připojení displeje (pinů) je v AppPins.h. Mělo by to fungovat s každým displejem podporovaným v GxEPD2; samozřejmě ale pro displeje jiných rozměrů je třeba změnit rozložení prvků na ploše. Pokud máte jen černobílý displej, pak nastavení barev je v DataAplikace.h.

Aplikace není optimalizovaná na paměť, není tedy možné ji provozovat na ESP8266.

Není také optimalizovaná na spotřebu - počítá s tím, že procesor spí maximálně light sleepem (paměť zůstává zachovaná) a aplikace je tak odolná situaci, kdy nějakou dobu není dostupný nějaký online zdroj. Nicméně to lze snadno změnit a uspávat do deep sleep, pokud by spotřeba byla prioritní.

Při prvním startu se aplikace přepne do konfiguračního portálu - připojte se z telefonu na AP "RA_<nějaké číslo>" s heslem "aaaaaaaa" a z webového prohlížeče nakonfigurujte připojení na wifi. Jak získáte potřebné konfigurační hodnoty čtěte zde. Aplikace je postavená na IoT knihovně RatatoskrIoT, proto je zde potřeba vložit přístupové údaje k serveru. Knihovna zajišťuje vzdálenou konfiguraci, OTA updaty, telemetrii a odesílání log souborů

Konfiguraci zobrazovaných dat, tedy zejména lokalitu, pro kterou se dává předpověď a vyhledávají varování ČHMÚ, můžete buď změnit nastavením defaultů v DataAplikace::DataAplikace(), nebo následně zaslat jako nastavení konfigurace ze serveru.

Konfigurační blok pro poslání ze serveru vypadá takto:

lat=49.8921
lon=14.5716
alt=430
idorp=2122
name=Teptin
alojz=jablonec-nad-nisou
  • IDORP je číslo obce s rozšíženou působností - viz http://apl.czso.cz/iSMS/cisdet.jsp?kodcis=65
  • ALOJZ je jméno lokality, jaké najdete v URL na alojz.cz poté, co kliknete na jméno města
  • NAME je zobrazované jméno místa
  • LAT/LON/ALT je zeměpisná souřadnice a nadmořská výška

České fonty vznikly postupem popsaným zde https://github.com/petrbrouzda/fontconvert8-iso8859-2

Výstrahy ČHMÚ si aplikace stahuje předžvýkané z této služby: https://github.com/petrbrouzda/ChmiWarnings, obdobně předpověď yr.no z https://github.com/petrbrouzda/YrNoProvider. Alojze bere napřímo z alojz.cz.


Knihovny a kód třetích stran

Nutné knihovny v Arduino IDE

V library manageru je nutné mít nainstalováno:

  • Tasker 2.0.0
  • MoonRise 2.0.1
  • MoonPhase 1.0.3
  • sunset 1.1.6
  • GxEPD2 1.3.1
  • Adafruit_GFX_Library 1.10.0
  • Adafruit_BusIO 1.4.1
  • ArduinoJson 6.18.0

Použité fonty

Knihovny a kód třetích stran

Aplikace obsahují následující kód třetích stran ve formě zdrojových kódů distribuovaných přímo s aplikací (= nepoužívají se z library manageru):

gfxlatin

Tiny AES

CRC32

SHA-256

dtostrg

tzapu/WiFiManager

kmackay/micro-ecc

About

ePaper displej s meteodaty. GxEPD2. Předpověď počasí alojz.cz, yr.no, varování ČHMI, lokální meteostanice.

License:Apache License 2.0


Languages

Language:C 84.6%Language:C++ 15.4%