# MAVLink 外围设备(GCS/OSD/同伴)

地面控制站 (GCS)、屏幕显示 (OSD)、配套计算机、ADS-B 接收器和其他 MAVLink 外围设备通过不同的串行端口发送单独的 MAVLink 数据流,与 PX4 进行交互。

为了配置特定串行端口用于与特定外设进行 MAVLink 通信,我们使用 串行端口配置将抽象的 MAVLink 实例配置参数之一分配给所需的端口。然后,我们使用与所选 MAVLink 实例相关的参数设置 MAVLink 通道的其他属性,使其符合特定外设的要求。

最相关的参数描述如下(全套参数列于 参数参考 > MAVLink).

为了给串行端口分配一个特定的外设,我们使用了 "串行端口 "的概念。 MAVLink 实例.

每个 MAVLink 实例代表一个特定的 MAVLink 配置,您可以将其应用于特定的端口。在撰写本文时,三个 MAVLink 实例 定义,每个参数 MAV_X_CONFIG其中 X 为 0、1、2。

每个实例都有相关参数,可用于定义该端口上实例的属性,如流报文集(见 MAV_X_MODE 下同)、数据传输速率 (MAV_X_RATE),传入流量是否转发给其他 MAVLink 实例 (MAV_X_FORWARD) 等等。

备注

MAVLink 实例是特定 MAVLink 配置的抽象概念。名称中的数字没有任何意义;您可以为任何端口分配任何实例。

每个实例的参数为

  • MAV_X_CONFIG - 为该实例设置串行端口(UART)"X",其中 X 为 0、1、2。它可以是任何未使用的端口,例如 TELEM2, TELEM3, GPS2 等等。更多信息,请参见 串行端口配置.

  • MAV_X_MODE - 指定遥测模式/目标(当前实例的信息流集合及其速率)。默认值为

    • 正常:全球监控系统的标准信息集。
    • 定制魔术:无(在 PX4 默认实现中)。开发新模式时,模式可用于测试。
    • 机载:配套计算机的标准信息集。
    • OSD:OSD 系统的标准信息集。
    • 配置:快速链接(如 USB)的标准信息和速率配置。
    • 最低限度:最小报文集,用于连接高延迟链路上的全球监控系统。
    • ExtVisionExtVisionMin:用于机载视觉系统的信息(VIO 需要 ExtVision)。
    • 铱星:信息 铱星卫星通信系统.

    备注

    如果您需要查找每种模式的特定信息集,请搜索 MAVLINK_MODE_/src/modules/mavlink/mavlink_main.cpp (打开新窗口).

    TIP

    模式定义了 默认 信息和速率。已连接的 MAVLink 系统仍可通过以下方式请求所需的数据流/速率 mav_cmd_set_message_interval (打开新窗口).

  • MAV_X_RATE - 设置最大 数据速率 字节/秒)。

    • 这是所有单个信息流的综合速率(如果总速率超过此值,单个信息的速率会降低)。
    • 默认设置一般是可以接受的,但如果遥测链路饱和,丢弃的信息过多,则可以降低默认设置。
    • 数值为 0 时,数据传输速率为理论值的一半。
  • MAV_X_FORWARD - 将当前实例接收到的 MAVLink 数据包转发到其他接口。例如,这可用于在 GCS 和配套计算机之间传输信息,以便 GCS 可以与连接到配套计算机的启用 MAVLink 的摄像机通话。

接下来,您需要为上面分配的串行端口设置波特率(在 MAV_X_CONFIG).

TIP

您需要重新启动 PX4 才能使用该参数(即在 QGroundControl 中)。

使用的参数取决于 指定的串行端口 - 例如 SER_GPS1_BAUD, SER_TEL2_BAUD等。使用的值取决于连接类型和所连接 MAVLink 外围设备的功能。

# TELEM1

电话 1 端口几乎总是默认配置为 GCS 遥测流("Normal")。

为了支持这一点,有一个 默认串行端口映射 如下所示:

# TELEM2

电话 2 端口,通常默认配置为配套计算机遥测数据流("Onboard")。

为了支持这一点,有一个 默认串行端口映射 如下所示:

# 以太网

具有以太网端口的 Pixhawk 5x 设备(及更高版本)默认将其配置为连接到 GCS:

在这个硬件上,有一个 默认串行端口映射 如下所示:

欲了解更多信息,请参阅 PX4 以太网设置

# 另请参见