MAVLINK - Pesan Kendaraan Udara Mikro Perpustakaan Marshalling.
Mavlink adalah perpustakaan pesan yang sangat ringan dan hanya header untuk komunikasi antara drone dan/atau stasiun kontrol darat. Ini terutama terdiri dari spesifikasi yang ditetapkan pesan untuk sistem yang berbeda ("dialek") yang didefinisikan dalam file XML, dan alat Python yang mengubahnya menjadi kode sumber yang sesuai untuk bahasa yang didukung. Ada skrip Python tambahan yang memberikan contoh dan utilitas untuk bekerja dengan data Mavlink.
Tip Mavlink sangat cocok untuk aplikasi dengan bandwidth komunikasi yang sangat terbatas. Implementasi referensi di C sangat dioptimalkan untuk sistem yang dibatasi sumber daya dengan RAM terbatas dan memori flash. Ini terbukti di lapangan dan dikerahkan dalam banyak produk di mana ia berfungsi sebagai antarmuka interoperabilitas antara komponen dari berbagai produsen.
Untuk memasang lingkungan Mavlink minimal di Ubuntu LTS 20.04 atau 22.04, masukkan yang berikut di terminal:
# 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
Anda kemudian dapat membangun mavlink2 c-library untuk message_definitions/v1.0/common.xml
dari direktori /mavlink
seperti yang ditunjukkan:
python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated/include/mavlink/v2.0 message_definitions/v1.0/common.xml
Untuk memasukkan header di CMake, pasang secara lokal, misalnya ke dalam direktori install
:
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install -DMAVLINK_DIALECT=common -DMAVLINK_VERSION=2.0
cmake --build build --target install
Kemudian gunakan find_package
untuk mendapatkan ketergantungan di CMakeLists.txt
:
find_package(MAVLink REQUIRED)
add_executable(my_program my_program.c)
target_link_libraries(my_program PRIVATE MAVLink::mavlink)
Dan berikan direktori instalasi lokal ke cmake (beradaptasi dengan struktur direktori Anda):
cd ../my_program
cmake -Bbuild -H. -DCMAKE_PREFIX_PATH=../mavlink/install
Sebagai contoh lengkap, periksa contoh/c.
Catatan: Meskipun kami menggunakan target_link_libraries
di CMake, itu sebenarnya tidak "tautan" untuk Mavlink karena itu hanya perpustakaan header saja.
Instruksi untuk menggunakan perpustakaan C kemudian dibahas dalam menggunakan C Mavlink Libraries (MAVGEN).
Catatan: Menginstal Mavlink Toolchain menjelaskan cara menginstal Mavlink di platform dan windows Ubuntu lainnya, sambil menghasilkan perpustakaan Mavlink menjelaskan cara membangun Mavlink untuk bahasa pemrograman lain yang didukung oleh proyek. Sub-topik menggunakan pustaka Mavlink menjelaskan cara menggunakan pustaka yang dihasilkan.