13.4. Biblioteca OpenMV Arduino RPC¶
A biblioteca openmv-arduino-rpc é a contraparte, no lado do Arduino, do módulo rpc da câmera. A câmera registra objetos chamáveis do Python; o Arduino os chama como se fossem funções locais, por UART, SPI, I2C ou CAN. Nenhum PC fica no meio.
O padrão é simétrico. O sketch do Arduino escolhe a classe de transporte que corresponde ao fio, chama uma função na câmera pelo nome e recebe o valor de retorno de volta. O lado da câmera espelha isso: registra objetos chamáveis do Python e roda o laço de polling da biblioteca. O enquadramento, a fragmentação e as retentativas em um barramento ruidoso são tratados por ambos os lados internamente, de modo que o código da aplicação vê apenas “chame uma função na outra placa e receba um resultado de volta”.
Os exemplos do repositório cobrem as duas formas que a maioria dos projetos precisa: chamadas curtas de controle remoto (ler um sensor, acionar um pino, executar um detector e ler o resultado de volta) e streaming de imagens JPEG da câmera para o Arduino para encaminhamento adiante. Scripts pareados do lado da câmera vêm na árvore do openmv em 08-RPC-Library/.
O README do repositório cobre a fiação por transporte; a referência rpc — biblioteca rpc cobre a API do lado da câmera por completo.