13.4. OpenMV Arduino RPC -kirjasto

openmv-arduino-rpc -kirjasto on Arduino-puolen vastine kameran rpc-moduulille. Kamera rekisteröi Python-kutsuttavia; Arduino kutsuu niitä kuin ne olisivat paikallisia funktioita, väylien UART, SPI, I2C tai CAN yli. Yksikään PC ei ole välissä.

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.

Kuvio on symmetrinen. Arduino-luonnos valitsee johtoa vastaavan siirtoluokan, kutsuu kameran funktiota nimellä ja saa paluuarvon takaisin. Kameran puoli peilaa tätä: rekisteröi Python-kutsuttavia, aja kirjaston pollaussilmukkaa. Kehystyksen, pirstoutumisen ja uudelleenyritykset meluisalla väylällä hoitavat molemmat puolet alla, joten sovelluskoodi näkee vain ”kutsu funktiota toisella kortilla, saa tulos takaisin”.

Repositorion esimerkit kattavat ne kaksi muotoa, joita useimmat projektit tarvitsevat: lyhyet kauko-ohjauskutsut (lue sensori, ohjaa nastaa, aja tunnistin ja lue tulos takaisin) ja JPEG-kuvan virtaaminen kamerasta Arduinoon edelleenvälitystä varten. Pariutetut kameran puolen skriptit toimitetaan openmv-puussa kohdassa 08-RPC-Library/.

Repositorion README kattaa siirtotapakohtaisen johdotuksen; rpc — rpc-kirjasto -viite kattaa kameran puolen rajapinnan kokonaisuudessaan.