10. Webové servery

Síťové kapitoly dostaly kameru na síť a daly jí sockety, přes které může komunikovat (Sítě). Co teď? Většina kamerových aplikací se scvrkává na dvě věci – zpřístupnit světu to, co kamera vidí a reagovat na to, co říkají ostatní věci v síti. HTTP je způsob, jak tato konverzace probíhá, a funguje v obou směrech:

  • Jako server kamera odpovídá na požadavky z telefonů, prohlížečů a dalších zařízení v síti. Framework microdot je serverem kamery.

  • Jako klient kamera oslovuje cloudové služby, aby nahrávala, stahovala nebo koordinovala. Modul requests je klientem kamery.

Během následujících 14 kapitol postavíme jednu běžící kamerovou aplikaci, která procvičí obojí.

Kamera spouštěná pohybem na dvorku sedí na sloupu na dvorku, vidí, co se děje, a informuje majitele o všem zajímavém. Kameru rozvineme z jednocestného serveru typu „jsem naživu“ do něčeho dodatelného: živý náhled na telefon majitele, dashboard s posuvníkem prahu a logem událostí, push notifikace při spuštění pohybu, přihlášení, HTTPS a cloudový archiv každého spuštěného snímku.

Každá kapitola přidává jednu funkci. Ukázky kódu předpokládají, že dřívější kapitoly jsou na místě – nevkládáme znovu celý skript pokaždé.

Telefon nebo notebook komunikuje s kamerou přes HTTPS kvůli dashboardu, SSE událostem a WebSocket příkazům; kamera komunikuje ven do cloudového archivu přes HTTPS POST.