0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MAVLink学习之路01_ 认识MAVLink

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-07 16:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1写在前面

1.MAVLink是一种非常轻量级的通信协议,在简单的8位单片机上也可以运行。

2.MAVLink的初衷主要是用于无人机上,但它的通用性和可移植性非常好,它也可以应用于其它很多场合。

3.MAVLink的设计方式值得学习通信的朋友研究一下。

2

关于MAVLink

2.1 描述

MAVLink:Micro Air Vehicle Link,即微型飞行器连接通信协议,于2009年初由Lorenz Meier首次发布。

Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议。

MAVLink是一种非常轻量级的通信协议,主要用于与无人机(以及板载无人机组件之间)进行通信。

2.2 主要特征

1.效率很高

MAVLink V1每帧最少只有8个字节的数据,包括帧头和数据包丢弃检测;

MAVLink V2每帧最少只有14个字节的数据(是一个更加安全和可扩展的协议);

2.非常可靠

自2009年以来,MAVLink一直被用于在各种不同且具有挑战性的通信信道上的许多不同车辆,地面站(和其他节点)之间进行通信。它提供了检测数据包丢失,损坏和数据包身份验证的方法。

3.支持多种编程语言

可在多种MCU(如:STM32、Atmega、ARM7)和操作系统(如:Windows,Linux,MacOS,AndroidiOS)上运行。

4.支持网络上最多255个并发系统

2.3 参考网址

官网:https://mavlink.io/en

地面站:

http://qgroundcontrol.org/mavlink/start

维基百科:

https://en.wikipedia.org/wiki/MAVLink

(提示:微信公众号不支持外链接,请复制链接到浏览器打开)

3

MAVLink协议格式

目前MAVLink有两个版本:V1和V2版本,差异及详情请看下图:

MAVLink V2是V1的拓展版本,是一个更加安全和可扩展的协议。

由于市面上应用较广的还是V1版本,且支持的编程语言也是V1多余V2。因此,接下来(MAVLink学习之路)我都会结合MAVLink V1来讲述(学会V1,V2和容易就掌握了)。

3.1 MAVLink V1格式

MAVLink通信内容包含常见通信协议帧头、帧尾、长度、校验等。协议格式及详情见下图:

4

MAVLink使用方法和步骤

MAVLink之所以受广大无人机开发朋友的喜爱,原因就在于MAVLink移植方便、操作简单,以及它的兼容性很好(当然,这些都是它的优点,缺点肯定也是有的)。

要想使用MAVLink,一些基本的操作肯定还是得有。方便初学者对MAVLinK有进一步的认识,我先罗列主要步骤。

4.1 主要步骤

1.下载相应安装包及工具

2.环境搭建

3.通过xml配置MSG消息

4.移植到STM32

5.结合实例应用编程

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663552
  • 通信协议
    +关注

    关注

    28

    文章

    1073

    浏览量

    41869
  • 协议
    +关注

    关注

    2

    文章

    616

    浏览量

    40836
  • mavlink
    +关注

    关注

    0

    文章

    9

    浏览量

    2758
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为RK3568开发板安装烧录工具-安装 RKTool 驱动

    在烧写镜像之前首先需要安装 RKTool 驱动。 RKTool 驱动在网盘资料“iTOP-3568 开发板\\\\01_【iTOP-RK3568 开发板】基础资料【V1.7版本
    发表于 05-29 10:47

    即刻启程,踏上W55MH32高性能以太网单片机学习之路

    即刻启程,踏上W55MH32高性能以太网单片机学习之路!即刻开启W55MH32学习之旅!本教系列程配套官方手册与W55MH32L开发板,从外设功能框图解析到代码实操,助你掌握高性能以太网单片机的架构和核心原理,轻松驾驭多接口及以
    的头像 发表于 05-07 18:51 834次阅读
    即刻启程,踏上W55MH32高性能以太网单片机<b class='flag-5'>学习</b><b class='flag-5'>之路</b>!

    汽车上云的不可逆之路

    新四化大趋势下,汽车上云之路已不可逆
    的头像 发表于 04-18 09:59 469次阅读

    一文带你学习认识反激开关电源设计!

    开关电源的磁芯元件详细设计,是开关电源的必经之路 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 03-27 16:22

    如何使用UCANS32K146读取MAVLINK

    我正在使用 UCANS32K146 开发板,正在寻找驱动程序或示例代码来从 Orange Cube 飞行控制器读取 MAVLINK...... https://docs.cubepilot.org
    发表于 03-26 06:36

    LC-DC01P2 LC-DC01P2

    电子发烧友网为你提供AIPULNION(AIPULNION)LC-DC01P2相关产品参数、数据手册,更有LC-DC01P2的引脚图、接线图、封装手册、中文资料、英文资料,LC-DC01P2真值表,LC-DC
    发表于 03-25 18:40
    LC-DC<b class='flag-5'>01</b>P2 LC-DC<b class='flag-5'>01</b>P2

    LC-AC01C2 LC-AC01C2

    电子发烧友网为你提供AIPULNION(AIPULNION)LC-AC01C2相关产品参数、数据手册,更有LC-AC01C2的引脚图、接线图、封装手册、中文资料、英文资料,LC-AC01C2真值表,LC-AC
    发表于 03-25 18:37
    LC-AC<b class='flag-5'>01</b>C2 LC-AC<b class='flag-5'>01</b>C2

    LC-AC01P2 LC-AC01P2

    电子发烧友网为你提供AIPULNION(AIPULNION)LC-AC01P2相关产品参数、数据手册,更有LC-AC01P2的引脚图、接线图、封装手册、中文资料、英文资料,LC-AC01P2真值表,LC-AC
    发表于 03-24 18:50
    LC-AC<b class='flag-5'>01</b>P2 LC-AC<b class='flag-5'>01</b>P2

    LC-AC01F2-TS LC-AC01F2-TS

    电子发烧友网为你提供AIPULNION(AIPULNION)LC-AC01F2-TS相关产品参数、数据手册,更有LC-AC01F2-TS的引脚图、接线图、封装手册、中文资料、英文资料,LC-AC01F2-TS真值表,LC-AC
    发表于 03-24 18:49
    LC-AC<b class='flag-5'>01</b>F2-TS LC-AC<b class='flag-5'>01</b>F2-TS

    华硕主板架构认识

    电子发烧友网站提供《华硕主板架构认识.pdf》资料免费下载
    发表于 03-12 16:54 14次下载

    迅为RK3588开发板实时系统编译-Preemption系统/ Xenomai系统编译-实时系统烧写-固件获取方式

    烧写的镜像可以根据第 3 章自行编译,也可以直接烧写迅为提供好的镜像。为了方便大家使用,迅为提供了实时系统 buildroot 的镜像,可以在网盘资料“iTOP-3588 开发板\\\\01_
    发表于 02-11 14:50

    NEVB-MCTRL-100-01-3INV-001-01电机驱动器评估套件

    电子发烧友网站提供《NEVB-MCTRL-100-01-3INV-001-01电机驱动器评估套件.pdf》资料免费下载
    发表于 02-10 14:33 0次下载
    NEVB-MCTRL-100-<b class='flag-5'>01-3INV-001-01</b>电机驱动器评估套件

    迅为RK3588开发板实时系统编译-Preemption系统/ Xenomai系统编译-实时系统烧写-安装RKTool驱动

    在烧写镜像之前首先需要安装 RKTool 驱动。 RKTool 驱动在网盘资料“iTOP-3588 开发板\\\\01_【iTOP-RK3588 开发板】基础资料
    发表于 02-07 10:57

    迅为RK3588开发板实时系统编译-Preemption系统/ Xenomai系统编译-获取Linux源码包

    默认开发环境已经搭建好,推荐大家使用 Ubuntu20 开发环境。 首先选择使用的实时系统源码,Preemption 实时系统源码网盘下载路径为“iTOP-3588 开发板\\\\01_
    发表于 01-09 11:03

    传统机器学习方法和应用指导

    在上一篇文章中,我们介绍了机器学习的关键概念术语。在本文中,我们会介绍传统机器学习的基础知识和多种算法特征,供各位老师选择。 01 传统机器学习 传统机器
    的头像 发表于 12-30 09:16 1982次阅读
    传统机器<b class='flag-5'>学习</b>方法和应用指导