eAir
Studiová ON AIR časomíra pro Raspberry Pi 5: GPIO, HDMI kiosk, počasí, RSS, eCast a webová správa.
Documentation and check-in manual
Releases
Older versions (26)
- 0.2.13 · 2026-10-23 · ZIP · JSON
- 0.2.12 · 2026-10-23 · ZIP · JSON
- 0.2.11 · 2026-10-23 · ZIP · JSON
- 0.2.10 · 2026-10-23 · ZIP · JSON
- 0.2.9 · 2026-10-23 · ZIP · JSON
- 0.2.8 · 2026-10-23 · ZIP · JSON
- 0.2.7 · 2026-10-23 · ZIP · JSON
- 0.2.6 · 2026-10-22 · ZIP · JSON
- 0.2.5 · 2026-10-22 · ZIP · JSON
- 0.2.4 · 2026-10-09 · ZIP · JSON
- 0.2.3 · 2026-10-09 · ZIP · JSON
- 0.2.2 · 2026-10-09 · ZIP · JSON
- 0.2.1 · 2026-10-08 · ZIP · JSON
- 0.2.0 · 2026-10-08 · ZIP · JSON
- 0.1.11 · 2026-10-08 · ZIP · JSON
- 0.1.10 · 2026-10-08 · ZIP · JSON
- 0.1.9 · 2026-10-08 · ZIP · JSON
- 0.1.8 · 2026-10-08 · ZIP · JSON
- 0.1.7 · 2026-10-08 · ZIP · JSON
- 0.1.6 · 2026-10-08 · ZIP · JSON
- 0.1.5 · 2026-10-08 · ZIP · JSON
- 0.1.4 · 2026-10-08 · ZIP · JSON
- 0.1.3 · 2026-10-08 · ZIP · JSON
- 0.1.2 · 2026-10-08 · ZIP · JSON
- 0.1.1 · 2026-10-08 · ZIP · JSON
- 0.1.0 · 2026-10-08 · ZIP · JSON
README
# eAir 0.1.0
Studiové hodiny a ON AIR časomíra pro Raspberry Pi 5 / Ubuntu Server ARM64.
Autor **PB**, pavel.bartos.pb@gmail.com, https://estudium.eu. Vytvořeno **10/2026**, licence **MIT**.
## Instalace
Rozbalte celý ZIP a v adresáři `eair-server-0.1.0` spusťte:
```bash
sudo bash install.sh
```
TUI nabízí hostname, HTTPS port a lokální HDMI kiosk. Výchozí port je **8443**.
Instalátor používá ASCII rámečky; nepotřebuje funkční vykreslování UTF‑8 rámečků.
Pro jednoduchý textový režim přidejte `--plain`. Práva spustitelnosti v ZIPu jsou
nastavená; spuštění přes `bash` funguje i při rozbalení nástrojem, který je nezachová.
- Administrace: `https://IP_SERVERU:8443/`
- Displej: `https://IP_SERVERU:8443/display`
- První přihlášení: **admin / admin**. Heslo změníte v Údržba a eUpdate.
- Samopodepsaný HTTPS certifikát při prvním otevření vyžaduje přijetí v prohlížeči.
- Raspberry Pi napájejte USB‑C zdrojem 5 V / 5 A; připojte monitor přes micro-HDMI.
- Výchozí vstup: **GPIO17 / pin 11**, přes **1 kΩ** a beznapěťový kontakt na **GND / pin 9**.
Sepnutí = ON AIR, rozepnutí = logo. Nepřipojujte cizí napětí.
## Obsah první verze
- Skutečný Flask/Waitress backend a SQLite, služba systemd, HTTPS nginx.
- Přihlášení a levé menu převzaté z eWeb 0.8.43 včetně původního loga eStudium
a animace trojúhelníků. Vlastní logo stanice se nahrává samostatně.
- GPIO přes `lgpio`, detekce RP1, softwarový debounce a ruční AUTO / ON / OFF.
- Hodiny podle času OS/NTP, digitální, kompaktní a analogový vzhled.
- Stopky z monotónních hodin, poslední vstup, součet dne, historie a CSV.
- Počasí dnes/zítra z Open-Meteo, souřadnice a zákaznický API klíč pro komerční použití.
- Více RSS/Atom zdrojů, ticker zprava doleva, rychlost a velikost písma.
- Volitelný JSON výstup na až 8 eCast přijímačů; přiložený PHP přijímač.
- Záloha/obnova konfigurace a loga, změna hesla, provozní log a diagnostika.
- Kiosk Chromium/Openbox/LightDM s automatickým přihlášením vyhrazeného účtu.
- Instalační manifest a podklady pro upload v eUpdate.
Počasí a RSS se zapínají v administraci. Výchozí lokalita je Praha, souřadnice
změňte podle skutečného studia. Při první instalaci bez GPIO je stav zobrazen jako
neznámý; k vyzkoušení použijte ruční režim.
## Aktualizace
Z adresáře nového rozbaleného vydání:
```bash
sudo bash install.sh --update
```
Instalátor zachovává heslo, nastavení, logo a databázi ve `/var/lib/eair`.
Před aktualizací vytvoří zálohu; aktivní kód mění atomickým odkazem. Při zachycené
chybě po přepnutí vrátí předchozí kód. Balíčky operačního systému se nevracejí.
Neaktualizujte při živém vstupu: zastavení služby vstup ukončí jako přerušený.
## eUpdate
**Nahrajte tento ZIP beze změny**, nikoli pouze složku programu. V kořeni ZIPu je
`install.json` a `eupdate-upload.json` s údaji projektu `eAir`, `software_id=eair-server`,
verzí, autorem a licencí. Struktura instalačních metadat vychází z balíčku eWeb 0.8.43.
Automatický klient pro stahování z eUpdate není v této verzi zapnutý; instalaci
staženého vydání spouští správce. Skutečný upload do vašeho eUpdate nebyl proveden.
Podrobný návod: [docs/MANUAL-CS.md](docs/MANUAL-CS.md).
Rozsah ověření: [docs/VALIDATION.md](docs/VALIDATION.md).
Napojení eCast: [integrations/README.md](integrations/README.md).
## Lokální vývoj
```bash
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt pytest
.venv/bin/python -m eair --state .dev-state --port 8780
```
Vývojové HTTP: `http://127.0.0.1:8780`. `lgpio` je potřeba jen pro fyzický GPIO vstup;
chybějící hardware neblokuje web ani ruční časomíru. Aplikace musí běžet jako jediný
proces (jediný vlastník GPIO/časomíry). Testy: `.venv/bin/pytest -q tests`.