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

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

    关注

    6035

    文章

    44554

    浏览量

    634629
  • 通信协议
    +关注

    关注

    28

    文章

    879

    浏览量

    40295
  • 协议
    +关注

    关注

    2

    文章

    602

    浏览量

    39212
  • mavlink
    +关注

    关注

    0

    文章

    8

    浏览量

    2594
收藏 人收藏

    评论

    相关推荐

    迅为RK3568开发板定制扩展分区SDK源码编译-获取Linux-定制扩展分区源码包

    、ubuntu24 环境均可在不进行任何配置的情况下编译编译通过。 Linux-定制扩展分区源码网盘下载路径:“iTOP-3568 开发板\\\\01_【iTOP-RK3568 开发板】基础资料
    发表于 11-25 10:24

    反射内存交换机的基本认识

    反射内存交换机的基本认识
    的头像 发表于 11-14 17:22 191次阅读

    反射内存卡的基本认识

    教你认识反射内存卡
    的头像 发表于 11-14 14:28 286次阅读
    反射内存卡的基本<b class='flag-5'>认识</b>

    灵活多元的EMC学习方案

    第九期EMC实战特训营来了!01EMC实战特训营SES课程简介学员自主安排学习时间,提高效率结合直播、录播与答疑,满足需求学员可提问,讲师全程支持累计70年经验,助力学员掌握要点02课程分类EMC
    的头像 发表于 10-25 08:05 183次阅读
    灵活多元的EMC<b class='flag-5'>学习</b>方案

    赛盛EMC在线学习平台:揭秘学习宝典&amp;amp;工具秘籍!

    《赛盛在线学习及工具应用》线上发布会SESOnline【经验结晶,智启未来之路】在电磁兼容浩瀚海洋中,我们深耕近二十年,积累了丰富的EMC(电磁兼容)技术经验及培训经验。此刻,这份深厚积累汇成知识
    的头像 发表于 10-11 08:03 669次阅读
    赛盛EMC在线<b class='flag-5'>学习</b>平台:揭秘<b class='flag-5'>学习</b>宝典&amp;amp;工具秘籍!

    基于迅为RK3568/RK3588开发板的AI图像识别方案

    01_官方模型测试 02_人脸识别 03_口罩检测 04_工地防护 05_扑克牌识别 06_手掌关键点检测 07_人脸特征点检测
    发表于 08-28 09:50

    认识贴片电阻吗,你对他了解多少?

    认识贴片电阻吗,你对他了解多少?
    的头像 发表于 08-27 15:49 452次阅读
    你<b class='flag-5'>认识</b>贴片电阻吗,你对他了解多少?

    必看!光伏并网逆变器的3个典型认识误区

    总是下意识地、第一时间从逆变器入手,去寻找原因和解决方案。在日常交流中发现尽管分布式光伏在国内已经高速发展了多年,但仍然有几个典型的对逆变器的认识误区存在。今天就来聊一聊。 01 逆变器输出电压吗? “交流输出电压”这
    的头像 发表于 07-11 16:32 958次阅读
    必看!光伏并网逆变器的3个典型<b class='flag-5'>认识</b>误区

    如何认识伺服电机

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

    STM32高手进阶之路与实用学习步骤

    CPU是相通的,相信大部分的同学都学习过单片机,是有一定基础的。如果你碰到问题,去尝试了,自己把问题解决了,你会很有成就感!
    的头像 发表于 03-13 09:38 595次阅读

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

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

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

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

    简单认识变压器

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

    【Rust AI】01. 使用Jupyter学习Rust

    根据 Bing 的说法:“泰坦尼克号数据集是用于数据科学和机器学习的流行数据集。它包含有关泰坦尼克号上的乘客的信息,包括年龄、性别、等级、票价以及他们是否在灾难中幸存。这个数据集经常用于预测建模练习
    的头像 发表于 01-14 11:16 1716次阅读
    【Rust AI】<b class='flag-5'>01</b>. 使用Jupyter<b class='flag-5'>学习</b>Rust

    简单认识无源器件

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