13.4. OpenMV Arduino RPC Library¶
Die Bibliothek openmv-arduino-rpc ist das Arduino-seitige Gegenstück zum rpc-Modul der Cam. Die Cam registriert aufrufbare Python-Objekte; der Arduino ruft sie auf, als wären es lokale Funktionen, über UART, SPI, I2C oder CAN. Kein PC sitzt dazwischen.
Das Muster ist symmetrisch. Der Arduino-Sketch wählt die Transport-Klasse, die zur Verkabelung passt, ruft eine Funktion auf der Cam beim Namen auf und erhält den Rückgabewert zurück. Die Cam-Seite spiegelt das wider: aufrufbare Python-Objekte registrieren, die Polling-Schleife der Bibliothek ausführen. Framing, Fragmentierung und Wiederholungen auf einem verrauschten Bus werden von beiden Seiten im Hintergrund erledigt, sodass der Anwendungscode nur „rufe eine Funktion auf dem anderen Board auf, erhalte ein Ergebnis zurück“ sieht.
Die examples des Repos decken die beiden Formen ab, die die meisten Projekte benötigen: kurze Fernsteuerungsaufrufe (einen Sensor lesen, einen Pin ansteuern, einen Detektor ausführen und das Ergebnis zurücklesen) und JPEG-Bildstreaming von der Cam zum Arduino zur Weiterleitung. Passende Cam-seitige Skripte werden im openmv-Baum unter 08-RPC-Library/ ausgeliefert.
Die README des Repos behandelt die Verkabelung pro Transport; die Referenz rpc — rpc-Bibliothek behandelt die Cam-seitige API in vollem Umfang.