10. Web Servers

บทเครือข่ายได้นำกล้องเข้าสู่เครือข่ายและให้ socket สำหรับการสื่อสาร (ระบบเครือข่าย) แล้วต่อไปล่ะ? แอปพลิเคชันกล้องส่วนใหญ่สรุปได้เป็นสองสิ่ง -- เปิดเผยสิ่งที่กล้องเห็นสู่โลก และ ตอบสนองต่อสิ่งที่อุปกรณ์อื่นในเครือข่ายพูด HTTP คือวิธีที่การสนทนานั้นเกิดขึ้น และมันทำงานในทั้งสองทิศทาง:

  • ในฐานะ เซิร์ฟเวอร์ กล้องตอบสนองต่อคำขอจากโทรศัพท์ เบราว์เซอร์ และอุปกรณ์อื่น ๆ ในเครือข่าย เฟรมเวิร์ก microdot คือเซิร์ฟเวอร์ของกล้อง

  • ในฐานะ client กล้องติดต่อกับบริการคลาวด์เพื่ออัปโหลด ดึงข้อมูล หรือประสานงาน โมดูล requests คือ client ของกล้อง

ใน 14 บทถัดไป เราจะสร้างแอปพลิเคชันกล้องที่รันได้ หนึ่ง แอปที่ใช้ทั้งสองอย่าง

กล้องตรวจจับความเคลื่อนไหวในสวน ติดตั้งบนเสาในสวน มองเห็นสิ่งที่เกิดขึ้น และแจ้งเจ้าของเกี่ยวกับสิ่งที่น่าสนใจ เราจะพัฒนากล้องจากเซิร์ฟเวอร์ "ฉันยังทำงานอยู่" เส้นทางเดียวไปสู่ผลิตภัณฑ์ที่พร้อมใช้งาน: การแสดงตัวอย่างสดบนโทรศัพท์ของเจ้าของ แดชบอร์ดพร้อมตัวเลื่อนค่าขีดแบ่งและบันทึกเหตุการณ์ การแจ้งเตือนแบบ push เมื่อตรวจพบความเคลื่อนไหว การเข้าสู่ระบบ HTTPS และคลังเก็บคลาวด์ของทุกเฟรมที่ถูกกระตุ้น

แต่ละบทเพิ่ม หนึ่ง ลักษณะเด่น ตัวอย่างโค้ดสมมติว่าบทก่อนหน้ามีอยู่แล้ว -- เราไม่วางสคริปต์ทั้งหมดซ้ำทุกครั้ง

The phone or laptop talks to the cam over HTTPS for the dashboard, SSE events, and WebSocket commands; the cam talks out to a cloud archive over HTTPS POST.