13.4. OpenMV Arduino RPC Library

Library openmv-arduino-rpc adalah pasangan sisi Arduino untuk modul rpc kamera. Kamera mendaftarkan callable Python; Arduino memanggilnya seolah-olah fungsi lokal, melalui UART, SPI, I2C, atau CAN. Tidak ada PC yang menjadi perantara.

An Arduino board on the left and an OpenMV cam on the right, connected by four labelled transport lines -- UART (two wires), SPI (four wires), I2C (two wires), and CAN (two wires) -- showing the wire-level pairings the Arduino RPC library can drive.

Polanya simetris. Sketch Arduino memilih kelas transport yang sesuai dengan kabel, memanggil fungsi pada kamera berdasarkan nama, dan mendapatkan nilai kembalian. Sisi kamera mencerminkannya: daftarkan callable Python, jalankan loop polling library. Pembingkaian, fragmentasi, dan percobaan ulang pada bus yang bising ditangani oleh kedua sisi di bawahnya, sehingga kode aplikasi hanya melihat "panggil fungsi di board lain, dapatkan hasil kembali."

Bagian examples dalam repo mencakup dua bentuk yang paling dibutuhkan proyek: panggilan remote-control singkat (baca sensor, kendalikan pin, jalankan detektor dan baca hasilnya kembali) dan streaming citra JPEG dari kamera ke Arduino untuk diteruskan. Skrip sisi kamera yang berpasangan tersedia di pohon openmv di bawah 08-RPC-Library/.

README repo mencakup pengkabelan per-transport; referensi rpc --- pustaka rpc mencakup API sisi kamera secara lengkap.