【C/C++/QT/ 移植/导入Mavlink V2.0/Mavlink V1.0教程】

2023-05-16

提示:本文针对的实例是Mavlink V2.0版本,Mavlink V1.0版本其实也是类似的的步骤,选择的mavlink库不一样而已。

 官方链接放在此:Install MAVLink · MAVLink Developer Guide

文章目录

  • 前言
  • 一、准备材料
  • 二、使用步骤
  • 总结


前言

Mavlink是一种非常轻量级的消息传输协议,用于地面站控制终端(地面站)与无人机之间(以及机载无人机组件之间)进行通信。mavlink V1.0以0xFE为头;mavlinkV2.0以0xFD为头


一、准备材料

1.准备预建的MAVLINK库(请根据需求选择下载MAVLINKV1.0或者MAVLINKV2.0版本):

  • c_library_v2 (MAVLink V2.0)
  • c_library_v1 (MAVLink V1.0)

2.搭建环境(python3 和 git)

python环境:

1.进入python官网下载window版本下的python(Python for Windows)。

请根据需求和电脑版本进行下载,本文下载的是python-3.10.6,64位,安装步骤如下:

1)双击下载的.msi安装包进行安装界面。

 2)点击“运行",进入下一步。务必勾选上”Add Python 3.10 to PATH“,添加路径至系统变量中,你可以选择默认路径下载,或者自定义路径安装,这里比较建议自定义路径安装。

 

点击”Next“进入下一步。

 

点击”Browse“选择要安装的路径,再点击”Install“安装,直至安装完成,点击”close“

 

 

 至此,python安装完毕

 3)安装future模块

键盘输入”win+R“调出运行界面,输入cmd确认后进入终端界面

使用python命令即可在终端查看python信息,使用exit()命令可退出python环境

 在终端中使用pip3 install future命令安装future模块,本电脑已经安装了相应模块

Git环境:本电脑已经安装了git软件,故不再一步步截图安装,再次放出下载Git安装路径Git官方点击下载,读者可根据安装提示一直下一步即可,比较简单。

二、使用步骤

1.下载mavlinkgenerator

1)新建一个空文件夹mavlink,进入该文件夹后右击,右击选择“git bush here”;

2)在git 命令窗口中执行方式:

git clone GitHub - mavlink/mavlink: Marshalling / communication library for drones.

如果下载失败的话可以考虑换个网多试几下,最好能翻墙下载,这样比较快。

注意:此处我的mavlink下载到了C盘用户目录下,由于python安装在D盘,我就把mavlink文件夹复制到了D盘,和python在同一个目录下
git终端中切换到mavlink文件夹下,更新子模块

git submodule update --init –recursive

一定要更新子模块,不然后续运行会出错

3)执行mavgenerate.py,这是用Python语言编写的MAVLink的图形用户界面代码生成器。

 XML:选择c_library_v2-master/message_definitions/common.xml。

Out :自己选择一个目录存储(可新建一个文件用来存放生成的结果)
Language:选择自己需要的语言(注意:mavlinkV2.0版本 protocol要选为2.0;mavlinkV1.0版本 protocol选择1.0
点击Generate则可.(可看见生成结果的文件夹中会出现以下的库文件)

2.导入程序中使用

可将上述文件加导入到自己的项目中去,再需要的地方引入/common/mavlink.h即可使用:


总结

记录于2022/09/05,第一次写入博客,记录之意。如有问题,欢迎评论区讨论奥

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C/C++/QT/ 移植/导入Mavlink V2.0/Mavlink V1.0教程】 的相关文章

  • mavlink消息帧里最重要的两个东西,一个是msgid;一个是payload

    mavlink消息帧里最重要的两个东西 xff0c 一个是msgid xff1b 一个是payload 在这里也可以看出 https blog csdn net sinat 16643223 article details 10891315
  • 找到了中文版的mavlink手册

    以前搜到的似乎都是英文的 xff0c 这次看到中文的了 http mavlink io zh 我发现接收函数mavlink手册就有讲 xff0c mavlink parse char 你是一个劲百度就不肯看mavlink手册 http ma
  • putty串口打开没反应_树莓派3B使用mavlink串口连接PIXHAWK_V5

    树莓派3B使用mavlink串口连接PIXHAWK V5 参考网址 xff1a http ardupilot org dev docs raspberry pi via mavlink html https dev px4 io en ro
  • 树莓派+Pixhawk之三:通过Mavlink连接

    这里将会写树莓派和ardupilot之间的连接 先写之四
  • STM32 移植Mavlink,Keil报错

    STM32 移植Mavlink xff0c Keil报一大堆错误 span class token keyword static span span class token keyword void span span class toke
  • 无人机服务器通信协议软件设计,支持MAVLink通信协议的微型无人机数传电路设计...

    摘要 xff1a 近年来 随着无人机技术不断的创新和进步以及制造成本的降低 无人机市场也在不断壮大和发展 而发展的同时也带来了挑战 对飞控系统对于数据的采集速度 处理速度 精度都有了更为严苛的要求 传统的基于MCU的飞控系统 在对数据采集系
  • 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗?

    1 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗 xff1f 2 如何自定义 xff08 选择 配置 xff09 发送给QGC的MAVLink消息 xff1f
  • PX4飞控-自定义发送MavLink消息

    PX4飞控 自定义发送MavLink消息 一 自定义XML文件 如图所示 这相当于定义了一个结构体 xff0c 结构体里面就有一个类型为uint8 t的u8元素 使用的id端口为150 xff0c 这里注意不要与已经存在的id重复 二 使用
  • Mavlink协议

    Mavlink协议简介 Mavlink协议简介 一Mavlink协议二数据结构三协议支持的数据类型四性能五航点协议 读取MAV的航点列表写MAV的航点列表清除MAV的航点列表设置当前MAV航点 六参数的读写 读取参数列表读取单个参数写参数
  • QGC添加自定义组件和发送自定义MAVLINK消息

    QGC添加自定义组件和发送自定义MAVLINK消息 一 添加自定义组件1 1 在飞行界面添加组件1 2 实现组件事件1 3 在MOCK模拟链接中实现验证1 4 验证 二 自定义MAVLINK消息的一些预备知识三 QGC自定义MAVLINK消
  • MAVLINK消息在Ardupilot中的接收和发送过程

    MAVLINK消息在Ardupilot中的接收和发送过程 SCHED TASKupdate receive update send 由于现在网上很多的都是APM旧版本的解释 xff0c 因此把自己的一些学习所得记录下来 截至写博客日期 xf
  • 【无人机开发】通讯协议MavLink详解

    1 MAVLink简介 MAVLink xff08 Micro Air Vehicle Link xff0c 微型空中飞行器链路通讯协议 xff09 是无人飞行器与地面站 xff08 Ground Control Station xff0c
  • Ardupilot自定义mavlink消息

    在ardupilot modules mavlink message definitions v1 0 commom xml文件结尾处添加自定义消息 lt 20220713WP 添加一个mavlink消息 gt lt message id
  • px4调试bug--添加mavlink_log_info信息

    写在前面的话 有一阵子没有看px4的代码了 由于项目和论文的需要 又要接触这个 其中又遇到一些新的问题 找到了一些新的解决方法 故在此记录一下 总是在几种飞控代码之间跳来跳去 没有认真研究一个 有点遗憾 PX4的代码调试还没有找到什么好的方
  • ardupilot之mavlink消息--从飞控发出--单向

    飞控采用mavlink消息进行数据的传输 普遍说法是 xff0c 现有的mavlink消息几乎已经涵盖了所有你的能想象到的内容 xff0c 完全可以覆盖多处需求 无奈科研总是要定义一些新鲜玩意 xff0c 所以总是有无法完全满足需求 xff
  • px4中的mavlink协议

    原文地址 xff1a http blog csdn net oqqENvY12 article details 61615609 PX4 对Mavlink 协议提供了良好的原生支持 该协议既可以用于地面站 Ground ControlSta
  • MAVLink认识、使用、自定义

    对mavlink的认识 MAVLink是针对小型飞行器 xff08 MAV xff09 的一个lightweight header only message marshalling library 由头文件构成的信息编组库 它被封装成C结构
  • MAVLink代码

    MAVLink是一种通信协议 xff0c 用于在微型无人机 MAV 和其他系统之间进行通信 它是一种二进制消息格式 xff0c 用于在无人机和地面站之间传送数据 MAVLink代码通常用于编写无人机的固件或为无人机开发地面站软件 它也可以用
  • 在ubuntu上安装mavlink-router

    版本说明 xff1a ubuntu 20 0 04 mavlink router 2 为了安装mavlink router 需要预先安装一些依赖库 xff1a autoconf libtool python future python3 f
  • PX4模块设计之四十七:mavlink模块

    PX4模块设计之四十七 xff1a mavlink模块 1 mavlink模块简介2 模块入口函数mavlink main3 mavlink模块重要函数3 1 Mavlink start3 2 Mavlink task main3 3 Ma

随机推荐

  • Ubuntu:与Windows共享文件夹

    1 说明 我个人更喜欢在windows下编辑代码或文档 xff0c 而运行环境又经常在Linux环境下进行 xff0c 那么Windows和Linux之间的协作就显得很有必要了 通常有两种方式来实现两个系统之间的文件共享 xff1a 在Li
  • C语言处理参数的 getopt() 函数

    前言 C语言程序主要通过 main 函数的参数来传递命令行参数 xff1a 默认传递命令行参数 int main int argc char argv 其中 argc 表示参数个数 xff08 包含程序本身 xff09 xff0c argv
  • SPD5详解

    SPD介绍 SPD xff08 serial presence detect xff09 xff0c 即串行存在检测 xff0c 是DIMM的相关描述信息 在每根内存条上 xff0c 都有一份SPD数据 xff0c 这份数据保存在一个可擦写
  • 基于CentOS更新 glibc - 解决 `GLIBC_2.29‘ not found

    说明 在一个 CentOS Stream8 上安装或运行某些程序时 xff0c 报 96 GLIBC 2 29 39 not found xff0c 因为系统自带的 glibc 库版本只到 glibc 2 28 strings usr li
  • FreeRTOS源码分析与应用开发05:信号量

    目录 1 信号量概述 1 1 信号量概念 1 2 4种信号量 1 2 1 二值信号量 1 2 2 计数信号量 1 2 3 互斥信号量 1 2 4 递归互斥信号量 1 3 信号量相关控制结构 1 3 1 队列结构 1 3 2 任务结构 2 二
  • FreeRTOS Task switch

    vTaskSwitchContext中看pxCurrentTCB traceTASK SWITCHED OUT 切出 taskSELECT HIGHEST PRIORITY TASK traceTASK SWITCHED IN 切入新的ta
  • 嵌入式常见总线分类总结

    任何一个微处理器都要与一定数量的部件和外围设备连接 xff0c 但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接 xff0c 那么连线将会错综复杂 xff0c 甚至难以实现 为了简化硬件电路设计 简化系统结构 xff0c 常用
  • linux压测工具stress和stress-ng下载

    1 下载 2020 5 16实测以下地址能下载 stress https fossies org linux privat stress 1 0 4 tar gz stress ng https aur tuna tsinghua edu
  • 设备树Device Tree详解

    原文 xff1a https www cnblogs com aaronLinux p 5496559 html 目录 1 设备树 xff08 Device Tree xff09 基本概念及作用 2 设备树的组成和使用 2 1 DTS和DT
  • 十六进制与ascii码互转 C语言实现

    十六进制与ascii码互转 C语言实现 1 ascii转16进制 func char to hex desc convert ascii to 16 hex input ascii return hex unsigned char char
  • Android 11.0 支持exFAT文件系统

    Android 11 0 支持exFAT文件系统 U盘常见文件系统类型有FAT32 NTFS exFAT xff0c Android默认支持FAT32 一般也有NTFS类型编译选项 xff0c 但是exFAT由于版权或者其他原因 xff0c
  • repo sync遇到warning: project ‘repo‘ branch ‘stable‘ is not signed

    warning project 39 repo 39 branch 39 stable 39 is not signed This can happen on Linux and Mac I 39 ve personally experie
  • C语言单链表基本操作总结

    C语言单链表基本操作 本文是参考他人实现的C语言单链表 xff0c 对多篇博文整理的结果 xff0c 仅作为学习笔记 文末有参考出处 1 单链表定义 链表是通过一组任意的存储单元来存储线性表中的数据元素 xff0c 这些存储单元可以是连续的
  • 开源项目-类似58同城的项目启动

    已经进入编程这行已经3年 xff0c 最近想做一个自己的开源项目 xff0c 最后选来选去 xff0c 选中了类似58同城的功能的项目作为开始 下面是一些列的工作 xff0c 里面会体系我是怎样把这个项目做出来 xff0c 包括思路 技术
  • CMakeLists完整解析(一)

    CMakeLists完整解析 xff08 一 xff09 首先 xff0c 我们先通过介绍一下相关的核心概念来引入CMakeLists 1 gcc make和cmake gcc xff08 GNU Compiler Collection x
  • FreeRTOS源码分析与应用开发08:任务通知

    目录 1 概述 1 1 任务通知概念 1 2 任务通知控制结构 2 发送任务通知 2 1 任务级发送 2 2 中断级发送 2 2 1 xTaskNotifyFromISR函数 2 2 2 vTaskNotifyGiveFromISR函数 3
  • 基于ROS机器人的3D物体识别与三维重建(一) 介绍篇

    基于ROS机器人的3D物体识别与三维重建 一 xff09 介绍篇 由来 xff1a 清理电脑硬盘 xff0c 发现了当时做毕设的一些资料 xff0c 所以打算整理一下资料和代码写成专栏 xff0c 记录下当时的暗金岁月 xff0c 尽管现在
  • WIFI模块实现网络连接

    WiFi模块连接 xff0c 通过串口调试助手来配置 STA 43 连接TCP Server 1 AT 43 CWMODE DEF 61 1 工作在单station模组 xff0c 设置参数保存到flash 2 AT 43 CWJAP DE
  • 关于飞机绕地球飞行一圈的加油问题

    已知 xff1a 每个飞机只有一个油箱 xff0c 飞机之间可以相互加油 xff0c 注意是相互 xff0c 没有加油机 xff0c 一箱油可供一架飞机绕地球飞半圈 问题 xff1a 为使至少一架飞机绕地球一圈回到起飞时的飞机场 xff0c
  • 【C/C++/QT/ 移植/导入Mavlink V2.0/Mavlink V1.0教程】

    提示 xff1a 本文针对的实例是Mavlink V2 0版本 xff0c Mavlink V1 0版本其实也是类似的的步骤 xff0c 选择的mavlink库不一样而已 官方链接放在此 xff1a Install MAVLink MAVL