13.4. Bibliothèque OpenMV Arduino RPC¶
La bibliothèque openmv-arduino-rpc est le pendant côté Arduino du module rpc de la caméra. La caméra enregistre des appelables Python ; l’Arduino les appelle comme s’il s’agissait de fonctions locales, via UART, SPI, I2C ou CAN. Aucun PC ne se trouve au milieu.
Le schéma est symétrique. Le sketch Arduino choisit la classe de transport correspondant au câblage, appelle une fonction sur la caméra par son nom et récupère la valeur de retour. Le côté caméra fait de même en miroir : enregistrer des appelables Python, exécuter la boucle de scrutation de la bibliothèque. Le tramage, la fragmentation et les nouvelles tentatives sur un bus bruité sont gérés des deux côtés en arrière-plan, de sorte que le code applicatif ne voit que « appeler une fonction sur l’autre carte, récupérer un résultat ».
Les exemples du dépôt couvrent les deux formes dont la plupart des projets ont besoin : des appels de télécommande courts (lire un capteur, piloter une broche, exécuter un détecteur et relire le résultat) et le streaming d’images JPEG de la caméra vers l’Arduino pour les transférer plus loin. Les scripts côté caméra associés sont fournis dans l’arborescence openmv sous 08-RPC-Library/.
Le README du dépôt couvre le câblage propre à chaque transport ; la référence rpc — bibliothèque rpc couvre l’API côté caméra dans son intégralité.