主要内容

mavlinkio

联系MAVLink客户交换消息

自从R2019a

描述

mavlinkio对象连接与MAVLink客户通过UDP端口交换消息的无人机(无人机)使用MAVLink通信协议。

创建

描述

mavlink= mavlinkio (msgDefinitions)创建一个接口与MAVLink客户使用的输入mavlinkdialect对象,它定义了消息定义。这个方言对象直接设置方言财产。

例子

mavlink= mavlinkio (dialectXML)直接指定消息定义的XML文件作为文件名。一个mavlinkdialect是使用这个XML文件创建和设置方言财产

mavlink= mavlinkio (dialectXML版)另外指定了MAVLink协议版本12

mavlink= mavlinkio (___、名称、值)另外指定参数使用以下名称-值对。

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

名称-值对直接设置MAVLink客户信息LocalClient财产。看到LocalClient更多信息可以设置什么值。

属性

全部展开

MAVLink方言,指定为一个mavlinkdialect对象。方言MAVLink协议指定了消息结构。

这个属性是只读的。

本地客户端信息,指定为一个结构。本地客户端设置在MATLAB®与其他MAVLink客户交流。该结构包含以下字段:

  • SystemID

  • ComponentID

  • 组件类型

  • AutopilotType

在创建时设置这些值mavlinkio对象,使用名称-值对。例如:

mavlink = mavlinkio (“common.xml”、“SystemID”1“ComponentID”, 1)

这个属性是nontunable当你连接到一个MAVLink客户机。有关更多信息,请参见mavlinkclient

数据类型:结构体

对象的功能

连接 通过UDP端口连接到MAVLink客户
断开连接 断开MAVLink客户
sendmsg 发送MAVLink消息
sendudpmsg UDP端口发送MAVLink消息
serializemsg 二进制序列化MAVLink消息缓冲区
listConnections 列出所有活跃MAVLink连接
listClients 列出所有连接MAVLink客户
listTopics 列出所有主题MAVLink接收到客户端

例子

全部折叠

连接到一个MAVLink客户机。

mavlink = mavlinkio (“common.xml”);连接(mavlink“UDP”);

创建对象来存储客户信息。指定系统和组件ID。

客户= mavlinkclient (mavlink 1 1)
客户= mavlinkclient属性:SystemID: 1 ComponentID: 1组件类型:“未知”AutopilotType:“未知”

从客户端断开。

断开(mavlink)

这个例子展示了如何连接MAVLink客户,检查主题列表,连接,和客户,通过UDP端口发送消息使用MAVLink通信协议。

连接到一个MAVLink客户机使用“common.xml”方言。这个本地客户端通过UDP端口与任何其他客户。

方言= mavlinkdialect (“common.xml”);mavlink = mavlinkio(方言);连接(mavlink“UDP”)
ans = " Connection1 "

你可以列出所有的活跃客户,连接,和主题MAVLink连接。目前,只有一个客户端连接,没有话题收到了消息。

listClients (mavlink)
ans =1×4表_______________________ SystemID ComponentID组件类型AutopilotType ________……* * * 255 1“MAV_TYPE_GCS”“MAV_AUTOPILOT_INVALID”
listConnections (mavlink)
ans =1×2表___________________ ConnectionName ConnectionInfo * * *“Connection1”“UDP@0.0.0.0:35057”
listTopics (mavlink)
ans = 0 x5空表

在客户机上创建一个用户接收消息。这个用户监听“心跳”消息ID等于话题0

子= mavlinksub (mavlink 0);

创建一个“心跳”信息使用mavlinkdialect对象。指定负载信息和发送消息MAVLink客户机。

味精= createmsg(方言,“心跳”);msg.Payload.type (:) = enum2num(方言,“MAV_TYPE”,“MAV_TYPE_QUADROTOR”);sendmsg (mavlink、味精)

从客户端断开连接。

断开(mavlink)

版本历史

介绍了R2019a