10. Веб-серверы¶
Главы о работе с сетью подключили камеру к сети и дали ей сокеты для общения (Сети). Что теперь? Большинство приложений для камер сводятся к двум вещам – показать миру то, что видит камера и реагировать на то, что говорят другие устройства в сети. HTTP – это то, как происходит этот разговор, и он работает в обоих направлениях:
В роли сервера камера отвечает на запросы от телефонов, браузеров и других устройств в сети. Фреймворк
microdot– это сервер камеры.В роли клиента камера обращается к облачным сервисам, чтобы загружать, получать или координировать данные. Модуль
requests– это клиент камеры.
На протяжении следующих 14 глав мы построим одно работающее приложение для камеры, которое задействует обе роли.
Камера-датчик движения на заднем дворе стоит на столбе во дворе, видит, что происходит, и сообщает владельцу обо всём интересном. Мы вырастим камеру из однопутевого сервера «я жив» в готовый к поставке продукт: живой предпросмотр на телефоне владельца, панель управления с ползунком порога и журналом событий, push-уведомления при срабатывании движения, вход, HTTPS и облачный архив каждого сработавшего кадра.
Каждая глава добавляет одну функцию. Примеры кода предполагают, что предыдущие главы уже на месте – мы не вставляем заново весь скрипт каждый раз.
- 10.1. Ваша первая конечная точка
- 10.2. Возврат снимка
- 10.3. Живая трансляция – один зритель
- 10.4. Совместное использование одного цикла захвата несколькими зрителями
- 10.5. API управления для камеры
- 10.6. Создание панели управления
- 10.7. Отправка событий на панель управления
- 10.8. Двусторонее управление через WebSocket
- 10.9. Аутентификация для программных клиентов
- 10.10. Вход в панель управления
- 10.11. HTTPS – шифрование транспорта для сервера
- 10.12. CORS и CSRF
- 10.13. Загрузка кадров по триггеру в облако
- 10.14. Подведение итогов