MAVLink是一种非常轻量级的消息传递协议,用于与无人机(以及板载无人机组件之间)进行通信。
MAVLink遵循现代混合发布-订阅和点对点设计模式:数据流作为主题发送/发布,而配置子协议(如任务协议或参数协议)是点对点重传。
消息在XML文件中定义。每个XML文件定义特定MAVLink系统支持的消息集,也称为“方言”。由大多数地面控制站和自动驾驶仪实现的参考消息集在common.xml中定义(大多数方言构建在此定义的顶部)。
MAVLink工具链使用XML消息定义为每种受支持的编程语言生成MAVLink库。无人机,地面控制站和其他MAVLink系统使用生成的库进行通信。这些通常是MIT许可的,因此可以在任何闭源应用程序中无限制地使用,而无需发布闭源应用程序的源代码。
MAVLink于2009年初由Lorenz Meier首次发布,现在已经有相当数量的贡献者。
MAVLink消息格式
MAVLink消息格式如图1所示。
MAVLink消息中各字段含义如图2所示。
参考链接
- MAVLink Developer Guide,by mavlink homepage.
- 无人机通讯协议 –Mavlink 学习, by Theshy.
- Pixhawk原生固件PX4之MAVLink协议解析,by FantasyJXF.