描述
MAVSDK 是一組為 MAVLink 提供高階 API 的函式庫。其目標是:
- 簡單的 API 易於使用,支援同步(阻塞)API 呼叫和使用回呼的非同步 API 呼叫。
- 快速且輕便。
- 跨平台(Linux、macOS、Windows、iOS、Android)。
- 可擴充(使用 MavlinkPassthrough 外掛程式)。
- 完全符合 MAVLink 標準/定義。
為了支援多種程式語言,MAVSDK 用 C++ 實作了 gRPC 伺服器,允許不同程式語言的用戶端連線。 API 由 proto IDL(proto 檔案)定義。這種架構允許客戶端以慣用的模式實現,因此使用最終使用者期望的工具和語法。例如,可以使用pip
從 PyPi 安裝 Python 程式庫。
MAVSDK C++ 部分包括:
- 實現基本 MAVLink 通訊的核心庫。
- 插件庫實現特定於功能的 MAVLink 通訊。
- mavsdk_server 為語言客戶端實作 gRPC 伺服器。
回購協議
- MAVSDK - 此儲存庫包含 C++ 核心的原始碼。
- MAVSDK-Proto - API 的通用介面定義,指定為 gRPC 在語言用戶端和 mavsdk_server 之間使用的 proto 檔案。
- MAVSDK-Python - 適用於 Python 的 MAVSDK 用戶端(首次在 Pypi 2019 上發布).
- MAVSDK-Swift - 適用於 Swift 的 MAVSDK 用戶端(在生產中使用,於 2018 年首次發布).
- MAVSDK-Java - 適用於 Java 的 MAVSDK 用戶端(於 2019 年首次在 MavenCentral 上發布).
- MAVSDK-JavaScript - JavaScript 中的 MAVSDK 用戶端(概念驗證,2019).
- MAVSDK-Rust -Rust 的 MAVSDK 用戶端(概念驗證,2019).
- MAVSDK-CSharp - CSharp 的 MAVSDK 用戶端(概念證明,2019)。
- 文件 - MAVSDK 文檔來源。
文件
有關如何使用 C++ 庫的說明可以在 MAVSDK 文件中找到(可以從文件側邊欄找到其他程式語言的連結)。
快速連結:
- 入門
- C++ API 概述
- API參考
- 安裝庫
- 建設圖書館
- 範例
- 常問問題
執照
此專案根據寬鬆的 BSD 3 條款獲得許可,請參閱 LICENSE.md。
維護
此計畫由志工維護:
- Julian Oes(贊助、諮詢)。
- 喬納斯‧沃瑟林
維護不是由任何公司贊助的,但文件和論壇的託管由 Dronecode 基金會提供。
支持和問題
如果您有疑問,請考慮在論壇中提問。
如果您遇到問題、發現錯誤或想要要求功能,請建立問題。如果這對您來說很重要或緊急,請考慮贊助任何維護者將問題移到他們的待辦事項清單中。
如果您需要私人支持,請考慮付費諮詢:
(如果您希望在此處列出,請建立拉取請求。)