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

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
在这里插入图片描述

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
APM 2.6是一种飞控硬件设备,需要通过编译来安装飞控固件。编译是将源代码转换为可执行文件的过程。下面是APM 2.6飞控固件编译的步骤: 1. 准备编译环境:首先需要在电脑上安装好编译工具链,如GCC编译器、make工具等。同时,还需要下载APM 2.6飞控固件的源代码,可以从官方网站或开源社区获取。 2. 配置编译选项:进入源代码的目录,找到Makefile文件,并打开该文件。在Makefile文件中,可以设置编译选项,如选择编译的目标平台、指定编译器等。 3. 编译:在命令行工具中进入源代码目录,并执行编译命令。根据不同的操作系统和编译工具链,编译命令可能会有所不同,一般是通过make命令来执行编译。 4. 等待编译完成:编译过程需要一定的时间,等待编译完成。如果编译过程中出现错误,需要根据错误提示进行调试和修复。 5. 安装固件:编译成功后,会生成可执行文件。将该文件通过USB连接到APM 2.6飞控硬件设备上,通过相应的工具将固件文件烧录到飞控硬件中。 6. 系统设置:安装完成固件后,可以通过连接计算机的地面站软件对飞控进行系统配置。设置飞行参数、飞行模式等。 总结来说,APM 2.6飞控固件编译需要准备编译环境,配置编译选项,执行编译命令,等待编译完成,安装固件并进行系统设置。编译过程需要一定的技术基础和耐心,但通过正确的操作步骤,可以成功编译安装APM 2.6飞控固件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值