13.4. Knihovna OpenMV Arduino RPC

Knihovna openmv-arduino-rpc je protějškem na straně Arduina k modulu rpc kamery. Kamera registruje pythonovské volatelné objekty; Arduino je volá, jako by to byly lokální funkce, přes UART, SPI, I2C nebo CAN. Žádné PC mezi tím není.

Vlevo deska Arduino a vpravo OpenMV kamera, spojené čtyřmi popsanými přenosovými linkami -- UART (dva vodiče), SPI (čtyři vodiče), I2C (dva vodiče) a CAN (dva vodiče) -- ukazující párování na úrovni vodičů, která knihovna Arduino RPC umí obsloužit.

Vzor je symetrický. Arduino sketch zvolí přenosovou třídu odpovídající vodiči, zavolá funkci na kameře podle jména a získá zpět návratovou hodnotu. Strana kamery to zrcadlí: zaregistruje pythonovské volatelné objekty a spustí dotazovací (polling) smyčku knihovny. Rámcování, fragmentaci a opakované pokusy na zašuměné sběrnici obě strany řeší pod kapotou, takže aplikační kód vidí jen „zavolej funkci na druhé desce a dostaň zpět výsledek“.

Příklady v repozitáři pokrývají dvě podoby, které potřebuje většina projektů: krátká volání dálkového ovládání (přečíst senzor, ovládnout pin, spustit detektor a přečíst zpět výsledek) a streamování JPEG obrazu z kamery do Arduina k dalšímu přeposlání. Párové skripty na straně kamery jsou dodávány ve stromu openmv pod 08-RPC-Library/.

README repozitáře pokrývá zapojení pro jednotlivé přenosy; reference rpc — knihovna rpc pokrývá API na straně kamery v plném rozsahu.