Dokumentace API
Generování 800×480 1-bit BMP obrázků pro E-Ink displeje zobrazující harmonogramy závodů F1.
/calendar.bmp
Generuje F1 kalendář jako 1-bit BMP obrázek (800×480) pro E-Ink displeje.
Parametry
| Parameter | Typ | Popis |
|---|---|---|
| lang | string |
Kód jazyka pro text kalendáře
Hodnoty: en,
cs (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
|
Odpověď
image/bmp
800×480
1-bit
1 hour
Ukázky kódu
# Stáhnout kalendář dalšího závodu
curl -o calendar.bmp "https://f1-eink.example.com/calendar.bmp"
# S českým jazykem a časovým pásmem
curl -o calendar.bmp "https://f1-eink.example.com/calendar.bmp?lang=cs&tz=Europe/Prague"
# Konkrétní závod (rok a kolo)
curl -o calendar.bmp "https://f1-eink.example.com/calendar.bmp?year=2025&round=5"
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-eink.example.com/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-eink.example.com/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 V zivyobraz.eu vyberte jako zdroj obsahu: URL s obrázkem
-
2
Vložte URL:
https://your-server.com/calendar.bmp?lang=cs&tz=Europe/Prague - 3 Nastavte interval obnovování na 1-6 hodin
/teams.bmp
Generování 1-bit BMP obrázku se všemi F1 týmy, jejich jezdci, fotkami a body v šampionátu.
Parametry
| Parameter | Typ | Popis |
|---|---|---|
| lang | string |
Kód jazyka pro text kalendáře
Hodnoty: en,
cs (výchozí:
en)
|
| year | integer |
Rok sezóny pro data týmů
volitelný — např. 2026
|
Odpověď
image/bmp
800×480
1-bit
1 hour
Další endpointy
/api/teams/{year}
Získat všechny týmy s jezdci a body pro sezónu (JSON)
/api/standings/leader
Získat aktuální lídry šampionátu (jezdec a konstruktér)
/api/races/{year}
Seznam všech závodů pro danou sezónu
/api/race/{year}/{round}
Detailní informace o konkrétním závodě včetně harmonogramu
/api/stats
Statistiky požadavků (počet za hodinu a 24 hodin)
/health
Kontrola zdraví služby