13.4. Библиотека OpenMV Arduino RPC¶
Библиотека openmv-arduino-rpc – это аналог модуля rpc камеры на стороне Arduino. Камера регистрирует вызываемые объекты Python; Arduino вызывает их как локальные функции через UART, SPI, I2C или CAN. ПК в середине не участвует.
Паттерн симметричен. Скетч Arduino выбирает класс передачи, соответствующий проводам, вызывает функцию на камере по имени и получает обратно возвращаемое значение. Сторона камеры зеркально повторяет это: регистрирует вызываемые объекты Python, запускает цикл опроса библиотеки. Кадрирование, фрагментация и повторные попытки на зашумлённой шине обрабатываются обеими сторонами под капотом, поэтому прикладной код видит просто «вызови функцию на другой плате, получи результат обратно».
Примеры в репозитории охватывают две формы, нужные большинству проектов: короткие вызовы удалённого управления (прочитать датчик, управлять выводом, запустить детектор и прочитать результат обратно) и потоковую передачу JPEG-изображений с камеры на Arduino для дальнейшей пересылки. Парные скрипты для стороны камеры поставляются в дереве openmv в 08-RPC-Library/.
README репозитория охватывает подключение проводов для каждого вида передачи; справочник rpc — библиотека rpc полностью охватывает API на стороне камеры.