博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MAVLink学习之路01_认识MAVLink
阅读量:2045 次
发布时间:2019-04-28

本文共 1778 字,大约阅读时间需要 5 分钟。

MAVLink最新全套教程:

4.MAVLink学习之路04_MAVLink移植到STM32具体步骤
5.MAVLink学习之路05_MAVLink应用编程接口分析
······

该系列教程已经在我的个人微信公众号 「strongerHuang」 整理并分享。因在这里分享文章,还需单独整理一遍,时间有限,就不再一一重复整理出来了。

想要查看更多相关教程,可以关注我的,在公众号底部菜单,或者回复【MAVLink学习之路】即可查看。

申明:该文档由作者「strongerHuang」原创发布,仅供个人学习使用,转载请公众号联系作者授权。版权所有,禁止商用

一、写在前面

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

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

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

因此,学习无人机开发、学习通信原理、需要实现设备间通信的朋友都值得参看本文。

二、关于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,Android和iOS)上运行。

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

2.3 参考网址

官网:

地面站:

维基百科:

三、MAVLink协议格式

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

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

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

3.1 MAVLink V1格式

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

四、MAVLink使用方法和步骤

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

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

4.1 主要步骤

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

2.环境搭建

3.通过xml配置MSG

4.移植到STM32

5.结合实例应用编程

当然,以上几点只是概要内容,详细的内容请查看该系列教程后面文章。

五、说明

1.因IAR各种IDE针对的处理器差异较大,所以关于节点选项的配置差异也较大。本文讲述关于EWSTM8的许多节点选项可能在其他IDE中没有。

2.版权所有,禁止商用
3.该文档由作者「strongerHuang」原创发布,仅供个人学习使用,转载请公众号联系作者授权。

六、最后

为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该系列教程已更新于我的个人微信公众号 「strongerHuang」 ,关注微信公众号回复【MAVLink学习之路】即可查看。

我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus…等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号。

你可能感兴趣的文章
虚函数的工作原理
查看>>
01背包、完全背包、多重背包问题分析
查看>>
一道位运算的算法题
查看>>
创建型模式之原型模式
查看>>
结构型模式之适配器模式(Adapter)
查看>>
结构型模式之桥接模式(Bridge)
查看>>
结构型模式之组合模式(Composite)
查看>>
结构型模式之装饰(Decorator)
查看>>
结构型模式之外观模式(Facade)
查看>>
结构型模式之享元模式(FlyWeight)
查看>>
结构型模式之代理模式(Proxy)
查看>>
行为型模式之职责链模式(Chain of responsibility)
查看>>
行为型模式之命令模式(command)
查看>>
行为型模式之解释器模式(Interpreter)
查看>>
行为型模式之迭代器模式(Iterator)
查看>>
行为型模式之中介者模式(Mediator)
查看>>
行为型模式之备忘录模式(Memento)
查看>>
行为型模式之观察者模式(Observer)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>