Keterangan
MAVSDK adalah sekumpulan perpustakaan yang menyediakan API tingkat tinggi ke MAVLink. Hal ini bertujuan untuk menjadi:
- Mudah digunakan dengan API sederhana yang mendukung panggilan API sinkron (pemblokiran) dan panggilan API asinkron menggunakan panggilan balik.
- Cepat dan ringan.
- Lintas platform (Linux, macOS, Windows, iOS, Android).
- Dapat diperluas (menggunakan plugin MavlinkPassthrough).
- Sepenuhnya sesuai dengan standar/definisi MAVLink.
Untuk mendukung berbagai bahasa pemrograman, MAVSDK mengimplementasikan server gRPC di C++ yang memungkinkan klien dalam bahasa pemrograman berbeda untuk terhubung. API ditentukan oleh proto IDL (file proto). Arsitektur ini memungkinkan klien untuk diimplementasikan dalam pola idiomatik, sehingga menggunakan perkakas dan sintaksis yang diharapkan oleh pengguna akhir. Misalnya, perpustakaan Python dapat diinstal dari PyPi menggunakan pip
.
Bagian MAVSDK C++ terdiri dari:
- Pustaka inti yang mengimplementasikan komunikasi dasar MAVLink.
- Pustaka plugin yang mengimplementasikan komunikasi MAVLink khusus untuk suatu fitur.
- mavsdk_server mengimplementasikan server gRPC untuk klien bahasa.
Repo
- MAVSDK - repo ini berisi kode sumber untuk inti C++.
- MAVSDK-Proto - Definisi antarmuka umum untuk API yang ditentukan sebagai file proto yang digunakan oleh gRPC antara klien bahasa dan mavsdk_server.
- MAVSDK-Python - Klien MAVSDK untuk Python (pertama kali dirilis pada Pypi 2019).
- MAVSDK-Swift - Klien MAVSDK untuk Swift (digunakan dalam produksi, pertama kali dirilis pada tahun 2018).
- MAVSDK-Java - Klien MAVSDK untuk Java (pertama kali dirilis di MavenCentral pada tahun 2019).
- MAVSDK-JavaScript - Klien MAVSDK dalam JavaScript (bukti konsep, 2019).
- MAVSDK-Rust - Klien MAVSDK untuk Rust (bukti konsep, 2019).
- MAVSDK-CSharp - Klien MAVSDK untuk CSharp (bukti konsep, 2019).
- Dokumen - Sumber dokumen MAVSDK.
dokumen
Petunjuk tentang cara menggunakan pustaka C++ dapat ditemukan di dokumen MAVSDK (tautan ke bahasa pemrograman lain dapat ditemukan dari sidebar dokumentasi).
Tautan Cepat:
- Memulai
- Ikhtisar API C++
- Referensi API
- Menginstal Perpustakaan
- Membangun Perpustakaan
- Contoh
- Pertanyaan Umum
Lisensi
Proyek ini dilisensikan berdasarkan klausa 3 BSD yang permisif, lihat LICENSE.md.
Pemeliharaan
Proyek ini dikelola oleh sukarelawan:
- Julian Oes (mensponsori, berkonsultasi).
- Jonas Vautherin
Pemeliharaan tidak disponsori oleh perusahaan mana pun, namun hosting dokumen dan forum disediakan oleh Dronecode Foundation.
Dukungan dan masalah
Jika Anda hanya memiliki pertanyaan, pertimbangkan untuk bertanya di forum.
Jika Anda mengalami masalah, menemukan bug, atau ingin meminta fitur, buatlah masalah. Jika hal ini penting atau mendesak bagi Anda, pertimbangkan untuk mensponsori pengelola mana pun untuk memasukkan masalah tersebut ke dalam daftar tugas mereka.
Jika Anda memerlukan dukungan pribadi, pertimbangkan konsultasi berbayar:
(Buat permintaan tarik jika Anda ingin dicantumkan di sini.)