mavlink/MAVSDK-Python
MAVSDK client for Python.
解决的问题
MAVSDK-Python 让 Python 开发者无需编写底层 MAVLink 代码即可控制无人机和其他基于 MAVLink 的飞行器。它提供了一个基于 asyncio 的 Python API,与 C++ 后端通信,因此你可以通过简单的 Python 脚本发送起飞和降落等命令。
工作原理
该包装器是一个 gRPC 客户端,与用 C++ 编写的 gRPC 服务器(即“后端”或 mavsdk_server)通信。大部分 Python 代码是从 proto 文件(MAVSDK-Proto)自动生成的。当你使用 await drone.connect() 连接时,该包会自动启动一个嵌入的 mavsdk_server,默认端口为 50051,除非你指定了不同的服务器地址。你也可以手动运行 mavsdk_server 并连接到它,这在嵌入式二进制文件无法工作的平台上(如较旧的 Raspberry Pi)非常有用。
适用人群
适用于希望使用高级异步 API 控制无人机、地面站或其他 MAVLink 设备的 Python 开发者。也适用于任何使用 MAVSDK 且更喜欢 Python 而非原生 C++ API 的人。
亮点
- 从 proto 定义自动生成 – API 始终与官方 MAVSDK 协议保持同步。
- 支持 Async/await – 需要 Python 3.7+,并使用
asyncio进行非阻塞操作。 - 捆绑服务器 –
mavsdk_server已包含在内,并在连接时自动启动。 - 更名为
mavsdk-grpc– 该包在 PyPI 上从mavsdk更名为mavsdk-grpc;旧名称现在指代不同的原生绑定。
相关
- 项目
- 项目
- 项目
- 项目