参考https://cloud.tencent.com/developer/news/48344
https://www.cnblogs.com/lovechen/p/5801679.html
https://www.cnblogs.com/lovechen/p/5809709.htm
是一种用于飞行器上的轻量级成熟通信协议,与很多自定的协议相比,它的开发难度非常小,有现成的配置工具,可直接生成MSG代码(简单来说,就是生成对应的函数接口供你直接调用即可),直接调用几个相应的函数接口即可,不需要自己封装、解析等;突出的优点在于配置和调用比较简单
1.配置
MAVLink通过xml文件,配置信息(MSG),这个MSG可以理解成我们需要接收或者发送的数据变量。比如:运动控制包含速度和距离,xml配置如下:
2.通过生成代码
从官网下载mavlink(git clone https://github.com/mavlink/mavlink.git)
mavlink官网(http://qgroundcontrol.org/mavlink/start),下拉到MAVLink Code and Generator如下图,得到mavlink源码有多种途径,这里选取用python生成。即点击MAVLink Generator (C/C++, Python)
git clone https://github.com/mavlink/mavlink mavlink-generator
3.调用代码
代码生成,只需要简单调用两个函数接口即可:
两个函数即可:
mavlink_msg_motion_pack:封包函数接口;
mavlink_msg_to_send_buffer:转换成发送的BUF