描述
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 基金会提供。
支持和问题
如果您有疑问,请考虑在论坛中提问。
如果您遇到问题、发现错误或想要请求功能,请创建问题。如果这对您来说很重要或紧急,请考虑赞助任何维护者将问题移到他们的待办事项列表中。
如果您需要私人支持,请考虑付费咨询:
(如果您希望在此处列出,请创建拉取请求。)