此页面由 AI 自动翻译。查看英文原版

OAK USB 部署指南

OAK USB 相机使用 USB-C 线缆进行供电和数据传输。它们支持 USB2 或 USB3(高达 10 Gbps),并连接到主机计算机。
请按照以下说明安装依赖项:

macOS & Windows

无需安装脚本。

Linux

执行以下命令在 Linux 系统上设置 udev 规则:
Command Line
1echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
2sudo udevadm control --reload-rules && sudo udevadm trigger
如果遇到任何问题,请参阅 安装文档
请使用 USB3 USB-C 线缆以获得最大带宽。主机可以为设备供电,但建议使用外部电源。请参阅 为 OAK 设备供电 此处USB3 线缆通常在 USB-A 连接器内部是蓝色的。如果不是蓝色,它可能是一根 USB2 充电线缆。
DepthAI 会扫描 USB 设备,上传固件/管道/资源,然后启动管道。最快的测试方法是使用 OAK Viewer。如果它能找到设备并流式传输帧,则表示连接正常工作。

调试

如果您看到 RuntimeError: No available devices,则表示 DepthAI 未找到设备。请确认电源和 USB3 连接,然后使用下面的选项卡。我们建议在进行任何故障排除之前,使用最新版本的 depthai

lsusb

执行 lsusb | grep 03e7 时,您应该会看到类似以下的一行:
Command Line
1$ lsusb | grep 03e7
2Bus 001 Device 120: ID 03e7:2485 Intel Movidius MyriadX
3# 或者,如果设备已启动,您应该会看到:
4# Bus 001 Device 001: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick]
如果您使用 lsusb -v,当设备等待连接时,它将显示 USB 速度为 480 Mb/s。连接到设备后,depthai 将上传固件,速度将更改为 5 Gb/s(如果 USB3 可用)。如果已刷写引导加载程序,设备可以先枚举为引导加载程序:
Command Line
1Bus 003 Device 038: ID 03e7:f63c Intel Luxonis Bootloader
FFC 样式设备(OAK-FFC 4P/3P/...)可以刷写引导加载程序,但并非必需。在未刷写引导加载程序的普通设备上,您应该只在应用程序启动后才能看到设备(没有引导加载程序条目)。应用程序启动时,它会重新枚举为:
Command Line
1Bus 002 Device 032: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick]
只有启动后的设备才会枚举为 USB3。如果应用程序启动后仍保持 USB2 速度,最常见的原因是主机端的 USB 端口或线缆。请尝试使用不同的 USB3 端口、更短的线缆或供电的 USB3 集线器。当您将 OAK 相机连接到主机时,运行 dmesg -w。您应该会在终端中看到类似以下的输出:
Command Line
1/~$ dmesg -w
2
3[223940.862544] usb 1-3.2: new high-speed USB device number 120 using xhci_hcd
4[223940.963357] usb 1-3.2: New USB device found, idVendor=03e7, idProduct=2485, bcdDevice= 0.01
5[223940.963364] usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
6[223940.963368] usb 1-3.2: Product: Movidius MyriadX
7[223940.963371] usb 1-3.2: Manufacturer: Movidius Ltd.
8[223940.963373] usb 1-3.2: SerialNumber: 03e72485

为 OAK 相机供电

USB3 可提供高达 900mA 的电流,而 USB2 可提供高达 500mA 的电流。OAK 相机根据型号和当前工作负载,消耗的电流在 500mA 到 900mA 之间。 Pro 版设备根据红外投影仪和红外照明 LED 的使用情况,峰值功耗可达 15W。 这也取决于主机。有些计算机的 USB 控制器功率不足(例如,像 RaspberryPi 这样的 SBC,其 eFuse 为 1.2A)。 主机的 USB 控制器还会影响您可以使用多长的 USB 线缆,因为较长的线缆电阻较大,电压下降更多。 如果您出现以下情况,则应为 OAK 相机外部供电:
  • 您有连接到 RPi USB 端口的其他 USB 设备,这些设备 消耗的电流过大。总共,RPi 可提供 1.2A 的电流,因此如果所有 USB 设备消耗的电流超过 1.2A,就会发生欠压。
  • 您使用的是 OAK 相机的 Pro 版本,该版本具有红外激光点 投影仪和红外照明 LED。
我们始终建议通过以下方式为 OAK 相机外部供电:
  • 桶形插孔 - 在具有桶形插孔的设备上(OAK-DOAK-FFC 4POAK-FFC 3P
  • 供电的 USB3 集线器
  • 使用 Y 型适配器
  • 对于 Pro 设备,需要使用 Y 型适配器和 15W 电源适配器 以提供足够的功率。
原因是 OAK 会出现电流峰值(尤其是在使用视频编码器和运行 AI 推理时),高达 2W,这可能导致欠压。

Linux udev 规则

Linux 需要一个 udev 规则才能允许非 root 用户访问 USB 设备。如果未设置权限, depthai 将会抛出类似以下的错误:
Command Line
1[warning] Insufficient permissions to communicate with X_LINK_BOOTED device having name "2.8". Make sure udev rules are set
必须设置以下规则才能允许访问 USB 设备:
Command Line
1echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
2sudo udevadm control --reload-rules && sudo udevadm trigger

使用 USB2

如果您使用的是 USB2 线缆/USB2 端口,线缆存在问题(例如 USB3 线缆损坏),或者使用的是较长的线缆(例如超过 2.5 米), 您可能会遇到类似 X_LINK_COMMUNICATION_NOT_OPENX_LINK_ERROR 的错误。在这种情况下,一种解决方法是强制使用 USB2 通信。这将向设备上传 USB2 版本的固件,并将通信速度限制为 USB2。要强制进入 USB2 模式,请在创建 dai.Device 对象时将 maxUsbSpeed=dai.UsbSpeed.HIGH 设置为:
Python
1import depthai as dai
2pipeline = dai.Pipeline()
3# 填充您的 pipeline 节点
4# 强制 USB2 通信
5with dai.Device(maxUsbSpeed=dai.UsbSpeed.HIGH) as device:
6    # ...
连接并上传管道后,连接应稳定,延迟应较低(低于 0.5 秒),USB3 下行链路应约为 2.5 Gbps。

调试

如果应用程序停止工作或通信速度缓慢,请参阅下面的调试选项卡。

Connection drop

如果连接在一段时间后中断,可能有几个潜在问题导致此现象。

Device crash

设备可能因固件或用户应用程序中的错误而崩溃。如果存在固件错误或(用户定义的)管道问题,将生成 崩溃报告,您应将其发送给我们(support@luxonis.com)。如果在运行上述链接脚本时未找到崩溃报告,则表示是电源问题、 连接中断(或不太可能是硬件问题)。或者,从 depthai 2.28.0 开始,默认启用自动崩溃报告生成。这将把崩溃报告发送到 Luxonis 服务器,并包含:
  • 崩溃转储本身
  • 管道配置
  • depthai 版本
  • 主机操作系统版本(MacOS/Linux/Windows)
包含任何用户数据、图像或 NN 模型。但它确实包含 Script 节点代码。如果您希望禁用自动崩溃报告生成,可以通过将环境变量 DEPTHAI_DISABLE_CRASHDUMP_COLLECTION 设置为 1 来实现。

Power issue

这是一个相当常见的问题,通常是由于 USB 控制器无法为设备提供足够的电力。它可能工作一段时间,然后由于随机的电源尖峰而崩溃。请阅读上面关于如何正确为设备供电的部分(“初始连接 > 为 OAK 相机供电”)。

Communication issue

如果设备在移动(例如在移动机器人上)且 USB 线未正确固定,这也可能是一个常见问题。可能会发生 USB 线瞬间中断(断开连接),导致设备中断连接。如果发生这种情况,我们建议使用带螺丝锁定的 USB3 数据线(Amazon 链接)。

低速 / 高延迟

如果您注意到 FPS 低和/或消息延迟高,您应该检查以下内容:
  1. OAK 带宽测试 - 使用 USB3 时应约为 2.5/1.0 Gbps
  2. OAK 延迟测试 - 应低于 5ms
如果您获得的带宽/延迟低于预期,您应该查看 低延迟文档
成功部署设备后,您可以使用以下资源进一步了解软件生态系统:
  1. 软件文档
  2. DepthAI 代码示例