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ä.

Vasemmalla Arduino-kortti ja oikealla OpenMV-kamera, jotka on yhdistetty neljällä merkityllä siirtolinjalla -- UART (kaksi johtoa), SPI (neljä johtoa), I2C (kaksi johtoa) ja CAN (kaksi johtoa) -- mikä esittää johdotustason pariutukset, joita Arduino RPC -kirjasto voi ajaa.

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.