MavLink是什么?
MavLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)
是在串口通讯基础上的一种更高层的开源通讯协议,主要应用在无人飞行器与地面站之间通讯,以及无人飞行器之间通讯最常用的协议。
官方学习文档:
Introduction · MAVLink Developer Guide
MavLink的数据格式:
目前数据包格式有两种 :V1 和 V2
区别:V2是V1的拓展版本,是一个更加安全的可拓展协议。
V1 的格式
MAVLink通信内容包含常见通信协议帧头、帧尾、长度、校验等。具体如下
消息包封装过程
封包流程
消息包示例
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
依据文件:/common.xml 输出内容展示:
项目移植到Android
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)