13.4. مكتبة OpenMV Arduino RPC

مكتبة openmv-arduino-rpc هي النظير على جانب Arduino لوحدة rpc الخاصة بالكاميرا. تُسجّل الكاميرا دوال Python القابلة للاستدعاء؛ ويستدعيها Arduino كما لو كانت دوالاً محلية، عبر UART أو SPI أو I2C أو CAN. لا يجلس أي حاسوب في المنتصف.

An Arduino board on the left and an OpenMV cam on the right, connected by four labelled transport lines -- UART (two wires), SPI (four wires), I2C (two wires), and CAN (two wires) -- showing the wire-level pairings the Arduino RPC library can drive.

النمط متماثل. يختار مخطط Arduino صنف النقل الذي يطابق السلك، ويستدعي دالة على الكاميرا بالاسم، ويستعيد القيمة المُرجَعة. ويعكس جانب الكاميرا ذلك: سجّل دوال Python القابلة للاستدعاء، وشغّل حلقة الاستقصاء الخاصة بالمكتبة. يُعالَج التأطير والتجزؤ وإعادة المحاولات على ناقل مشوّش من الجانبين تحت السطح، بحيث ترى شيفرة التطبيق مجرد "استدعِ دالة على اللوحة الأخرى، واستعِد نتيجة".

تغطي أمثلة المستودع الشكلين اللذين تحتاجهما معظم المشاريع: استدعاءات تحكم عن بُعد قصيرة (اقرأ مستشعراً، وشغّل دبوساً، وشغّل كاشفاً واقرأ النتيجة) وبث صور JPEG من الكاميرا إلى Arduino لإعادة توجيهها لاحقاً. تأتي البرامج النصية المقترنة على جانب الكاميرا في شجرة openmv ضمن 08-RPC-Library/.

يغطي README المستودع التوصيل لكل نقل؛ ويغطي مرجع rpc --- مكتبة rpc واجهة برمجة جانب الكاميرا بالكامل.