10. Веб-сервери¶
Розділи про мережі під’єднали камеру до мережі та надали їй сокети для спілкування (Мережа). Що далі? Більшість застосунків із камерою зводяться до двох речей — показати світові те, що бачить камера і реагувати на те, що говорять інші пристрої в мережі. HTTP — це спосіб, яким відбувається це спілкування, і він працює в обох напрямках:
Як сервер, камера відповідає на запити з телефонів, браузерів та інших пристроїв у мережі. Фреймворк
microdotє сервером камери.Як клієнт, камера звертається до хмарних сервісів для завантаження, отримання або координації даних. Модуль
requestsє клієнтом камери.
У наступних 14 розділах ми побудуємо один робочий застосунок камери, який задіює обидва варіанти.
Камера для фіксації руху у дворі розміщується на стовпі у дворі, бачить, що відбувається, і повідомляє власника про все цікаве. Ми розвиватимемо камеру від однорутового сервера «я живий» до готового продукту: live-перегляд на телефоні власника, панель керування зі слайдером порогу та журналом подій, push-сповіщення при виявленні руху, авторизація, HTTPS та хмарний архів кожного кадру, що спрацював.
Кожен розділ додає одну функцію. Приклади коду припускають, що попередні розділи вже реалізовані — ми не вставляємо весь скрипт заново щоразу.
- 10.1. Ваш перший ендпоінт
- 10.2. Повернення знімка
- 10.3. Live-стримінг — один глядач
- 10.4. Спільний цикл захоплення для кількох глядачів
- 10.5. API керування камерою
- 10.6. Побудова панелі моніторингу
- 10.7. Надсилання подій на панель моніторингу
- 10.8. Двостороннє керування за допомогою WebSockets
- 10.9. Авторизація для програмних клієнтів
- 10.10. Вхід для панелі керування
- 10.11. HTTPS – шифрування транспорту для сервера
- 10.12. CORS та CSRF
- 10.13. Завантаження спрацьованих кадрів у хмару
- 10.14. Підсумок