mavlink/MAVSDK
API and library for MAVLink compatible systems written in C++
解决的问题
MAVSDK 提供了一个高阶且易于使用的 API 来与 MAVLink 互动,简化了控制无人机及其他无人载具的流程。它消除了原始 MAVLink 通讯的复杂性,为开发者提供了一个更简单的接口来实现载具控制与监控。
运作方式
该项目围绕着一个处理基础 MAVLink 通讯的 C++ 核心库以及特定功能的插件库所构建。它使用 proto IDL 来定义跨语言的 API。
根据语言的不同,绑定方式分为两种:
- 直接绑定: C、Python 和 Kotlin 绑定通过 C 包装器调用 C++ 库,无需额外的处理程序或 gRPC。
- 通过 gRPC: 其他语言客户端(如 Swift、Java 和 Go)与
mavsdk_server程序通讯,该程序会在本地端口公开 API。
目标对象
为无人载具开发应用程序,且需要跨平台(Linux、macOS、Windows、iOS、Android)与轻量级 SDK 来与符合 MAVLink 标准的硬件进行通讯的开发者。
特色亮点
- 多语言支持: 提供 Python、C++、C、Kotlin、Swift、Java 等语言的惯用 API。
- 跨平台: 适用于桌面与移动操作系统。
- 灵活的 API: 支持同步(阻塞)与异步(基于回调)调用。
- 符合标准: 完全符合 MAVLink 标准与定义。
相关
- 项目
- 项目
- 项目
- 项目
- 项目