Dokumentace API

Generování 800×480 BMP obrázků pro E-Ink displeje zobrazující harmonogramy závodů F1 v režimu 1bit, B/W/R nebo Spectra 6.

800×480 BMP 1bit / B/W/R / B/W/R/Y / Spectra 6 E-Ink REST API
GET /calendar.bmp

Generuje F1 kalendář jako BMP obrázek (800×480) pro 1bit, 4bit B/W/R, 4bit B/W/R/Y a Spectra 6 E-Ink displeje.

Parametry

Parameter Typ Popis
lang string Kód jazyka pro text kalendáře
Hodnoty: cs, de, en, es, fr, it, ja, nl, pl, pt-BR, sk, tr, zh-CN (výchozí: en)
year integer Rok sezóny pro konkrétní závod
volitelný — např. 2026
round integer Číslo kola (1-24) pro konkrétní závod
volitelný — např. 5
tz string Časové pásmo pro časy v harmonogramu (IANA formát)
volitelný — např. America/New_York, Europe/Prague
display string Režim výstupu pro 1bit, B/W/R, B/W/R/Y nebo Spectra 6 displeje
Hodnoty: 1bit, bwr, bwry, spectra6 (výchozí: 1bit)
weather boolean Zapnutí nebo vypnutí překrytí s počasím
Hodnoty: true, false
weather_type string Typ zobrazených dat o počasí
Hodnoty: race_day, current

Odpověď

Content-Type image/bmp
Rozměry 800×480
Barevná hloubka 1bit / 4-bit B/W/R / 4-bit B/W/R/Y / Spectra 6
Cache 1 hour

Ukázky kódu

# Stáhnout kalendář dalšího závodu
curl -o calendar.bmp "https://f1.rhiz3k.freeddns.org/calendar.bmp"

# S českým jazykem a časovým pásmem
curl -o calendar.bmp "https://f1.rhiz3k.freeddns.org/calendar.bmp?lang=cs&tz=Europe/Prague"

# Konkrétní závod (rok a kolo)
curl -o calendar.bmp "https://f1.rhiz3k.freeddns.org/calendar.bmp?year=2025&round=5"

# B/W/R/Y varianta pro černo-bílo-červeno-žlutý e-paper
curl -o calendar.bmp "https://f1.rhiz3k.freeddns.org/calendar.bmp?display=bwry"
import httpx

async def get_f1_calendar(lang: str = "en", tz: str = "Europe/Prague"):
    """Stáhne F1 kalendář jako BMP obrázek."""
    async with httpx.AsyncClient() as client:
        response = await client.get(
            "https://f1.rhiz3k.freeddns.org/calendar.bmp",
            params={"lang": lang, "tz": tz}
        )
        response.raise_for_status()

        with open("calendar.bmp", "wb") as f:
            f.write(response.content)

        print("Kalendář uložen jako calendar.bmp")

# Použití
import asyncio
asyncio.run(get_f1_calendar(lang="cs"))
// Načíst a zobrazit kalendář
async function loadF1Calendar(lang = 'en', tz = 'Europe/Prague') {
    const url = new URL('https://f1.rhiz3k.freeddns.org/calendar.bmp');
    url.searchParams.set('lang', lang);
    url.searchParams.set('tz', tz);

    const response = await fetch(url);
    const blob = await response.blob();

    // Zobrazit v img elementu
    const img = document.getElementById('calendar');
    img.src = URL.createObjectURL(blob);
}

// Stáhnout jako soubor
async function downloadCalendar() {
    const response = await fetch('/calendar.bmp?lang=cs');
    const blob = await response.blob();

    const link = document.createElement('a');
    link.href = URL.createObjectURL(blob);
    link.download = 'f1-calendar.bmp';
    link.click();
}

Použití s E-Ink displejem

Načtěte /calendar.bmp a zobrazte přímo na E-Ink displeji. Doporučený interval obnovy: každé 1-6 hodin. Kompatibilní s libovolným 800×480 E-Ink displejem (např. Waveshare 7.5", LaskaKit).

Pro LaskaKit / zivyobraz.eu:

  1. 1 V zivyobraz.eu vyberte jako zdroj obsahu: URL s obrázkem
  2. 2 Vložte URL: https://f1.rhiz3k.freeddns.org/calendar.bmp?lang=cs&tz=Europe/Prague
  3. 3 Nastavte interval obnovování na 1-6 hodin
GET /teams.bmp

Generování BMP obrázku se všemi F1 týmy, jejich jezdci, fotkami a body v šampionátu v režimech 1bit, B/W/R, B/W/R/Y nebo Spectra 6.

Parametry

Parameter Typ Popis
lang string Kód jazyka pro text kalendáře
Hodnoty: cs, de, en, es, fr, it, ja, nl, pl, pt-BR, sk, tr, zh-CN (výchozí: en)
year integer Rok sezóny pro data týmů
volitelný — např. 2026
display string Režim výstupu pro displej
Hodnoty: 1bit, bwr, bwry, spectra6 (výchozí: 1bit)

Odpověď

Content-Type image/bmp
Rozměry 800×480
Barevná hloubka 1-bit / 4-bit / Spectra 6
Cache no-store

Další endpointy

GET /api/teams/{year}

Získat všechny týmy s jezdci a body pro sezónu (JSON)

GET /api/standings/leader

Získat aktuální lídry šampionátu (jezdec a konstruktér)

GET /api/races/{year}

Seznam všech závodů pro danou sezónu

GET /api/race/{year}/{round}

Detailní informace o konkrétním závodě včetně harmonogramu

GET /api/stats

Statistiky požadavků (počet za hodinu a 24 hodin)

GET /health

Kontrola zdraví služby

GET /api

JSON API — Dokumentace API ve formátu JSON