10. Serwery WWW

Rozdziały o sieci doprowadziły kamerę do sieci i dały jej gniazda do komunikacji (Sieci). Co teraz? Większość aplikacji kamerowych sprowadza się do dwóch rzeczy – udostępnienia światu tego, co widzi kamera oraz reagowania na to, co mówią inne urządzenia w sieci. HTTP jest sposobem, w jaki odbywa się ta rozmowa, i działa w obu kierunkach:

  • Jako serwer kamera odpowiada na żądania od telefonów, przeglądarek i innych urządzeń w sieci. Framework microdot jest serwerem kamery.

  • Jako klient kamera sięga do usług chmurowych, aby przesyłać, pobierać lub koordynować dane. Moduł requests jest klientem kamery.

W ciągu kolejnych 14 rozdziałów zbudujemy jedną działającą aplikację kamerową, która wykorzystuje oba te tryby.

Kamera z wyzwalaczem ruchu na podwórku siedzi na słupie na podwórku, widzi, co się dzieje, i informuje właściciela o wszystkim, co interesujące. Rozwiniemy kamerę z jednotrasowego serwera „żyję” w gotowy do wdrożenia produkt: podgląd na żywo na telefonie właściciela, pulpit z suwakiem progu i dziennikiem zdarzeń, powiadomienia push przy wykryciu ruchu, logowanie, HTTPS oraz archiwum w chmurze każdej wyzwolonej ramki.

Każdy rozdział dodaje jedną funkcję. Przykłady kodu zakładają, że wcześniejsze rozdziały są już zaimplementowane – nie wklejamy za każdym razem całego skryptu od nowa.

Telefon lub laptop komunikuje się z kamerą przez HTTPS w celu obsługi pulpitu, zdarzeń SSE i poleceń WebSocket; kamera komunikuje się na zewnątrz z archiwum w chmurze przez HTTPS POST.