13.4. OpenMV Arduino RPC Kütüphanesi

openmv-arduino-rpc kütüphanesi, kameranın rpc modülünün Arduino tarafındaki muadilidir. Kamera Python çağrılabilirlerini kaydeder; Arduino bunları yerel işlevlermiş gibi UART, SPI, I2C veya CAN üzerinden çağırır. Arada bir PC bulunmaz.

Solda bir Arduino kartı ve sağda bir OpenMV kamera; dört etiketli aktarım hattıyla bağlanmış -- UART (iki tel), SPI (dört tel), I2C (iki tel) ve CAN (iki tel) -- Arduino RPC kütüphanesinin sürebileceği tel düzeyindeki eşleşmeleri gösterir.

Örüntü simetriktir. Arduino taslağı (sketch) tele uyan aktarım sınıfını seçer, kamera üzerindeki bir işlevi adıyla çağırır ve dönüş değerini geri alır. Kamera tarafı bunu yansıtır: Python çağrılabilirlerini kaydeder, kütüphanenin yoklama döngüsünü çalıştırır. Gürültülü bir veri yolundaki çerçeveleme, parçalama ve yeniden denemeler altta her iki tarafça da işlenir, böylece uygulama kodu yalnızca “diğer kart üzerindeki bir işlevi çağır, bir sonuç al” işlemini görür.

Deponun örnekleri, çoğu projenin ihtiyaç duyduğu iki biçimi kapsar: kısa uzaktan kumanda çağrıları (bir sensör oku, bir pin sür, bir tespit edici çalıştır ve sonucu geri oku) ve kameradan Arduino’ya ileriye iletmek üzere JPEG görüntü akışı. Eşleştirilmiş kamera tarafı betikleri, openmv ağacında 08-RPC-Library/ altında gelir.

Depo README dosyası aktarım başına kablolamayı kapsar; rpc — rpc kütüphanesi referansı kamera tarafı API’sini tüm ayrıntılarıyla kapsar.