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.结合实例应用编程

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

    关注

    6002

    文章

    43990

    浏览量

    620945
  • 通信协议
    +关注

    关注

    28

    文章

    739

    浏览量

    39764
  • 协议
    +关注

    关注

    2

    文章

    570

    浏览量

    38912
  • mavlink
    +关注

    关注

    0

    文章

    8

    浏览量

    2563
收藏 人收藏

    评论

    相关推荐

    如何认识伺服电机

    电子发烧友网站提供《如何认识伺服电机.zip》资料免费下载
    发表于 03-22 17:43 0次下载

    MAVLink在应用编程中的编程原理和思路

    嵌入式开发过程中,UART、 CAN、 USB等通信基本离不开通信协议。 下面给大家分享一种通信协议(MAVLink)在应用编程中的编程原理和思路。
    发表于 03-08 12:45 270次阅读
    <b class='flag-5'>MAVLink</b>在应用编程中的编程原理和思路

    浅析MCU通信、存储常用的简单校验算法

    UART有一个奇偶校验,CAN通信有CRC校验。Modbus、MAVlink、USB等通信协议也有校验信息。
    的头像 发表于 03-07 10:56 208次阅读
    浅析MCU通信、存储常用的简单校验算法

    简单认识变压器

    简单认识变压器
    的头像 发表于 01-25 10:05 369次阅读
    简单<b class='flag-5'>认识</b>变压器

    简单认识无源器件

    简单认识无源器件
    的头像 发表于 01-12 09:56 277次阅读
    简单<b class='flag-5'>认识</b>无源器件

    鼎阳科技推出SVA-TB01射频实验教学板

    2023年12月28日,鼎阳科技正式发布SVA-TB01射频实验教学板。SVA-TB01采用模块化设计,使用者可以自由组合电路,适用于射频工程师入门学习和高校射频通信课程实验。
    的头像 发表于 12-28 18:15 835次阅读
    鼎阳科技推出SVA-TB<b class='flag-5'>01</b>射频实验教学板

    简单认识NMOS管

    老生常谈我们先结合手册认识下这个器件:我们以无锡新洁能的NCE2302为例。
    的头像 发表于 11-13 16:47 1137次阅读
    简单<b class='flag-5'>认识</b>NMOS管

    认识静电?静电是什么?

    认识静电?静电是什么?|深圳比创达EMC
    的头像 发表于 10-08 10:48 900次阅读

    Qt5的学习资料

    时间。现在,按照年前做过的计划,我会来履行我的承诺,重新修订《Qt 学习之路》。不过,豆子计划将其取名为《Qt 学习之路 2》,或者就当作是 2.0 版本吧!从网上的反应来看,这个系列
    发表于 09-28 06:20

    认识电磁干扰?

    认识电磁干扰?相信不少人是有疑问的,今天深圳市比创达电子科技有限公司就跟大家解答一下!
    的头像 发表于 09-27 10:30 979次阅读

    敏矽微电子Cortex-M0学习笔记01——芯片简介

    敏矽微电子Cortex-M0学习笔记01——芯片简介
    的头像 发表于 09-26 17:03 532次阅读
    敏矽微电子Cortex-M0<b class='flag-5'>学习</b>笔记<b class='flag-5'>01</b>——芯片简介

    绍兴有没有做STM的同行,认识

    我在绍兴新昌,想学习STM32,有没有同行指导一下。感谢。可以认识
    发表于 09-07 10:35

    步步向前,曙光已现:百度的大模型之路

    大模型之路如何走?文心加飞桨,翩然赴星河
    的头像 发表于 08-21 09:04 831次阅读
    步步向前,曙光已现:百度的大模型<b class='flag-5'>之路</b>

    如何让ESP8266通过TCP或UDP中继该串行数据?

    将无人机上的飞行控制器 MCU 配置为通过串行 UART 发送遥测数据包(采用 MavLink 协议)。所以我可以将飞行控制器的 Rx 输出连接到 ESP8266 上的 Tx 输入,然后将 Tx 连接
    发表于 06-07 08:42

    如何使用WIFI模块进行飞控与地面站之间的MAVlink通信?

    ESP8266系列模组其主要包括ESP-01,ESP-01S,ESP-12F等型号。本文主要以ESP-01为例,介绍如何使用WIFI模块进行飞控与地面站之间的MAVlink通信。
    发表于 05-22 15:36 1940次阅读
    如何使用WIFI模块进行飞控与地面站之间的<b class='flag-5'>MAVlink</b>通信?