10. Webサーバー¶
ネットワークの章では、カメラをネットワークに接続し、通信するためのソケットを与えました(ネットワーキング)。では次は何でしょうか。ほとんどのカメラアプリケーションは2つのことに集約されます。つまり カメラが見ているものを世界に公開する ことと、ネットワーク上の他のものが言うことに反応する ことです。HTTPはその会話が行われる手段であり、両方向で機能します。
サーバー として、カメラはネットワーク上のスマートフォン、ブラウザ、その他のデバイスからのリクエストに応答します。
microdotフレームワークがカメラのサーバーです。クライアント として、カメラはアップロード、取得、連携のためにクラウドサービスに接続します。
requestsモジュールがカメラのクライアントです。
次の14章にわたって、両方を活用する 1つの 実際に動くカメラアプリケーションを構築します。
裏庭のモーショントリガーカメラ は庭のポールに設置され、何が起きているかを見て、興味深いことがあれば所有者に知らせます。このカメラを、ルートが1つだけの「私は生きています」サーバーから、出荷可能なものへと成長させていきます。所有者のスマートフォンへのライブプレビュー、しきい値スライダーとイベントログを備えたダッシュボード、モーション発火時のプッシュ通知、ログイン、HTTPS、そしてトリガーされたすべてのフレームのクラウドアーカイブです。
各章では 1つの 機能を追加します。コードサンプルは前の章の内容がすでに用意されていることを前提としており、毎回スクリプト全体を再掲することはしません。
- 10.1. 最初のエンドポイント
- 10.2. スナップショットを返す
- 10.3. ライブストリーミング -- 1人の視聴者
- 10.4. 1つのキャプチャループを複数の視聴者で共有する
- 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. まとめ