12. โปรโตคอลโฮสต์¶
กล้อง OpenMV ทุกตัวมาพร้อมกับสแต็กโปรโตคอลที่เปิดเผยกล้องเป็นชุดช่องข้อมูลที่มีชื่อให้กับโปรแกรมโฮสต์ โปรแกรมโฮสต์อาจเป็นสคริปต์ Python บนแล็ปท็อปของนักพัฒนา GUI บนเดสก์ท็อป กล้องอีกตัวที่ปลายอีกด้านของ UART หรือบริการที่ทำงานบนเวิร์กสเตชันที่ดูแลกล้องหลายตัว กล้องไม่สนใจว่าจะเป็นแบบไหน -- การจัดกรอบเดียวกัน กลไกความน่าเชื่อถือเดียวกัน การแยกส่วนช่องเดียวกันทำงานได้กับทุกแบบ
นี่คือคำตอบสำหรับสองคำถามที่เกิดขึ้นบ่อยครั้งเมื่อโปรเจกต์กล้องออกจาก IDE:
"ฉันจะนำมุมมองสดของสิ่งที่กล้องเห็นไปแสดงใน GUI แบบกำหนดเองบนแล็ปท็อปได้อย่างไร?"
"ฉันจะให้ผู้ปฏิบัติงานเปลี่ยนค่าขีดแบ่งหรือเลือกบริเวณที่สนใจ (ROI) ขณะทำงานจริงโดยไม่ต้องแฟลชซ้ำได้อย่างไร?"
โมดูล protocol ฝั่งกล้องและแพ็กเกจ openmv-python ฝั่งโฮสต์ตอบทั้งสองคำถาม โดยให้คลาส Python บนกล้องเปิดเผย ช่อง ที่คลาส Python บนโฮสต์สามารถอ่าน เขียน และตอบสนองต่อเหตุการณ์ได้ ทั้งหมดผ่านการเชื่อมต่อ USB หรืออนุกรมเพียงสายเดียว
บทนี้สอนทั้งสองฝั่ง โค้ดฝั่งกล้องแสดงวิธีลงทะเบียนช่องและป้อนข้อมูล โค้ดฝั่งโฮสต์แสดงวิธีเชื่อมต่อ แสดงรายการช่อง ดึงข้อมูล และส่งคำสั่งกลับ เครื่องมือจริงที่จัดส่งในไดเรกทอรี openmv-projects/tools/ ใช้รูปแบบที่แสดงไว้ที่นี่โดยตรง
การจัดกรอบ
การสตรีม
สรุป