【飞控协议】MavLink介绍和编译

MavLink是什么?

MavLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)
是在串口通讯基础上的一种更高层的开源通讯协议,主要应用在无人飞行器与地面站之间通讯,以及无人飞行器之间通讯最常用的协议。

官方学习文档:
Introduction · MAVLink Developer Guide

MavLink的数据格式:

目前数据包格式有两种 :V1 和 V2
区别:V2是V1的拓展版本,是一个更加安全的可拓展协议。

V1 的格式

MAVLink通信内容包含常见通信协议帧头、帧尾、长度、校验等。具体如下

【飞控协议】MavLink介绍和编译_第1张图片
消息包封装过程
【飞控协议】MavLink介绍和编译_第2张图片

封包流程

【飞控协议】MavLink介绍和编译_第3张图片

消息包示例

【飞控协议】MavLink介绍和编译_第4张图片

MavLink编译和移植

1. 配置环境

Linux
	1.  Python3.3+
	sudo apt install python3-pip
	2. Python future module
	pip3 install  --user future
	3. Tklnter
	sudo apt install python3-tk
	4. 拉去代码 : Git :
	git clone https://github.com/mavlink/mavlink.git --recursive
	5. 设置包含mavlink存储库的目录路径
	 PYTHONPATH=path_to_root_of_cloned_mavlink_repository
win
	1.  Python3.3+
	  下载地址:https://www.python.org/downloads/
	2. Python future module
	  pip3 install future
	3. Tklnter(已作为Python for Windows的一部分安装)
	4. 拉去代码 : Git :
	  git clone https://github.com/mavlink/mavlink.git --recursive
	5. 设置包含mavlink存储库的目录路径
	  set PYTHONPATH=C:\path_to_root_of_cloned_mavlink_repository

2. 生成MavLink

进入MavLink目录
cd ardupilot/modules/mavlink/

执行mavgenerate.py 文件
python mavgenerate.py 【飞控协议】MavLink介绍和编译_第5张图片

依据文件:/common.xml 输出内容展示:

【飞控协议】MavLink介绍和编译_第6张图片

项目移植到Android
【飞控协议】MavLink介绍和编译_第7张图片

你可能感兴趣的:(协议,网络协议,MavLink,飞控,无人机)