陆续翻译了部分MAVLink官方文档,以备参考使用。可自由转载,注明出处即可
MAVLink官方GitBook链接
MAVLink 是一种适用于用于无人机通讯的轻量级消息通讯协议。
MAVLink 遵循新型混合发布订阅和点对点设计模式,数据流以话题形式发送/发布。配置子协议如任务协议或者参数协议等点对点模式包含重传功能。
消息使用XML文件定义。MAVLink系统支持XML文件定义消息设置,也可称之为“方言”。相应的消息设置已经是被实现过。实现了大多数地面控制站与飞行器之间的消息格式,在common.xml文件中(大部分方言都依据与这个定义)。
MAVLink工具链用使用XML消息定义来生成MAVLink库,支持多种编程语言。无人机、地面站和其他MAVLink系统使用生成的库实现通信。使用MIT-licensed,并且可以使用到各种闭源软件中。
MAVLink最早由Lorenz Meier于2009年发布,现在拥有大量的贡献者。
Key Features
- 高效。MAVLink 1每包仅含有8个字节的多余信息,包括开始标志和包定义。MAVLink 2每包有14个字节的多余信息(但是会更加安全性和协议扩展性)。因为MAVLink不需要任何附加框架,所以它非常适用于在低带宽环境下的通讯应用。
- 可靠。MAVLink从2009年开始应用于各种移动设备、地面站(和其他节点),经历各种各样的和富有挑战性的通信环境(高延时/噪声)。它提供了多种方法探测丢包、瘫痪和包校验。
- 支持多种编程语言。
- 网络支持多达255个并发系统。
- 支持板载通讯和非板载通讯(例如,地面站到无人机,无人机自动驾驶仪到支持MAVLink的无人机摄像头)。
Prebuilt MAVLink C Libraries
C MAVLink 源代码是自动生成的,为最新的版本,包含多有消息类型。
c_library_v2(MAVLink 2)
c_library_v1(MAVLink 1)