以太网连接载具示例¶
这是为了说明实际的 ArduPilot 以太网飞行器及其设置。示例飞行器将包括一个高清视频稳定云台,可将视频传输到地面控制器,以及一个远程无线电控制系统,地面控制器可显示高清视频、提供飞行器控制、显示飞行器遥测数据、控制云台和摄像头,以及向其他地面控制站(如笔记本电脑)进行转播。使用的是运行 ArduPilot 4.5 的以太网(飞行)控制器。
系统配置¶
所用设备¶
(本文由 CUAV、SIYI、CubePilot 和 BotBlox 捐赠) - 来自 CubePilot 的 Hexsoon EDU650 多旋翼飞行器 - CUAV Pixhawk V6X - SIYI A8 迷你云台/高清摄像机 - CUAV Herelink 无人机遥控系统 - BotBlox ArduPilot 以太网交换机
注意:许多其他品牌的云台/相机/无线电控制系统/(飞行)控制器都具有以太网功能,可用于类似的配置 # 以太网连接 由于系统中有 2 个以上的以太网设备,因此它是一个真正的网络,为了提供互联性,需要使用以太网交换机。它构成了系统的 "心脏"。在本例中,它是一个专为 ArduPilot 应用程序设计的小型 BotBlox 交换机,配有方便的 JST_GH 1.25 毫米连接器:
万向节、(飞行)控制器和无线空中单元都插入其中,它们之间的以太网流量会自动路由。
(飞行)控制器基本设置¶
要在(飞行)控制器上启用以太网,需要设置以下参数(其他网络参数保持默认值):NET_ENABLE,1,然后重启,然后设置(飞行)控制器的 IP 地址,必须在 192.168.144.x 范围内,才能进入 Herelink 的监听范围:
NET_IPADDR0 = 192
NET_IPADDR1 = 168
NET_IPADDR2 = 144
NET_IPADDR3 = 26 <-任意选择,但不得为 11(Herelink 固定地址)
NET_NETMASK = 24 <-这表示我们所在的子网地址为 192.168.144.1 至 192.168.144.254
如果(飞行)控制器需要与此范围之外的 IP 地址通信,则会使用子网中的 "网关"......我们不会这样做,但仍需要进行设置:
NET_GWADDR0 = 192
NET_GWADDR1 = 168
NET_GWADDR2 = 144
NET_GWADDR3 = 1 <-子网网关的典型地址
现在(飞行)控制器的基本以太网已启用
云台相机设置¶
设置 CAM1_TYPE = 4,允许相机控制快门等。
必须将云台/摄像机设置为使用以太网进行视频流传输,并设置其 IP 参数。为此,请下载 SIYI 助理 并用它来设置以下内容:
保存并启动万向节。
这就将云台的 IP 地址设置在 Herelink 的监听范围内,以便直通地面控制器显示视频,并将其视频输出设置为以太网 H.264 编码流,供地面站解码。现在,摄像机将通过交换机在以太网上传输视频流,Herelink 空中单元将把视频流传输到地面控制器。
备注
截至本文撰写之时,SIYI A8 摄像机在以太网上的图像延迟时间约为 1 秒,因此无法将其用于实时 FPV 引导。我还将一根迷你 HDMI 电缆从 SIYI HDMI 端口连接到 Herelink 的 HDMI1 输入端,并在实际飞行时将 SIYI 助手中的信号源切换为 HDMI,而不是以太网(信号源 ="关闭")。SIYI 的其他云台或其他云台可能有或可能没有这个问题。此外,如果使用 HDMI 输入,Herelink Air Unit 还能更好地管理带宽。但该设置说明了在其他设备组合中使用的方法。
云台控制¶
通过以太网对云台的控制(摇镜头/俯仰镜头/摄像机启动/停止等)由(飞行)控制器完成,(飞行)控制器可解释 MAVLink 命令(也包括 AUX 开关输入)并将其发送至云台。首先,我们必须设置 ArduPilot 以控制云台/摄像机:
MNT1_TYPE = 8 选择 SIYI 安装类型
然后重新启动,查看所有 MNT 参数并进行设置:
MNT1_YAW_MAX = 135
MNT1_YAW_MIN = -135
这是 SIYI 能够容纳的偏航极限。
然后,我们需要建立一个以太网通信机制。使用 NET_P1 参数,我们将创建一个 "虚拟 "串行端口来与挂载/摄像机通信,就像使用 UART 一样(SIYI 也可以使用 UART 来代替以太网控制,但为什么要增加电线呢?)设置
NET_P1_TYPE = 1 <-端口的 UDP 客户端类型
重新启动以显示参数:
NET_P1_IP0 = 192
NET_P1_IP1 = 168
NET_P1_IP2 = 144
NET_P1_IP3 = 25 <-我们之前为云台设置的 IP 地址
NET_P1_PORT = 37260 <-这是 Gimbal 接收命令的端口
net_p1_protocol = 8 <-云台串行协议
现在,来自(飞行)控制器的云台/摄像机指令(MAVLink 或 AUX 功能转换为 SIYI 指令)将发送至 SIYI 云台
遥测设置¶
为了显示遥测数据并与 Herelink 地面控制器上运行的 GCS 应用程序进行 MAVLink 命令通信,我们必须建立一条从(飞行)控制器到 Herelink 空中单元的 MAVLink 通路。我们将使用以太网上的另一个 "虚拟 "串行端口(NET_P2)来实现(飞行)控制器与 Herelink 空中单元之间的通信:
NET_P2_TYPE = 1 <-UDP客户端
rebooot,以显示参数:
NET_P2_IP0 = 192
NET_P2_IP1 = 168
NET_P2_IP2 = 144
NET_P2_IP3 = 11 <-这是 Herelink 空中装置的 IP 地址
NET_P2_PORT = 14550 <-在该端口上
net_p2_protocol = 2 <-使用 MAVLink2 协议
现在,遥测数据将从 Herelink 地面装置发送到 Herelink。在地面控制器上打开 GCS 应用程序,就会自动连接到 UDP 遥测数据流。
Herelink 地面控制器¶
根据原始设备制造商的说明设置接地装置。 Herelink 用户指南
QGC 视频设置¶
使用 QGC 应用程序时,要查看 Herelink 地面控制器上的视频流,请进入应用程序设置/视频设置,选择 RSTP 源并输入此 URL:"rstp://192.168.144.25:8554/main.264"视频现在应该会出现在 QGC 中。同样,其他 GCS 应用程序也可以使用此源来显示视频。
备注
如果决定使用 HDMI(推荐),则将 QGC 中的设置保留为默认的 "自动连接视频流 "设置
巴别塔物理布线¶
设备之间的物理互连是一项挑战。大多数设备供应商都会提供某种方式,将以太网电缆从设备中引出。遗憾的是,这通常需要提供带有大型 RJ-45 公头或母头插头/插孔的电缆,因此需要使用笨重的 CAT5 电缆进行互连。而使用较小规格导线连接 RJ-45 终端的设备端则使用非标准化连接器,有时是 5 针,有时是 4 针 JST-GH。
借助像 BotBlox 适配器这样的设备(它将许多常用的连接器并联在一起),通常可以在工作台上安装一套庞大的设备进行测试:
但这在实际载具使用中并不可行。在这种情况下,我制作了带有 JST-GH 接头的 6 英寸小电缆。要做到这一点,可以为每个引脚数获取相应的预制电缆,然后将它们剪断并焊接在一起,或者直接使用像这样的 JST-GH 连接器套件来制作:
这是我做的:
布线注意事项¶
如果电缆较短(~<12 英寸),则发送和接收不必使用双绞线。
28 号线即可
以太网设备互联时,主机(在我们的例子中为(飞行)控制器、万向节和 Herelink)通过 "交叉布线 "连接到交换机,即设备 TX 线对连接到交换机上的 RX 线对,反之亦然。在上述电缆中,您会注意到 SIYI 电缆是这样做的,但其他电缆不是。这是因为 CUAV (飞行)控制器和 Herelink 配备了先进的以太网 IC,可以自动检测布线是否为 "交叉",并在内部进行调整("自动 MDX")。而 SIYI 云台则没有。