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设置上述“示例”配置:
-
使用 USB 线将飞行控制器连接到计算机。
-
打开QGroundcontrol > 分析工具 > MAVLink 控制台
-
在MAVLink 控制台中输入类似下面的命令(将值写入配置文件):
echo DEVICE=eth0 > /fs/microsd/net.cfg
echo BOOTPROTO=fallback >> /fs/microsd/net.cfg
echo IPADDR=10.41.10.2 >> /fs/microsd/net.cfg
echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg
echo DNS=10.41.10.254 >>/fs/microsd/net.cfg -
一旦设置了网络配置,您就可以断开 USB 电缆。
-
重新启动飞行控制器以应用设置。
请注意,上述设置已为飞行控制器提供了以太网地址。您还需要配置以太网端口以使用 MAVLink。
PX4 MAVLink 串行端口配置
以太网端口配置设置了串行链路的属性(即 PX4 如何查看以太网连接)。这包括流式传输的 MAVLink 消息集、数据速率、远程系统可以连接监听的 UDP 端口等。
您必须单独配置 PX4 IP 地址和其他网络设置。
PX4 配置串行端口通过 MAVLink 连接到 GCS,使用以下显示的参数:
| 范围 | 价值 | 描述 |
|---|---|---|
| MAV_2_CONFIG | 1000 | 配置以太网端口 |
| MAV_2_BROADCAST | 1 | 广播HEARTBEAT消息 |
| MAV_2_MODE | 0 | 发送“正常”的 MAVLink 消息集(即 GCS 设置) |
| MAV_2_RADIO_CTL | 0 | 禁用 MAVLink 流量的软件限制 |
| MAV_2_RATE | 100000 | 最大发送速率 |
| MAV_2_REMOTE_PRT | 14550 | MAVLink 远程端口 14550 (GCS) |
| MAV_2_UDP_PRT | 14550 | MAVLink 网络端口 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)