mavlink(三)生成器离线安装与使用

发布时间 2023-09-17 00:53:46作者: 流翎

1. 安装生成器

1.1. 环境准备

因网络环境限制,无法在线安装相关软件包,且ubuntu离线安装需要解决较多依赖包问题,故以下介绍windows离线安装方式。

系统:MAVLink开发环境可以搭建在Windows和Linux系统。此处选windows安装。
工具包:python3.3以上、Future、lxml、MAVlink、pymavlink代码生成工具包。

工具包路径

Python
Future
lxml
MAVLink
pymavlink

1.1.1. Python 安装

Python版本要求3.3+以上,这里下载python3.10.7离线安装包作为示例。

安装步骤

以管理员权限运行exe文件,按步骤进行安装,可勾选添加环境变量选项。安装目录不要带中文路径;

python安装步骤1

Cmd命令行输入python --version检测版本号,可正常显示说明安装成功;

python安装步骤2

若无法显示版本,则手动添加系统环境变量;

python安装步骤3

1.1.2. Future 安装

下载Future安装包,这里以future-0.18.2版本示例。

安装步骤:

解压缩安装包,以管理员权限运行cmd,进入解压后的包路径,执行 python setup.py install:

Future安装步骤1

Future安装步骤2

1.1.3. Lxml 安装

下载lxml 安装包,这里以lxml-4.9.1-cp310-cp310-win_amd64.whl示例,版本要求和python版本一致(python是3.10)。

安装步骤

以管理员权限运行cmd,执行pip install lxml-4.9.1-cp310-cp310-win_amd64.whl

lxml安装步骤1

1.1.4. Pymavlink安装

下载mavlink源码,这里下载mavlink-1.0.12 版本;

下载mavlink目录下的pymavlink(master分支)版本(仅下载mavlink压缩包是不带pymavlink的,需要手动下载pymavlink),并拷贝所有子文件至mavlink/pymavlink目录下;

安装步骤
以管理员权限运行cmd,进入pymavlink目录下,执行python setup.py install

Pymavlink安装步骤1

Pymavlink安装步骤2

2. 生成C库代码

Mavlink支持多种编程语言,可以通过代码生成器,生成指定语言的库文件,mavlink提供的库文件都是头文件。

运行cmd,进入mavlink文件目录,执行python mavgenerate.py,可调出代码生成器UI。

mavgenerate生成器1

  • Xml 文本框选择xml文件路径,可以是自定义的xml文件,也可以是mavlink自带的common.xml;
  • Out 文本框选择库文件生成路径;
  • Language 选择编程语言,这里选C;
  • 版本号支持v1和v2,这里选2.0;

mavgenerate生成器2

选择好后点击Generate,即可生成库代码文件。

库代码文件

3. 库文件介绍

  • common文件夹:common.xml定义的MAVLink消息,包括各种消息的头文件;
    common.h:定义MAVLink各个消息包中用到的枚举类型,各个消息包对应的CRC—EXTRA值、LENGTH值,包含(include)各个消息包的头文件;
    各个消息的头文件:1)定义消息内容对应的数据结构,2)打包、发送消息的便捷函数,3)消息包解析并获取各个参数
  • checksum.h:计算校验码的代码 ;
  • mavlink_conversions.h:dcm,欧拉角,四元数之间的转换;
  • mavlink_helper.h:提供各种便捷函数:
    • 将各个消息包补充完整并发送。将数据载荷加上消息帧的头部,如sysid和compid等,计算校验码,补充成为完整的mavlink消息包后发送;
    • MAVLink消息包解析;
  • mavlink_types.h:定义用到的各种基本结构体(如mavlink_message_t)、枚举类型(如 mavlink_param_union_t);