وصف
MAVSDK عبارة عن مجموعة من المكتبات التي توفر واجهة برمجة تطبيقات عالية المستوى لـ MAVLink. ويهدف إلى أن يكون:
- سهل الاستخدام مع واجهة برمجة تطبيقات بسيطة تدعم كلاً من مكالمات واجهة برمجة التطبيقات المتزامنة (المحظورة) واستدعاءات واجهة برمجة التطبيقات غير المتزامنة باستخدام عمليات الاسترجاعات.
- سريع وخفيف الوزن.
- عبر الأنظمة الأساسية (Linux وmacOS وWindows وiOS وAndroid).
- قابلة للتوسيع (باستخدام البرنامج المساعد MavlinkPassthrough).
- متوافق تمامًا مع معيار/تعريفات MAVLink.
من أجل دعم لغات برمجة متعددة، تطبق MAVSDK خادم gRPC في C++ والذي يسمح للعملاء بلغات برمجة مختلفة بالاتصال به. يتم تعريف واجهة برمجة التطبيقات (API) بواسطة ملف IDL الأولي (ملفات أولية). تسمح هذه البنية بتنفيذ العملاء في أنماط اصطلاحية، وذلك باستخدام الأدوات وبناء الجملة المتوقعة من قبل المستخدمين النهائيين. على سبيل المثال، يمكن تثبيت مكتبة Python من PyPi باستخدام pip
.
يتكون الجزء MAVSDK C++ من:
- المكتبة الأساسية التي تنفذ اتصالات MAVLink الأساسية.
- تقوم مكتبات المكونات الإضافية بتنفيذ اتصال MAVLink الخاص بميزة ما.
- يقوم mavsdk_server بتنفيذ خادم gRPC لعملاء اللغة.
اتفاقيات إعادة الشراء
- MAVSDK - يحتوي هذا الريبو على الكود المصدري لنواة C++.
- MAVSDK-Proto - تعريفات الواجهة الشائعة لواجهة برمجة التطبيقات (API) المحددة كملفات أولية يستخدمها gRPC بين عملاء اللغة وmavsdk_server.
- MAVSDK-Python - عميل MAVSDK لـ Python (تم إصداره لأول مرة في Pypi 2019).
- MAVSDK-Swift - عميل MAVSDK لـ Swift (المستخدم في الإنتاج، تم إصداره لأول مرة في عام 2018).
- MAVSDK-Java - عميل MAVSDK لـ Java (تم إصداره لأول مرة على MavenCentral في عام 2019).
- MAVSDK-JavaScript - عميل MAVSDK في JavaScript (إثبات المفهوم، 2019).
- MAVSDK-Rust - عميل MAVSDK لـ Rust (إثبات المفهوم، 2019).
- MAVSDK-CSharp - عميل MAVSDK لـ CSharp (إثبات المفهوم، 2019).
- المستندات - مصدر مستندات MAVSDK.
المستندات
يمكن العثور على إرشادات حول كيفية استخدام مكتبة C++ في مستندات MAVSDK (يمكن العثور على روابط للغات البرمجة الأخرى من الشريط الجانبي للوثائق).
روابط سريعة:
- ابدء
- نظرة عامة على واجهة برمجة تطبيقات C++
- مرجع واجهة برمجة التطبيقات
- تثبيت المكتبة
- بناء المكتبة
- أمثلة
- التعليمات
رخصة
تم ترخيص هذا المشروع بموجب البند 3 من BSD المسموح به، راجع LICENSE.md.
صيانة
تتم صيانة هذا المشروع من قبل متطوعين:
- جوليان أويس (رعاية واستشارة).
- جوناس فاوثرين
لا تتم رعاية الصيانة من قبل أي شركة، ومع ذلك، يتم توفير استضافة المستندات والمنتدى من قبل مؤسسة Dronecode.
الدعم والقضايا
إذا كان لديك سؤال فقط، فكر في طرحه في المنتدى.
إذا واجهت مشكلة، أو اكتشفت خطأ، أو أردت طلب ميزة، فقم بإنشاء مشكلة. إذا كان الأمر مهمًا أو عاجلًا بالنسبة لك، فكر في رعاية أي من المشرفين لنقل المشكلة إلى قائمة المهام الخاصة بهم.
إذا كنت بحاجة إلى دعم خاص، فكر في الاستشارة المدفوعة:
(قم بإنشاء طلب سحب إذا كنت ترغب في أن يتم إدراجك هنا.)