跳到主要内容

5.1.1 PX4 以太网及串口设置

PX4 以太网设置​

以太网连接提供了一种比使用 USB 或其他串行连接更快、更可靠、更灵活的通信替代方案。

它可用于连接地面站、配套计算机和其他 MAVLink 系统。尤其推荐用于连接“原生”使用以太网的系统(例如 IP 无线电)。

PX4 使用netman模块来应用和更新网络设置。

默认配置会首先从 DHCP 请求 IP 地址,如果请求失败,则会回退到默认的静态地址10.41.10.2。您可以明确设置任何静态 IP 地址(包括默认地址),以绕过初始 DHCP 检查,从而加快连接速度。

提示

如果您想使用 PX4 的默认静态 IP 地址,您可以跳到下一部分。

网络设置在 SD 卡上的配置文件中定义/fs/microsd/net.cfg。这是一个文本文件,每行一个设置,每个设置对应一个name=value配置文件。配置文件可能如下所示:

DEVICE=eth0
BOOTPROTO=fallback
IPADDR=10.41.10.2
NETMASK=255.255.255.0
ROUTER=10.41.10.254
DNS=10.41.10.254

其中的值为:

  • DEVICE:接口名称。默认为eth0。
  • BOOTPROTO:获取 PX4 IP 地址的协议。proto 的有效值为:dhcp、static、fallback(使用 DHCP,但如果失败,则过一段时间后恢复为静态地址)
  • IPADDR:静态 IP 地址(如果 BOOTPROTO 为static或 则使用fallback)
  • NETMASK:网络掩码
  • ROUTER:默认路由的地址。
  • DNS:DNS服务器的地址。

要使用QGroundControl设置上述“示例”配置:

  1. 使用 USB 线将飞行控制器连接到计算机。

  2. 打开QGroundcontrol > 分析工具 > MAVLink 控制台

  3. 在MAVLink 控制台中输入类似下面的命令(将值写入配置文件):

    echo DEVICE=eth0 > /fs/microsd/net.cfg
    echo BOOTPROTO=static >> /fs/microsd/net.cfg
    echo IPADDR=192.168.127.11 >> /fs/microsd/net.cfg
    echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
    echo ROUTER=192.168.127.1 >>/fs/microsd/net.cfg
    echo DNS=192.168.127.1 >>/fs/microsd/net.cfg
  4. 一旦设置了网络配置,您就可以断开 USB 电缆。

  5. 重新启动飞行控制器以应用设置。

请注意,上述设置已为飞行控制器提供了以太网地址。您还需要配置以太网端口以使用 MAVLink。

以太网端口配置设置了串行链路的属性(即 PX4 如何查看以太网连接)。这包括流式传输的 MAVLink 消息集、数据速率、远程系统可以连接监听的 UDP 端口等。

信息

您必须单独配置 PX4 IP 地址和其他网络设置。

PX4 配置串行端口通过 MAVLink 连接到 GCS,使用以下显示的参数:

范围价值描述
MAV_2_CONFIG1000配置以太网端口
MAV_2_BROADCAST1广播HEARTBEAT消息
MAV_2_MODE0发送“正常”的 MAVLink 消息集(即 GCS 设置)
MAV_2_RADIO_CTL0禁用 MAVLink 流量的软件限制
MAV_2_RATE100000最大发送速率
MAV_2_REMOTE_PRT14550MAVLink 远程端口 14550 (GCS)
MAV_2_UDP_PRT14550MAVLink 网络端口 14550(GCS)

通常情况下,配套计算机会使用端口14540(而不是14550)并传输配置文件中指定的 MAVLink 消息集Onboard。您可以通过将MAV_2_REMOTE_PRT和MAV_2_UDP_PRT更改为,14540并将MAV_2_MODE更改为2(Onboard) 来配置此设置。但请注意,使用 GCS 配置文件仍可正常工作。

有关 MAVLink 串行端口配置的更多信息,请参阅MAVLink 外围设备(GCS/OSD/Companion)