MAVkit عبارة عن صندوق أدوات C++ لـ MAVLink 2.0 في سطر الأوامر.
ويمكنه عرض وإعادة توجيه وبث وتسجيل وإعادة تشغيل البيانات من وإلى أنواع مختلفة من الواجهات ( المسلسل ، UDP ، TCP ، الملف ).
MAVkit هو أيضًا إطار عمل لمبرمجي MAVLink. إنه مبني على بنية معيارية حيث يمكن استخدام كل وحدة بشكل مستقل داخل المشاريع الأخرى. في هذه الحالة، فإنه يوفر كتلة MAVLink بسيطة يمكن استبدالها وفقًا لأجهزة الاتصال.
تم تصميمه مع وضع زمن الوصول المنخفض في الاعتبار، فهو يحافظ على مخازن الإدخال/الإخراج آمنة من التدفقات الفائضة (مما يؤدي إلى فقدان البيانات) باستخدام حلقة معالجة مزدوجة الخيط لكل واجهة (قراءة ومعالجة سريعة).
ملاحظة: تأكد من استخدام الأمر العودي التالي، هناك مستويان من الوحدات الفرعية في mavlink.
git submodule update --init --recursive
التبعيات : Boost + MAVLink التبعيات المعتادة
mkdir build
cd build
cmake ..
make
يتم تنظيم Mavkit في وحدات تسمى برامج المراسلة . يستطيع برنامج المراسلة استقبال الرسائل وإرسالها إلى الآخرين بطريقة متزامنة تمامًا.
يمكن أن يكون كل برنامج مراسلة إما رابطًا تسلسليًا، أو مقبس UDP، أو ملف سجل،...
عليك تحديد رسول واحد على الأقل (الأول) لدور السيد . سيتم توصيل هذا الجهاز على وجه التحديد بكل برنامج مراسلة آخر تم إنشاؤه بعد ذلك. على العكس من ذلك، لن يتم ربط الرسل الثانويين بينهم.
فيما يلي مثال لمثيلين من MAVkit، يتألفان من 4 و2 مراسلين على التوالي ويتم ربطهما من خلال UDP. لاحظ أن السادة مرتبطون بجميع الرسل الآخرين، بينما هؤلاء غير مرتبطين بينهم.
بمجرد الانتهاء من إنشائه، يمكنك تشغيل MAVKit من سطر الأوامر عن طريق تحديد برامج المراسلة واحدًا تلو الآخر.
سوف يتولى الرسول الأول دور السيد.
الحجج :
على سبيل المثال: --tty /dev/ttyUSB0 57600
الحجج :
على سبيل المثال: --udp_server 14550
الحجج :
--udp_client 192.168.1.10 14550
الحجج :
على سبيل المثال: --tcp_server 14550
الحجج :
--tcp_client 192.168.1.10 14550
احفظ الرسائل المستلمة في ملف .raw و.ts (يحتوي .raw على بيانات mavlink الأولية، ويحتوي .ts على طابع زمني لكل رسالة).
لا الحجج.
--log
إعادة تشغيل محتوى ملفات .raw و.ts.
الحجج :
على سبيل المثال: --file ../myLog 2.0 50
رسائل الإخراج إلى stdout.
لا الحجج.
--display
يمكنك دمج أي عدد تريده من برامج المراسلة تقريبًا في سطر الأوامر.
مثال :
./mavkit --tty 57600 /dev/ttyACM0 --udp_server 14550 --display --log --tcp_client 127.0.0.1 14551