自定义mavlink协议库

一、需要的资源

  • mavlink官网:https://mavlink.io/
  • 自定义mavlink消息生成工具:https://github.com/ArduPilot/mavlink
  •  安装pymavlink的官方库:pip install pymavlink

二、如何生成并使用自定义的mavlink协议

 1. mavlink消息生成工具如下:

自定义mavlink协议库_第1张图片

 2. 运行mavgenerate.py,弹出如下窗口,点击Generate按钮即可生成库文件,我这里将其命名为example.py

自定义mavlink协议库_第2张图片

 3. 生成自定义后的python依赖文件后将文件放入到安装的pymavlink的路径下的dialects文件夹下

 自定义mavlink协议库_第3张图片

dialects文件结构如图,放v10或者v20文件夹下都可以,一般1.0的mavlink放v10,2.0的mavlink放v20 

自定义mavlink协议库_第4张图片

自定义mavlink协议库_第5张图片

 4. 在pymavlink的文件路径中找到工具类mavutil

 在mavutil.py文件中添加如下代码:

// 这两行代码文件中本来就有,我们需要把ardupilotmega改为example
if not 'MAVLINK_DIALECT' in os.environ:
    os.environ['MAVLINK_DIALECT'] = 'example'

//这两行是我们需要新增的
if not 'MAVLINK20' in os.environ:
    os.environ["MAVLINK20"] = "2.0"

5. 接下来我们就可以进行mavlink程序开发了

from pymavlink import mavutil
 
 
//建立mavlink协议连接
the_connection2 = mavutil.mavlink_connection(('udp:127.0.0.1:20'))

 

你可能感兴趣的:(智能硬件自动化测试,python,开发语言)