10. Webservers¶
De hoofdstukken over netwerken brachten de cam op het netwerk en gaven het sockets om mee te communiceren (Netwerken). Wat nu? De meeste camera-applicaties komen neer op twee dingen – toon de wereld wat de cam ziet en reageer op wat andere dingen op het netwerk zeggen. HTTP is hoe dat gesprek plaatsvindt, en het werkt in beide richtingen:
Als server beantwoordt de cam verzoeken van telefoons, browsers en andere apparaten op het netwerk. Het
microdotframework is de server van de cam.Als client reikt de cam uit naar clouddiensten om te uploaden, op te halen of te coördineren. De
requestsmodule is de client van de cam.
In de komende 14 hoofdstukken bouwen we één draaiende camera-applicatie die beide oefent.
Een bewegingsgestuurde achtertuincam zit op een paal in de tuin, ziet wat er gebeurt en vertelt de eigenaar over alles wat interessant is. We laten de cam groeien van een “ik leef”-server met één route tot iets verzendbaars: live voorbeeld naar de telefoon van de eigenaar, een dashboard met een drempelwaarde-schuif en een gebeurtenissenlogboek, pushmeldingen wanneer beweging wordt gedetecteerd, login, HTTPS en een cloudarchief van elk getriggerd frame.
Elk hoofdstuk voegt één functie toe. Codevoorbeelden gaan ervan uit dat de eerdere hoofdstukken op hun plaats zijn – we plakken niet elke keer het hele script opnieuw.
- 10.1. Je eerste endpoint
- 10.2. Een snapshot teruggeven
- 10.3. Live streamen – één kijker
- 10.4. Eén vastleglus delen over kijkers
- 10.5. Een besturings-API voor de cam
- 10.6. Het dashboard bouwen
- 10.7. Gebeurtenissen naar het dashboard pushen
- 10.8. Tweerichtingsbesturing met WebSockets
- 10.9. Authenticatie voor programmatische clients
- 10.10. Inloggen voor het dashboard
- 10.11. HTTPS – transportversleuteling voor de server
- 10.12. CORS en CSRF
- 10.13. Getriggerde frames uploaden naar de cloud
- 10.14. Afronding