Meteoradar a radar letadel na jednom kulatém displeji

Stručně: MeteoPlaneRadar je zařízení na kulatém 2,1" displeji Waveshare ESP32-S3-Touch-LCD-2.1, které na jedné obrazovce ukazuje letadla nad hlavou z adsb.fi a na druhé animovaný srážkový meteoradar ČHMÚ. Přepíná se gesty, poloha se detekuje podle IP a firmware nahrajete bez programování přímo z prohlížeče přes esp32flasher.chiptron.cz. Kód je pod licencí MIT.

Před pár týdny jsem tu psal o Evropském radaru letadel a na konci slíbil kombinovanou verzi se srážkovým radarem ČHMÚ. Tak je hotová. Jmenuje se MeteoPlaneRadar a na jednom kulatém displeji přepínáte mezi letadly nad hlavou a animovaným meteoradarem.

Pořád platí to hlavní: není to mobil a ani se o to nesnaží. Mrknete na polici vedle monitoru a víte, co létá a jestli za chvíli začne pršet.

Nová obrazovka: meteoradar ČHMÚ

Srážky z ČHMÚ, ale ne jeden statický obrázek. Zařízení stáhne posledních šest snímků po pěti minutách a přehrává je ve smyčce, takže na první pohled vidíte, kam mrak táhne.

  • U každého snímku je čas, „nyní“ nebo „před X minutami“, a přesný čas HH:MM.
  • Legenda intenzity v dBZ i mm/h, barvy vzaté přímo z palety ČHMÚ, takže sedí s mapou.
  • Obrys ČR a města jako podklad.
  • Rozsah přepínáte 25, 50, 100 a 200 km.

Obraz je oříznutý do kruhu displeje, takže se nic nekreslí mimo kulatou plochu.

Letadla jsou barvená podle výšky

Obrazovka plná stejných žlutých šipek vám řekne, že tam nějaký provoz je. Obrazovka, kde barva něco znamená, vám řekne, jaký provoz to je.

VýškaBarvaTypicky
Pod 2 kmČervenáPřiblížení a odlet, vrtulníky, malá letadla
2 až 6 kmOranžováStoupání, klesání, regionální provoz
6 až 10 kmŽlutáNižší cestovní hladiny
10 km a výšModráDálkové lety v cestovní hladině

Červená nad hlavou znamená, že něco klesá k přistání někde poblíž. Obrazovka plná modré znamená, že jste pod koridorem a všichni jen prolétají. Letadlo, které výšku nehlásí, se kreslí šedě, ne červeně. Kdyby se „neznámá“ hodnota schovala do nejnižšího pásma, bylo by to matoucí.

Ovládání je jen o třech gestech

Žádná tlačítka na obrazovce, celé se to ovládá prstem.

  • Posunutí do strany mění rozsah, a to na letadlech i na meteoradaru.
  • Krátké klepnutí vybere letadlo a otevře detail.
  • Dlouhý stisk přepne obrazovku: Letadla, Meteoradar, Nastavení.

Detail letadla ukazuje výšku, rychlost, kurz, stoupání a typ letounu. A aktualizuje se živě, dokud je otevřený.

Co bylo potřeba doladit

Zajímavá část podobného projektu je jen zřídka ta, která rovnou funguje.

Pixely blikaly přesně uprostřed obrazovky

Vypadalo to jako vada displeje. Když se na levé straně, zhruba v půlce výšky, objevilo letadlo nebo srážkový mrak, pixely tam problikávaly. Jinde klid.

Příčina je souběh. Celý snímek se skladá do canvasu v PSRAM a posílá ven jednou ranou. Jenže při jednom framebufferu ta kopie zapisuje do té samé paměti, ze které panel právě čte obraz. Když kopie začne ve chvíli, kdy panel skenuje střed obrazovky, zápis předběhne čtení kolem řádku 240 a je z toho blikající pruh. Vlevo to bylo vidět jen proto, že jsem tam měl kontrastní obsah.

Oprava: kopie teď čeká na VSYNC a startuje vždy na začátku snímku, takže se drží před vykreslováním celý snímek. Zápis a čtení se už nepřekříží a pruh je pryč.

Nekompletní data už radar nevymažou

Z adsb.fi občas dostanu uříznutý JSON. Starý kód v tu chvíli vymazal seznam letadel na nulu a radar na okamžik smazal letadla. Teď se data parsují stranou a do zobrazení se pustí, až když dorazila celá a validní. Když ne, zůstane poslední platný snímek. Žádné blikání na prázdno.

Hardware

Jedna deska: Waveshare ESP32-S3-Touch-LCD-2.1.

  • ESP32-S3R8, 8 MB PSRAM, 16 MB flash.
  • Kulatý IPS displej 480×480, řadič ST7701 přes RGB rozhraní.
  • CST820 kapacitní dotyk.
  • TCA9554 I/O expandér ovládající reset, CS a napájení displeje.

Displej i mikrokontrolér jsou na jedné desce. Není co drátovat ani pájet, stačí USB-C kabel.

Nechce se vám programovat? Nahrajte binárku z prohlížeče

Tohle je pro většinu lidí ta nejlepší zpráva. Nepotřebujete Arduino IDE, žádný toolchain ani knihovny. Stačí prohlížeč Chrome nebo Edge.

Github repozitář je tady https://github.com/petus/MeteoPlaneRadar/tree/main

  1. Připojte desku přes USB-C k počítači.
  2. Otevřete esp32flasher.chiptron.cz.
  3. Vyberte firmware MeteoPlaneRadar a dáte nahrát.

Flasher běží celý v prohlížeči přes Web Serial. Za pár desítek sekund máte na kulatém displeji funkční radar. Kód je otevřený, takže když si to chcete přeložit sami, smíte.

Zprovoznění

Po nahrání vytvoří zařízení otevřenou WiFi síť MeteoPlaneRadar a na displeji ukáže QR kód. Naskenujete ho mobilem, vyberete svoji domácí síť, uložíte.

Polohu zadávat nemusíte, detekuje se z IP adresy. Když ji zadáte ručně, ta má vždycky přednost. A pokud si firmware překládáte sami, jeden tip do Arduino IDE: PSRAM musí být nastavená na OPI PSRAM, jinak displej zůstane černý bez jakéhokoliv jiného příznaku.

Odkud data pocházejí

DataZdrojPoznámka
Letadlaadsb.fiZdarma, bez API klíče, osobní použití
SrážkyČHMÚ opendataData ČHMÚ, nutné uvést zdroj
Polohaip-api.comAutomatická detekce podle IP

Vlastní ADS-B přijímač nepotřebujete. adsb.fi agreguje data z tisíců dobrovolnických přijímačů a je zdarma bez registrace, ale uveďte ho, když ho použijete, a počítejte s tím, že bezplatné API je určené pro osobní nekomerční použití. U srážek platí totéž: data jsou ČHMÚ a zdroj se uvádí.

Kód, binárka a licence

Github repozitář je tady https://github.com/petus/MeteoPlaneRadar/tree/main

Kód si můžete sami zkompilovat nebo nahrát už existující BIN soubor skrze prohlížeč.
Kliknete na http://esp32flasher.chiptron.cz/, vyberete ESP32-S3, vyberete BIN soubor z vašeho počítače, nahrajete, hotovo. Stačí reset a přihlásit se na WiFi desky, kam zadáte WiFi vaší domácí sítě.

Firmware je pod licencí MIT. Použijte to nebo to i změňte.

Nad rámec licence jedna prosba: pokud na tom budete stavět, nechte na obrazovce nastavení řádek chiptron.cz ve stejné velikosti a barvě. Nic vás to nestojí a pro mě to něco znamená. Je to prosba, ne podmínka, licence platí v plném rozsahu tak jako tak.

Když z toho postavíte něco zajímavého, rád se o tom dozvím.

Projekt vznikl s pomocí Claude AI.

Ptáte se

Potřebuju vlastní ADS-B přijímač?

Ne. Data o letadlech přicházejí z adsb.fi, který agreguje feedy z tisíců dobrovolnických přijímačů. Stačí WiFi a nic jiného.

Odkud jsou srážková data na meteoradaru?

Z opendata ČHMÚ. Zařízení stáhne posledních šest snímků po pěti minutách a přehrává je jako animaci, takže vidíte, kam srážky táhnou. U každého snímku je čas.

Musím umět programovat?

Ne. Existuje hotový BIN soubor, který nahrajete přímo z prohlížeče přes esp32flasher.chiptron.cz. Nepotřebujete Arduino IDE ani žádné knihovny, stačí Chrome nebo Edge a USB-C kabel.

Jaký hardware to potřebuje?

Jednu desku Waveshare ESP32-S3-Touch-LCD-2.1, tedy kulatý IPS displej 480×480 s řadičem ST7701 a čipem ESP32-S3 přímo na desce. Nic se nepájí ani nedrátuje.

Jak se přepíná mezi meteoradarem a letadly?

Dlouhým stiskem. Dlouhý stisk cykluje obrazovky Letadla, Meteoradar a Nastavení. Posunutí prstu do strany mění rozsah a krátké klepnutí vybere letadlo.

Displej zůstává černý, co jsem udělal špatně?

Skoro určitě PSRAM. Když si firmware překládáte sami, musí být v Arduino IDE v Tools nastavená na OPI PSRAM. Tohle stojí za většinou případů černého displeje.

Funguje meteoradar i mimo Česko?

Srážková data ČHMÚ pokrývají ČR a blízké okolí, meteoradar tedy dává smysl nad Českem. Radar letadel funguje kdekoliv, kam dosáhne pokrytí adsb.fi.
Sdílejte článek:
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku

Související články

Chtěl jsem vědět, co mi zrovna letí nad hlavou – jakože letadla. Ne v mobilu, ne v další záložce prohlížeče – na malé kulaté věci na polici, vedle monitoru, na kterou se jen mrknu.

V supermarketech jsou už Vánoce v plném proudu, je tedy nejvyšší čas sepsat článek plný tipů, co by si kutil/ka, bastlíř/ka a 3D tiskař/ka mohli přát pod vánoční stromeček. Sepsal jsem zajímavé nářadí a věci, které se jim mohou hodit.…

Firmware 3.0 Živý Obraz

Projekt Živý Obraz má jeden velký update za druhým. Autor stále přidává nové widgety, vychytávky, rozšiřuje možnosti projektu. Nyní se dostala i velká aktualizace samotného firmware, kódu běžícího na řídících deskách od Laskakit, Pájeníčko, SeeedStudio a dalších. Tento firmware se…

Letadla, rádio, vysílačky nebo třeba satelity – to vše zachytíte pomocí levného RTL-SDR dongle za pár stovek korun. V tomto praktickém tutoriálu ukážu, jak jej rozjedete na Ubuntu/Debian Linuxu krok za krokem. Žádné složité závislosti, jen terminál a pár příkazů.​ Přidám i návod na…

Různé vývojové desky s čipy ESP32 – srovnání variant

ESP32, S2, S3, C3, C6, H2, C5, P4 i chystaný S31 – který čip vybrat pro váš projekt? Srovnávací tabulka periferií, rozhodovací strom podle use-case, přehled softwarových platforem a tipy, kde koupit vývojové desky v Česku.

Hotový projekt domácího měření kvality vzduchu s podporou Home Assistant

Projekt měření kvality vzduchu v domácnosti, kanceláři nebo škole založený kompletně na open-source produktech navíc s podporou domácí automatizace – Home Assistant. Komplexní rozbor kvality vzduchu na základě měření pevných částic, koncentrace CO2, teploty, vlhkosti, NOx a VOC indexu kvality…

Trendy