10. Web 服务器¶
网络相关章节让摄像头接入了网络,并为它提供了用于通信的套接字(网络)。接下来呢?大多数摄像头应用归根结底就是两件事——把摄像头所见的内容暴露给外界,以及 对网络中其他设备发来的消息做出反应。HTTP 正是这场对话发生的方式,而且它在两个方向上都能工作:
作为 服务器,摄像头回应来自手机、浏览器以及网络中其他设备的请求。
microdot框架就是摄像头的服务器。作为 客户端,摄像头主动连接云服务,以进行上传、获取或协调操作。
requests模块就是摄像头的客户端。
在接下来的 14 个章节里,我们将构建 一个 可运行的摄像头应用,它同时演练这两个方面。
一个 后院运动触发摄像头 立在院子里的杆子上,观察周围正在发生的情况,并把任何有意思的事情告知主人。我们会让这个摄像头从一个只有单条路由的“我还活着”服务器,一步步成长为一个可交付的产品:向主人手机推送实时预览、带有阈值滑块和事件日志的仪表盘、运动触发时的推送通知、登录、HTTPS,以及一份记录每一帧触发画面的云端归档。
每个章节添加 一个 功能。代码示例假定前面章节的内容已经就位——我们不会每次都重新粘贴整个脚本。