13.4. Thư Viện Arduino RPC của OpenMV¶
Thư viện openmv-arduino-rpc là phần bổ trợ phía Arduino cho mô-đun rpc của camera. Camera đăng ký các hàm Python có thể gọi được; Arduino gọi chúng như thể chúng là các hàm cục bộ, qua UART, SPI, I2C, hoặc CAN. Không có máy tính nào đứng ở giữa.
Mẫu thiết kế này có tính đối xứng. Sketch Arduino chọn lớp truyền tải phù hợp với dây kết nối, gọi một hàm trên camera theo tên, và nhận lại giá trị trả về. Phía camera phản chiếu điều đó: đăng ký các hàm Python có thể gọi được, chạy vòng lặp polling của thư viện. Việc đóng khung, phân mảnh và thử lại trên bus nhiễu đều được xử lý bởi cả hai phía ở tầng dưới, vì vậy mã ứng dụng chỉ thấy "gọi một hàm trên bo mạch kia, nhận kết quả về."
Thư mục examples của repo bao gồm hai dạng mà hầu hết các dự án cần: các lệnh gọi điều khiển từ xa ngắn (đọc cảm biến, điều khiển chân (pin), chạy bộ phát hiện và đọc kết quả lại) và truyền ảnh JPEG từ camera đến Arduino để chuyển tiếp. Các tập lệnh phía camera đi kèm nằm trong cây openmv tại 08-RPC-Library/.
README của repo hướng dẫn cách kết nối dây cho từng phương thức truyền tải; tài liệu tham khảo rpc --- thư viện rpc bao gồm đầy đủ API phía camera.