网络#

在 Jetson Devkit 上,我们假设有两个可用的网络接口用于启用基于摄像头的系统。内置的 RJ-45 接口用于互联网连接,另一个接口(通过 USB 以太网适配器)用于通过连接的 PoE 交换机与摄像头设备通信(请参阅 AI-NVR 应用程序的硬件设置)。Jetson 有一个 systemd 服务 jetson-networking 来设置这两个接口。在 Jetson AGX Orin 上,RJ-45 接口名为 eno1,为了保持一致性,在 Orin Nx/Nano 上,JPS 也将 RJ-45 接口从 enP8p1s0 重命名为 eno1。安装 JPS 软件包后,您需要重启 Orin Nx/Nano,以便应用更改。在 Orin 系列上,USB 以太网接口应以可预测的方式命名,如 https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ 中所述。在下面的示例中,可预测的网络接口名称为 enx00808e8f9137。

enx00808e8f9137: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      inet 192.168.100.1  netmask 255.255.255.0  broadcast 192.168.100.255
      inet6 fe80::2e0:4cff:fe36:8f1f  prefixlen 64  scopeid 0x20<link>
      ether 00:e0:4c:36:8f:1f  txqueuelen 1000  (Ethernet)
      RX packets 156532  bytes 9721380 (9.7 MB)
      RX errors 0  dropped 0  overruns 0  frame 0
      TX packets 16287  bytes 707010 (707.0 KB)
      TX errors 0  dropped 0 overruns 0  carrier 0  collisions

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      inet 192.168.0.33  netmask 255.255.255.0  broadcast 192.168.0.255
      inet6 fe80::4ab0:2dff:fe81:4ad8  prefixlen 64  scopeid 0x20<link>
      ether 48:b0:2d:81:4a:d8  txqueuelen 1000  (Ethernet)
      RX packets 332785  bytes 36237215 (36.2 MB)
      RX errors 0  dropped 0  overruns 0  frame 0
      TX packets 157048  bytes 11475164 (11.4 MB)
      TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在启用 jetson-networking 服务之前,您需要编辑 /opt/nvidia/jetson-configs/jetson-camif.conf,并将 eth1 替换为您系统上正确的摄像头接口名称,例如 enx00808e8f9137。

# Camerinterfaces
# List the camera interfaces as a Bash arrry, ex:
# CAMERA_INTERFACES=("PoE0" "PoE1" "PoE2")
CAMERA_INTERFACES=("eth1")

如果您使用的是基于 Jetson Orin 模块构建的第三方平台,则系统可能具有多个用于摄像头的以太网接口。请咨询平台供应商以获取摄像头接口名称。NVIDIA 建议平台供应商通过如下 udev 重命名摄像头接口,以便接口名称在重启后保持不变。

ACTION=="add", SUBSYSTEM=="net", KERNELS=="0005:03:00.0", NAME:="PoE0"
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0005:04:00.0", NAME:="PoE1"
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0005:05:00.0", NAME:="PoE2"

在这种情况下,jetson-camif.conf 将如下所示

CAMERA_INTERFACES=("PoE0" "PoE1" "PoE2")

使用以下命令启用 jetson-networking 服务

sudo systemctl enable jetson-networking

您需要重启设备,以便正确应用相关的网络管理器配置。

DHCP 服务器正在摄像头接口上运行,为摄像头设备提供 IP 地址。地址池从 192.168.100.150 开始。您可以使用命令 dhcp-lease-list --lease /run/jetson/networking/jetson-dhcp-server.leases 检查 IP 地址分配,如下所示

ubuntu@tegra-ubuntu:~$ dhcp-lease-list --lease /run/jetson/networking//jetson-dhcp-server.leases
To get manufacturer names please download http://standards.ieee.org/regauth/oui/oui.txt to /usr/local/etc/oui.txt
Reading leases from /run/jetson/networking//jetson-dhcp-server.leases
MAC                IP              hostname       valid until         manufacturer
===============================================================================================
00:00:1b:04:e5:13  192.168.100.151 -NA-           2023-11-27 05:49:46 -NA-
68:6d:bc:7d:7d:c7  192.168.100.150 DEFAULT        2023-11-27 05:45:29 -NA-

注意

在 Jetson AGX Orin 和 Orin Nx 上,建议使用 USB 以太网适配器作为摄像头接口。

注意

在启动 jetson-networking 服务之前,请确保摄像头接口的链路已启动,否则该服务可能无法设置 DHCP 服务器。