13.4. OpenMV Arduino RPC Library¶
ไลบรารี openmv-arduino-rpc คือส่วนประกอบฝั่ง Arduino ที่ทำงานคู่กับโมดูล rpc บนกล้อง กล้องจะลงทะเบียนฟังก์ชัน Python ที่เรียกได้ และ Arduino จะเรียกใช้ฟังก์ชันเหล่านั้นราวกับว่าเป็นฟังก์ชันในเครื่อง ผ่าน UART, SPI, I2C หรือ CAN โดยไม่ต้องมีพีซีเป็นตัวกลาง
รูปแบบนี้มีความสมมาตร สเก็ตช์ Arduino เลือกคลาสการส่งข้อมูลที่ตรงกับสายเชื่อมต่อ เรียกฟังก์ชันบนกล้องด้วยชื่อ และรับค่าที่ส่งกลับมา ฝั่งกล้องทำงานสะท้อนกัน ได้แก่ ลงทะเบียนฟังก์ชัน Python ที่เรียกได้ และรันลูปการโพลของไลบรารี การจัดกรอบข้อมูล การแบ่งส่วน และการส่งซ้ำบนบัสที่มีสัญญาณรบกวนจะถูกจัดการโดยทั้งสองฝั่งในระดับล่าง ดังนั้นโค้ดแอปพลิเคชันจึงมองเห็นเพียงแค่ "เรียกฟังก์ชันบนบอร์ดอีกเครื่อง แล้วรับผลลัพธ์กลับมา"
ไฟล์ตัวอย่างในรีโพ examples ครอบคลุมรูปแบบหลักสองแบบที่โปรเจกต์ส่วนใหญ่ต้องการ ได้แก่ การเรียกควบคุมระยะไกลแบบสั้น (อ่านค่าเซนเซอร์ ขับพิน รันตัวตรวจจับและอ่านผลลัพธ์กลับมา) และการสตรีมภาพ JPEG จากกล้องไปยัง Arduino เพื่อส่งต่อ สคริปต์ฝั่งกล้องที่จับคู่กันมาพร้อมในทรี openmv ภายใต้ 08-RPC-Library/
README ของรีโพครอบคลุมการเดินสายต่อการส่งข้อมูลแต่ละรูปแบบ และเอกสารอ้างอิง rpc --- ไลบรารี rpc ครอบคลุม API ฝั่งกล้องอย่างครบถ้วน