Mavlink - Micro Air Message Message Marchalling Library.
Mavlink هي مكتبة رسائل خفيفة الوزن للغاية فقط للاتصال بين الطائرات بدون طيار و/أو محطات التحكم في الأرض. وهو يتكون في المقام الأول من مواصفات مجموعة الرسائل لأنظمة مختلفة ("لهجات") محددة في ملفات XML ، وأدوات Python التي تحولها إلى رمز مصدر مناسب للغات المدعومة. هناك نصوص Python إضافية توفر أمثلة وأدوات مساعدة للعمل مع بيانات Mavlink.
Tip Mavlink مناسب جدًا للتطبيقات ذات النطاق الترددي للاتصالات المحدودة للغاية. تم تحسين تنفيذها المرجعي في C بشكل كبير للأنظمة المقيدة للموارد مع ذاكرة الوصول العشوائي المحدودة وذاكرة الفلاش. إنه مثبت في المجال ونشره في العديد من المنتجات حيث تعمل كواجهة قابلية للتشغيل البيني بين مكونات الشركات المصنعة المختلفة.
لتثبيت الحد الأدنى من بيئة Mavlink على Ubuntu LTS 20.04 أو 22.04 ، أدخل ما يلي في محطة:
# Dependencies
sudo apt install python3-pip
# Clone mavlink into the directory of your choice
git clone https://github.com/mavlink/mavlink.git --recursive
cd mavlink
python3 -m pip install -r pymavlink/requirements.txt
يمكنك بعد ذلك إنشاء مكتبة mavlink2 c for message_definitions/v1.0/common.xml
من دليل /mavlink
كما هو موضح:
python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated/include/mavlink/v2.0 message_definitions/v1.0/common.xml
لتضمين الرؤوس في CMake ، قم بتثبيتها محليًا ، على سبيل المثال في install
الدليل:
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install -DMAVLINK_DIALECT=common -DMAVLINK_VERSION=2.0
cmake --build build --target install
ثم استخدم find_package
للحصول على التبعية في CMakeLists.txt
:
find_package(MAVLink REQUIRED)
add_executable(my_program my_program.c)
target_link_libraries(my_program PRIVATE MAVLink::mavlink)
وتمرير دليل التثبيت المحلي إلى Cmake (التكيف مع بنية الدليل):
cd ../my_program
cmake -Bbuild -H. -DCMAKE_PREFIX_PATH=../mavlink/install
للحصول على مثال كامل ، تحقق من الأمثلة/ج.
ملاحظة: على الرغم من أننا نستخدم target_link_libraries
في Cmake ، إلا أنه لا "رابط" في Mavlink لأنه مجرد مكتبة رأس فقط.
ثم يتم تغطية تعليمات استخدام مكتبات C باستخدام مكتبات C Mavlink (Mavgen).
ملاحظة: يشرح تثبيت Mavlink Toolchain كيفية تثبيت Mavlink على منصات ونوافذ Ubuntu الأخرى ، بينما يشرح إنشاء مكتبات Mavlink كيفية بناء Mavlink للغات البرمجة الأخرى التي تدعمها المشروع. تشرح الطبقات الفرعية لاستخدام مكتبات Mavlink كيفية استخدام المكتبات التي تم إنشاؤها.