13.4. Biblioteca OpenMV Arduino RPC¶
Biblioteca openmv-arduino-rpc este omologul de pe partea Arduino al modulului rpc al camerei. Camera înregistrează funcții Python apelabile; Arduino le apelează ca și cum ar fi funcții locale, prin UART, SPI, I2C sau CAN. Niciun PC nu se află la mijloc.
Tiparul este simetric. Schița (sketch) Arduino alege clasa de transport care se potrivește cu firul, apelează o funcție de pe cameră după nume și primește înapoi valoarea de retur. Partea camerei o reflectă în oglindă: înregistrați funcții Python apelabile, rulați bucla de interogare a bibliotecii. Încadrarea, fragmentarea și reîncercările pe o magistrală zgomotoasă sunt gestionate de ambele părți pe dedesubt, astfel încât codul aplicației vede doar „apelează o funcție pe cealaltă placă, primește un rezultat înapoi”.
Exemplele din depozit acoperă cele două forme de care au nevoie majoritatea proiectelor: apeluri scurte de control la distanță (citirea unui senzor, comanda unui pin, rularea unui detector și citirea rezultatului înapoi) și transmiterea în flux a imaginilor JPEG de la cameră la Arduino pentru redirecționare mai departe. Scripturile pereche de pe partea camerei vin în arborele openmv la 08-RPC-Library/.
Fișierul README al depozitului acoperă cablarea per transport; referința rpc — biblioteca rpc acoperă în întregime API-ul de pe partea camerei.