13.4. OpenMV Arduino RPC Library¶
Az openmv-arduino-rpc könyvtár az Arduino-oldali párja a kamera rpc moduljának. A kamera Python hívható objektumokat regisztrál; az Arduino úgy hívja meg őket, mintha helyi függvények lennének, UART, SPI, I2C vagy CAN felett. Nincs PC a kettő között.
A minta szimmetrikus. Az Arduino vázlat kiválasztja a vezetékhez illő átviteli osztályt, név szerint meghív egy függvényt a kamerán, és visszakapja a visszatérési értéket. A kamera oldala ezt tükrözi: regisztrálja a Python hívható objektumokat, és futtatja a könyvtár lekérdező ciklusát. A keretezést, a töredezést és az újrapróbálkozásokat egy zajos buszon mindkét oldal kezeli a háttérben, így az alkalmazáskód csak annyit lát, hogy „hívj meg egy függvényt a másik kártyán, és kapj vissza egy eredményt.”
A tároló példái a legtöbb projekt által igényelt két formát fedik le: rövid távoli vezérlési hívásokat (érzékelő olvasása, láb vezérlése, észlelő futtatása és az eredmény visszaolvasása) és JPEG-képek streamelését a kameráról az Arduinóra a továbbításhoz. A párba állított kameraoldali szkriptek az openmv fában a 08-RPC-Library/ alatt érkeznek.
A tároló README fájlja az átvitelenkénti bekötést tárgyalja; a rpc — rpc könyvtár referencia pedig teljes terjedelmében a kameraoldali API-t.